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
- 824