RF and network basics. Antonio Liñán Colina

Similar documents
Mobile Communications

Lesson 4 RPL and 6LoWPAN Protocols. Chapter-4 L04: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Secure routing in IoT networks with SISLOF

Communication and Networking in the IoT

IoT Roadmap in the IETF. Ines Robles

IPv6 Stack. 6LoWPAN makes this possible. IPv6 over Low-Power wireless Area Networks (IEEE )

AIM: To create a project for implement a wireless communication protocol on an embedded system- ZigBee.

Lesson 5 TCP/IP suite, TCP and UDP Protocols. Chapter-4 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Study of RPL DODAG Version Attacks

INESC TEC. Centre for Telecomunications and Multimedia. 21 March Manuel Ricardo. CTM Coordinator

Networked Embedded Systems: 6LoWPAN

Networked Embedded Systems: 6LoWPAN

Politecnico di Milano Advanced Network Technologies Laboratory. 6LowPAN

ns-3 RPL module: IPv6 Routing Protocol for Low power and Lossy Networks

Optimizing Routing Protocol for Low power and Lossy Network (RPL) Objective Function for Mobile Low-Power Wireless Networks

Integration of Wireless Sensor Network Services into other Home and Industrial networks

System Architecture Challenges in the Home M2M Network

Implementation of Gradient Routing in WSNs

The Internet of Things. Thomas Watteyne Senior Networking Design Engineer Linear Technology, Dust Networks product group

Principles of Wireless Sensor Networks

A Performance Evaluation of RPL in Contiki

The challenges of networking in Wireless Sensor Networks!

Lithe: Lightweight Secure CoAP for the Internet of Things

RPL: Routing for IoT. Bardh Prenkaj Dept. of Computer Science. Internet of Things A.A

Enhancing Routing Protocol for Low Power and Lossy Networks

WIRELESS TECHNOLOGIES FOR THE INTERNET OF THINGS

Internet of Things 2017/2018

ZigBee IP update IETF 87 Berlin. Robert Cragie

Interoperability. Luca Mottola slides partly by Simon Duquennoy. Politecnico di Milano, Italy and Swedish Institute of Computer Science

Routing in the Internet of Things (IoT) Rolland Vida Convergent Networks and Services

Evaluation of 6LoWPAN Implementations

Integrating Custom Hardware into Sensor Web. Maria Porcius Carolina Fortuna Gorazd Kandus Mihael Mohorcic

Wireless Sensor Networks Module 2: Routing

Lithe: Lightweight Secure CoAP for the Internet of Things

Linux-based 6LoWPAN border router

Guide to Wireless Communications, 3 rd Edition. Objectives

Implementation of SNMP Protocol with ContikiOS [Kur10] for WSN430 targets

Network protocol for Internet of Things based on 6LoWPAN

Outline. TWR Module. Different Wireless Protocols. Section 7. Wireless Communication. Wireless Communication with

EVALUATING THE FUNCTIONALITY OF AN INDUSTRIAL INTERNET OF THINGS SYSTEM

Product Description. Applications. Features

Internet of Things: Latest Technology Development and Applications

Towards Wireless Sensor Network Softwarization

Linux-wpan: IEEE and 6LoWPAN in Linux

Reliable Wireless Sensor Networks in Smart Homes Master of Science Thesis in Programme Computer Systems and Networks.

Leveraging upon standards to build the Internet of Things

Wireless Sensor Networks for Spacecraft DAMON PARSY, CEO OF BEANAIR

RPL- Routing over Low Power and Lossy Networks

Design and Analysis of Routing Protocol for IPv6 Wireless Sensor Networks

Towards a Zero-Configuration Wireless Sensor Network Architecture for Smart Buildings

Module Introduction. This training module provides an overview of Freescale s scalable solutions for low data rate 2.4 GHz connectivity.

This is a repository copy of Congestion-aware RPL for 6L0WPAN networks.

Comprehensive Performance Analysis of RPL Objective Functions in IoT Networks.

BLE WiFi Gateway. Model: G1. Version: V Contents. Contents Overview... 2

6TiSCH Interoperability Test Description

Improving the Energy Efficiency of WSN by Using Application-Layer Topologies to Constrain RPL-defined Routing Trees

New Real Evaluation Study of Rpl Routing Protocol Based on Cortex M3 Nodes of Iot-Lab Test Bed

Principles of Wireless Sensor Networks

Outline. Introduction. The Internet Architecture and Protocols Link Layer Technologies Introduction to 6LoWPAN The 6LoWPAN Format Bootstrapping

