Wireless sensor network with 6LoWPAN
Piotr Grzesik
Promotor: dr hab. inż. Dariusz Mrozek
Promotor pomocniczy: dr inż. Piotr Czekalski
Agenda
- What is 6LoWPAN?
- TCP/IP vs 6LoWPAN protocol stack
- 6LoWPAN network example
- First attempt at building a 6LoWPAN network with ESP32
- Second attempt at building a 6LoWPAN network with CC2650 and CC2531
- Next steps and future plans
What is 6LoWPAN?
- IPv6 over low-power wireless personal area network
- Allows sending IPv6 packets over networks based on IEEE 802.15.4, defined in RFC 4944
- Devices that are using 6LoWPAN are usually low cost, low power and require low data transmission
- Header compression introduced in RFC 6282
- Neighbor discovery optimizations introduced in RFC 6775
- IPv6 over BLE introduced in RFC 7668
TCP/IP vs 6LoWPAN protocol stack
Source: https://www.researchgate.net/publication/235724907_The_Web_of_Things_-_Challenges_and_Enabling_Technologies
6LoWPAN network example
Source: http://www.libelium.com/wp-content/themes/libelium/images/content/products/mote-runner/diagrama_networking_mote_runner.png
First attempt
- Jetson Nano as the border router
- ESP32 as nodes
- Implementation based on 6LoWPAN over BLE
- Goal: Evaluate possibility of developing low-cost 6LoWPAN network with ESP32
Jetson Nano
- GPU: 128-core NVIDIA GPU
- CPU: Quad-core ARM A57
- Memory: 4 GB 64-bit LPDDR4
- OS: Linux
ESP32
- CPU Tensilica Xtensa LX6 // 160 or 240 MHz
- ULP co-processor
- 520 KiB SRAM
- Bluetooth v4.2 support
Second attempt
- Jetson Nano as the border router, based on https://github.com/cetic/6lbr/wiki
- CC2531 as slip radio for border router
- CC2650 as 6LoWPAN node
- Implementation uses ContikiOS
- Goal: Evaluate possibility of building a 6LoWPAN network based on listed hardware and ContikiOS
CC2531
- SoC based on 8051 uC, designed for solutions based on IEEE 802.15.4
CC2650
- Multi-standard 2.4 GHz ultra-low power wireless MCU
- Supports Bluetooth, ZigBee® and 6LoWPAN, and ZigBee RF4CE
- 32-bit ARM Cortex-M3 @ 48 MHz + separate ARM Cortex-M0
- Platform supported by Contiki OS
Contiki OS
- Operating system for resource-constrained IoT devices
- Support for 6LoWPAN
- Code footprint in order of 100 kB
- Open source project - BSD 3-Clause License
- Source code - https://github.com/contiki-ng/contiki-ng
Future plans
- More nodes - CC2650 SensorTag
- Alternative network based on nRF52
- Test solution with border router based on Raspberry PI
- Measure network behavior in different conditions
- Analytics on the edge with Jetson Nano
Copy of Evaluation of Key-Value Stores for Distributed Locking Purposes
By progressive
Copy of Evaluation of Key-Value Stores for Distributed Locking Purposes
- 637