Wireless sensor network with 6LoWPAN

Piotr Grzesik

Promotor: dr hab. inż. Dariusz Mrozek

Promotor pomocniczy: dr inż. Piotr Czekalski

Agenda

  1. What is 6LoWPAN?
  2. TCP/IP vs 6LoWPAN protocol stack
  3. 6LoWPAN network example
  4. First attempt at building a 6LoWPAN network with ESP32
  5. Second attempt at building a 6LoWPAN network with CC2650 and CC2531
  6. 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
Made with Slides.com