RN-174. WiSnap M2 Super Module. Features. Description. Applications. ~ page 1 ~ rn-174-ds v1.1 6/1/2011

INTERNATIONAL JOURNAL OF COMMUNICATIONS Volume 12, Performance comparative analysis of LOADing-CTP and RPL routing protocols for LLNs

Lab 1: Packet Sniffing and Wireshark

Indriya_DP_03A14. Features. Block Diagram. XBEE based Wireless Sensor Network development platform

Set of IP routers. Set of IP routers. Set of IP routers. Set of IP routers

A smart Home Security system based on ARM9

Routing over Low Power and Lossy Networks

IoT Intro. Fernando Solano Warsaw University of Technology

Chapter 16 Networking

CHAPTER 3. 6LoWPAN 3.1 INTRODUCTION

Routing Protocols in Internet of Things. Charlie Perkins December 15, 2015 with a few slides originated by Pascal

Conference Paper. Cyber-OF: An Adaptive Cyber-Physical Objective Function for Smart Cities Applications

User Guide Sentrius RG1xx. Version 1.1

Zigbee protocol stack overview

IPv6 for the Masses (Of sensors)

BLE MODULE SPECIFICATIONS

A Dinamic Multi-Layer Self-Healing Algorithm for WSN using Contiki OS

6LoWPAN (IPv6 based Low Power WPAN)

A communication stack over PLC for multi physical layer IPv6 Networking

Wireless Sensor Networks

Communication stacks: Constrained Application Protocol

Wireless communication standards: What makes them unattractive for WSN:

TTCN-3 in the Internet of Things(IoT), Testing in lossy environments

Politecnico di Milano Advanced Network Technologies Laboratory. 6LowPAN

RN-134. WiFly GSX Super Module SuRF Board. Features. Description. Applications. ~ page 1 ~ rn-134-ds v1.

Principles of Wireless Sensor Networks. Medium Access Control and IEEE

WPAN/WBANs: ZigBee. Dmitri A. Moltchanov kurssit/elt-53306/

RN-174. WiFly GSX Super Module. Features. Description. Applications. rn-174-ds v1.1 4/20/2011

RN-174. WiFly GSX Super Module. Features. Description. Applications. rn-174-ds v1.1 3/3/2011

Wireless Sensor Networks

Sub-1GHz 6LoWPAN Development kit. User s Guide

Technical Report. Fast%mobility%support%in%low1power%wireless% networks:%smart1hop%over%rpl/6lowpan% Daniel Moreira

The IoT and Thread in PHYTEC Nodes. Jonas Remmert July 15th, 2016

Reindeer Technologies Pvt Ltd Excellence through Innovation

SDCI Student Project 6 Sensing Capabilites Go Wireless. Mario Caruso Francesco Leotta Leonardo Montecchi Marcello Pietri

A Low-Power CoAP for Contiki

KW2XD REFERENCE DESIGNS

Running a simple 6LowPAN network consisting of one receiver node and one or more sensor nodes in a Sub-1GHz RF band

Constrained Application Protocol (CoAP) Vilen Looga, M.Sc. Doctoral

By Nick Giannaris. ZigBee

IoT Standardization Process and Smart IoT

Transcription:

RF and network basics Antonio Liñán Colina

Architectures: 8-bit, 16-bit, 32-bit Open Source (source code openly available) IPv4/IPv6/Rime networking Devices with < 8KB RAM Typical applications < 50KB Flash Vendor and platform independent C language Developed and contributed by Universities, Research centers and industry contributors +10 years development

Zolertia RE-Mote

Zolertia RE-Mote (Zoul inside) ARM Cortex-M3, 32MHz, 32KB RAM, 512KB FLASH Double Radio: ISM 2.4GHz & 863-925MHz, IEEE 802.15.4-2006/e/g Hardware encryption engine and acceleration USB programing ready Real-Time Clock and Calendar Micro SD slot and RGB colors Shutdown mode down to 150nA USB 2.0 port for applications Built-in LiPo battery charger to work with energy harvesting and solar panels On-board RF switch to use both radios over the same RP-SMA connector Pads to use an external 2.4GHz over U.Fl connector, o solder a chip antenna

02-ipv6 examples/zolertia/tutorial/02-ipv6

HTTP, CoAP, MQTT, WebSockets Application TCP, UDP Transport IPv6/IPv4, RPL Network/Routing 6LoWPAN Adaptation CSMA/CA MAC (medium access control) ContikiMAC, CSL IEEE 802.15.4 Radio duty cycling (RDC) Radio (PHY) examples/zolertia/tutorial/02-ipv6

HTTP, CoAP, MQTT, WebSockets Application TCP, UDP Transport IPv6/IPv4, RPL Network/Routing 6LoWPAN Adaptation CSMA/CA MAC (medium access control) ContikiMAC, CSL IEEE 802.15.4 Radio duty cycling (RDC) Radio (PHY) examples/zolertia/tutorial/02-ipv6

examples/zolertia/tutorial/02-ipv6

Low-power radios Lowest power consumption respect to WiFI and alike Depending on the operating frequency it might have the same or longer wireless range than WiFI Slower data rate: 1.2kbps to 1Mbps, depending on the transceiver IEEE 802.15.4 standard defines operating modes according to countries regulations examples/zolertia/tutorial/02-ipv6

http://www.ti.com examples/zolertia/tutorial/02-ipv6

http://www.slideshare.net/techtsunami/cn-prt-iot-v1 examples/zolertia/tutorial/02-ipv6

http://www.slideshare.net/usmanusb/elements-of-iot-connectivity-technologies examples/zolertia/tutorial/02-ipv6

IEEE 802.15.4-2006/e, 2.4GHz channels (11-26) http://www.founten.com/ examples/zolertia/tutorial/02-ipv6

IEEE 802.15.4g MR-FSK https://dl.cdn-anritsu.com examples/zolertia/tutorial/02-ipv6

examples/zolertia/tutorial/02-ipv6

examples/zolertia/tutorial/02-ipv6

As the transmission power increases the wireless range should increase as well. examples/zolertia/tutorial/02-ipv6

https://github.com/alignan/ipv6-wsn-book examples/zolertia/tutorial/02-ipv6

How to improve the wireless range: Increase the transmission power Use antennas with higher gain Increase antenna s height Use directive antennas Try to orient the antennas examples/zolertia/tutorial/02-ipv6

Omnidirectiona Antena 2.4GHz 5dBi whip Yagi Directional antenna examples/zolertia/tutorial/02-ipv6

http://hackster.io/zolertia

HTTP, CoAP, MQTT, WebSockets Application TCP, UDP Transport IPv6/IPv4, RPL Network/Routing 6LoWPAN Adaptation CSMA/CA MAC (medium access control) ContikiMAC, CSL IEEE 802.15.4 Radio duty cycling (RDC) Radio (PHY) examples/zolertia/tutorial/02-ipv6

examples/zolertia/tutorial/02-ipv6

examples/rssi-scanner/rssi-scanner-cc2420.c

examples/zolertia/tutorial/02-ipv6

examples/zolertia/tutorial/02-ipv6

http://www.digikey.com/en/resources/conversion-calculators/conversion-calculator-battery-life

HTTP, CoAP, MQTT, WebSockets Application TCP, UDP Transport IPv6/IPv4, RPL Network/Routing 6LoWPAN Adaptation CSMA/CA MAC (medium access control) ContikiMAC, CSL IEEE 802.15.4 Radio duty cycling (RDC) Radio (PHY) examples/zolertia/tutorial/02-ipv6

examples/zolertia/tutorial/02-ipv6

examples/zolertia/tutorial/02-ipv6

examples/zolertia/tutorial/02-ipv6

The default prefix is FD00:: https://tools.ietf.org/html/draft-ietf-6lowpan-hc-06 core/net/ipv6/sicslowpan.c platforms/zoul/contiki-conf.h

HTTP, CoAP, MQTT, WebSockets Application TCP, UDP Transport IPv6/IPv4, RPL Network/Routing 6LoWPAN Adaptation CSMA/CA MAC (medium access control) ContikiMAC, CSL IEEE 802.15.4 Radio duty cycling (RDC) Radio (PHY) examples/zolertia/tutorial/02-ipv6

RPL: IPv6 Routing Protocol for Low power and Lossy Networks Directed Acyclic Graph (DAG) Destination Oriented DAG (DODAG) ICMPv6 control messages DAG Information Object (DIO): sends DODAG information downwards Destination Advertisement Object (DAO): sends destination information upwards DAG Information Solicitation (DIS): requests a DIO https://tools.ietf.org/id/draft-ietf-roll-rpl-19.txt examples/zolertia/tutorial/02-ipv6

1. Nodes periodically send link-local multicast DIO messages 2. Nodes listen for DIO and use their information to join a new DODAG, or to maintain an existing DODAG 3. Nodes may use a DIS message to solicit a DIO 4. Based on information in the DIO the node chooses parents that minimize path cost to the DODAG root https://tools.ietf.org/id/draft-ietf-roll-rpl-19.txt examples/zolertia/tutorial/02-ipv6

examples/zolertia/tutorial/02-ipv6

platforms/zoul/contiki-conf.h

HTTP, CoAP, MQTT, WebSockets Application TCP, UDP Transport IPv6/IPv4, RPL Network/Routing 6LoWPAN Adaptation CSMA/CA MAC (medium access control) ContikiMAC, CSL IEEE 802.15.4 Radio duty cycling (RDC) Radio (PHY) examples/zolertia/tutorial/02-ipv6

UDP: User Datagram Protocol IETF RFC 768 Minimal, unreliable, best-effort service Connectionless Best tailored for time-sensitive applications, as dropping packets is preferable to waiting for delayed packets Less energy-expensive (than TCP), lesser messages are required to be exchanged Used in DNS, DHCP, SNMP, RIP, OpenVPN, etc examples/zolertia/tutorial/02-ipv6

Connect two RE-Motes and program the example: make 01-udp-local-multicast.upload && make login examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

RE-Motes have 2 factory MAC addresses stored in its flash memory, it can be overriden platforms/zoul/contiki-conf.h examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

Sicslowpan (6LoWPAN implementation), CSMA and ContikiMAC (RDC) are enabled as default. NullRDC leaves the radio on, increasing the throughput at the cost of energy consumption. Recommended for testing only, or if the devices are not running on batteries examples/zolertia/tutorial/02-ipv6/project-conf.h examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/example.h examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

CH15 PANID 0xABCD PANID 0xBEEF PANID 0x1234 PANID ( ) PAN identifiers (PANID) allows the radio to filter out messages addressed to different PANs, allowing networks to share the same channel examples/zolertia/tutorial/02-ipv6/example.h examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

Structures to be used in the example: UDP and custom one for payload data The my_msg_t structure content An ID type if required Number of messages sent The core temperature will be stored here The ADC1 will be stored here The ADC2 will be stored here The ADC3 will be stored here The voltage level of the RE-Mote examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/example.h examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

Experiment with the Radio settings and wireless link: How does the RSSI/LQI change if moving the devices apart, or putting anobstable in between? Rotate the RE-Mote s so the antenna position is different, in which position yields better results in terms of RSSI? Try to decrease the transmission power to the minimum, and move the devices until they nolonger hear each other. Increase the transmission power to the maximum and move the devices apart, what is the maximum distance? What would happen if you increase the height of one of the devices by 1 meter? Write down the addresses of your devices and your neighbors, try to identify the other groups devices examples/zolertia/tutorial/02-ipv6/01-udp-local-multicast

examples/zolertia/tutorial/02-ipv6/03-sniffer

https://github.com/g-oikonomou/sensniff examples/zolertia/tutorial/02-ipv6/03-sniffer

Check the channel and PAN ID matches your application examples/zolertia/tutorial/02-ipv6/03-sniffer/project-conf.h

Program a RE-Mote as sniffer (change the USB port accordingly) make sniffer.upload PORT=/dev/ttyUSB0 Execute the Sensniff application python sensniff.py --non-interactive -d /dev/ttyusb0 -b 460800 p test.pcap In another terminal run: sudo wireshark -i /tmp/sensniff examples/zolertia/tutorial/02-ipv6/03-sniffer

Configure the context, default in Contiki are aaaa:: and fd00:: Configure the frame format as shown:

Experiment with the radio sniffer: Try to filter the sniffed packets and only visualize your own Try to identify the RPL control messages from the wireshark capture, what types of messages can you spot? Expand the protocol s tabs and check the headers and its fields, search for the PANID and other fields like the RSSI and LQI metadata. examples/zolertia/tutorial/02-ipv6/03-sniffer

Conclusions You should be able to: Understand how low power radio devices work and how to use link quality estimators Understand concepts like RDC, MAC and RPL networking basics Understand the basics about 6LoWPAN Change parameters like the transmission power, channel and PAN ID Create link-local networks and send sensor data wirelessly over UDP Use a Wireless packet sniffer to debug your application

Antonio Liñán Colina alinan@zolertia.com antonio.lignan@gmail.com Twitter: @4Li6NaN LinkedIn: Antonio Liñan Colina github.com/alignan hackster.io/alinan