Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

The OpenWSN project serves as a repository for open-source implementations of protocol stacks based on Internet of Things standards, using a variety of hardware and software platforms.

Motivation

The Internet of Things enables great applications, such as energy-aware homes or real-time asset tracking. With these networks gaining maturity, standardization bodies have started to work on standardizing how these networks of tiny devices communicate.

The goal of the OpenWSN project is to provide open-source implementations of a complete protocol stack based on the to-be-finalized Internet of Things standards, on a variety of software and hardware platforms. This implementation can then help academia and industry verify the applicability of these standards to the Internet of Things, for those networks to become truly ubiquitous.

Open Source

Our OpenWSN effort at Berkeley is one of many open source hardware and software projects for wireless sensor networks. Here are links to some of our friends and colleagues around the world.

Protocol Stack

The standards under development most applicable for the Internet of Things are:

  • The IEEE802.15.4e working group is defining MAC amendment to the existing IEEE802.15.4-2006 standard. The proposal being standardized, called Time Synchronized Channel Hopping, significantly increases robustness against external interference and persistent multi-path fading, while running on legacy IEEE802.15.4-2006 hardware.
  • The IETF 6LoWPAN working group standardizes a mechanism for an IPv6 packet to travel over networks of devices communicating using IEEE802.15.4 radios; this includes header compaction techniques to fit long IPv6 headers into short IEEE802.15.4 frames.
  • The IETF ROLL working group standardizes the routing protocol, i.e. the distributed algorithm which finds the multi-hop path connecting the nodes in the network with a small number of destination nodes. The current proposal, called RPL, finds routes according a set of constraints.

These standards can be layered one on top of another, forming the following protocol stack:


application

CoAP

transport

UDP

IP/routing

IETF RPL

adaptation

IETF 6LoWPAN

medium access

IEEE802.15.4e

phy

IEEE802.15.4-2006

At OpenWSN, we encourage contributions from users. In fact, our complete infrastructure is built to make contributing easy and fast:

One very nice new feature of JIRA is the ability to attach labels to issue. We attach the label project_idea to features we'd like to have, but which is not immediately schedule. One example is:

ADM-22 - Getting issue details... STATUS

The Project Ideas page contains a dynamic list of all JIRA issues with that project_idea label attached. Potential contributors can easily see what they could be helping with.

Assign a label in the JIRA issue......it appears on the Project Ideas page

tun is a handy little thing which allows you to write an application which emulates a physical interface. That is, when your kernel sends IP packets to this "virtual" interface, it's your application that receives them, not some piece of hardware. Similarly, your application can inject IP packets into the kernel as if they came from a regular (e.g. Ethernet) interface.

While tun comes standard with Linux, it's often considered hard to use under Windows.

We created a step-by-step hands-on tutorial, which has understand tun and install and use it in Windows.

Check out the tun/tap in Windows tutorial.

The first-ever plugfest of the IETF 6TiSCH working group took place on March 6th 2014 during the IETF89 meeting in London. OpenWSN was featured in the following open-source implementations:

  1. the RIOT team demonstrated the OpenWSN protocol stack running as part of a thread in the RIOT operating system.
  2. the INRIA team demonstrated OpenWSN running on the IoT-LAB platform.
  3. the Univerisity of Bari team demonstrated an implementation of the DeTAS distributed scheduling approach in OpenWSN on the TelosB motes.
  4. the Universitat Oberta de Catalunya team introduced the new OpenMote platform, running OpenWSN.
  5. the UC Berkeley team demonstrated OpenWSN running on the TelosB, Z1, OpenMoteSTM and GINA motes.

Thanks to all the participants (32!) for the wonderful plugfest, and to Xavier Vilajosana for chairing it!

Following the success of the IETF89 plugfest, the 6TiSCH6lo and ROLL working groups jointly hosted the LLN plugfest during the IETF90 standardization meeting on 20 July 2014, in Toronto, Canada.

10 days before the event, the OpenWSN team started a programming challenge to implement and show the following drafts at the plugfest:

And it worked!

The co-chairs of the plugfest were Ines Robles and Xavier Vilajosana.

The plugfest was a huge success, with the following teams presenting:

Cisco System and Linear Technology/Dust Networks

  • Who:
    • Pascal Thubert, Cisco Systems
    • Thomas Watteyne, Linear Technology, Dust Networks Product Group
  • Demo:
    • Two Linear Technology SmartMesh IP networks federated by two Cisco backbone routers
  • Related IETF documents:
    • draft-thubert-6lowpan-backbone-router-03
    • draft-ietf-6tisch-architecture-03
  • For more information:

 

UC Berkeley's OpenWSN

  • Who (alphabetically):
  • Demo:
    • A heterogeneous 10-mote wireless mesh network implementing IEEE802.15.4e TSCH, RPL, CoAP, as well as the latest drafts produced in the 6TiSCH working group (see below!)
  • Related IETF documents:
    • draft-ietf-6tisch-minimal-02
    • draft-wang-6tisch-6top-sublayer-01
    • draft-dujovne-6tisch-on-the-fly-03
    • draft-thubert-6man-flow-label-for-rpl-03

 

OpenMote

  • A provider of open hardware for the Internet of Things, the home of the OpenMote
  • Who:
  • Demo:
    • OpenWSN on the OpenMoteCC2538
    • FreeRTOS on the OpenMoteCC2358
    • OpenMote as a sniffer

      The OpenMoteCC2538 is fully already supported by OpenWSN!

  • For more information:

 

Inria and FIT-IoT

RIOT

  • The friendly Operating System for the Internet of Things
  • Who:
  • Demo:
    • Demonstration of OpenWSN running in RIOT

      the OpenWSN and RIOT teams are currently working together to easily integrate the OpenWSN protocol stack with the RIOT operating system

6LoWPAN MIB demonstration

  • Who:
  • Demo:
    • An implementation of the 6LoWPAN MIB
    • showed how to access the counters via a Contiki SNMP implementation and Contiki’s CoAP implementation
  • Related IETF documents:
    • draft-ietf-6lo-lowpan-mib

 

IEEE802.15.4e Wireshark dissector

Want to help? Contact Vincent Ladeveze!

Sewio

 

The plugfest started by each team presenting a few slides about the demo they were about to present:

It then continued by a live demonstration by each team.

The plugfest concluded by the co-chairs handing out certificates of participation:

So what did the OpenWSN team show exactly?

The OpenWSN team showed off everything it had implemented during the "IETF90 plugfest programming challenge":

A multi-hop topology was forced during the event (by editing the topology.c file), resulting in:

10 OpenMoteCC2538 motes were plugged in a USB hubforming the following multi-hop topology

In detail:

  • 10 motes were placed on a table and switched on
  • They are programmed with firmware which forces multi-hop connectivity (through a "switch" statement in topology.c)
  • Mote 97 is configured as DAGroot by the OpenVisualizer
  • The motes synchronize to the DAGroot and form a multi-hop network.
  • The TSCH schedule used by the network is similar to the one defined in draft-ietf-6tisch-minimal-02.
  • All upstream packets contains the flow label defined in draft-thubert-6man-flow-label-for-rpl-03.
  • The ietf90client application on the computer is used to trigger a mote in the network to negotiate a cell with its neighbor, using draft-wang-6tisch-6top-sublayer-01.
  • On-The-Fly scheduling (per draft-dujovne-6tisch-on-the-fly-03) is used to negotiate cells over the multi-hop link to the DAGroot.

The OpenWSN team members which have participated to this plugfest are (alphabetically):

 

built the ietf90client Python application and the associated firmware application.

 

implemented draft-ietf-6tisch-minimal-02. He also created and tested the demo setup.
worked on the OpenWSN port on the OpenMoteCC2538.

implemented draft-wang-6tisch-6top-sublayer-01.
implemented draft-dujovne-6tisch-on-the-fly-03.
built the enhanced web interface for the OpenVisualizer.
implemented draft-thubert-6man-flow-label-for-rpl-03.

Below are some additional picture for you entertainment:

The talk is streamed live at http://video.citris.berkeley.edu/playlists/swarm/

The link is only active during the presentation.

Abstract

OpenWSN is an open-source project of the Pister lab which implements, promotes and contributes to standards-based protocols for the Internet of Things. It has become the de-facto open-source implementation of IEEE802.15.4e Time Synchronized Channel Hopping, a technique which enables ultra high reliability and low-power operation. Its goal is to provide an easy-to-use IoT experience, while implementing cutting-edge technology.

This presentation will start by an in-depth technical overview of the project. After detailing the popular low-power wireless platforms OpenWSN is ported to, we will show the build environment, the associated emulator, the user experience and the ecosystem of tools and projects around the core implementation. Hands-on illustrations will provide lots of entertainment.

In the second half of this presentation, we will discuss the state of the project, in particular in relationship with ongoing standardization efforts such IETF 6TiSCH, and other projects. We will conclude by identifying the road ahead, both short- and long-term. Plenty of time will be left for questions and suggestions.

About the Speaker

Thomas Watteyne [http://eecs.berkeley.edu/~watteyne/] is an insatiable enthusiast of low-power wireless mesh technologies. He joined the Pister lab in 2008 as a visiting student researcher, then returned in 2009 as postdoctoral research lead. In 2010 he founded the OpenWSN project, an open-source initiative to promote the use of fully standards-based protocol stacks for the IoT, and has served as its coordinator since. Since 2010, he is Senior Networking Design Engineer at Dust Networks/Linear Technology, the undisputed leader in supplying low power wireless mesh networks for demanding industrial process automation applications. He is co-chairing the IETF 6TiSCH working group, which standardizes how to use IEEE802.15.4e TSCH in IPv6-enabled mesh networks. He is a member of the IETF Internet-of-Things Directorate. Between 2005 and 2008, he was a research engineer at France Telecom, Orange Labs. He holds a PhD in Computer Science (2008), an MSc in Networking (2005) and an MEng in Telecommunications (2005) from INSA Lyon, France. He is fluent in 4 languages.

This interface will provide an easier and more convenient way for users to send and receive data to and from virtual motes.

Current communication with OpenVisualizer motes involves CoAP over IPv6. This can be difficult for less sophisticated machines that do not have IPv6 enabled, such as the Raspberry Pi. Interacting over CoAP is not very intuitive even for users with IPv6. The easiest way is to download a Firefox add-on called CoPPER, a CoAP user agent, and play around with that. JSON-based communication through a RESTful API, on the other hand, is much easier to use. Since this project is trying to expand its audience, usability improvements are very important.

Since the primary concern is getting and changing data, our first priority will be getting access to all mote-related data structures within OpenVisualizer (if they exist). My group is currently in the process of looking for said data and writing functions to change it. The first interface will be through a REST Client (such as POSTman for Chrome). A simple, OpenVisualizer-specific REST client may be implemented in the future if desired.

In the future and as we implement functionality, this space will contain instructions for how to use the interface from a variety of platforms. This text is currently a placeholder for those instructions. Since we are still relatively new to the code base, any tips related to the issues I addressed above would be appreciated. Feel free to post them here or send them to my email address. Hopefully a progress update will come soon!

OpenWSN on IoT-LAB

Check out PedroH's tutorial on how to use OpenWSN on the FIT IoT-lab 2728-node open testbed.

 

GLOBECOM 2015 tutorial

OpenWSN/OpenMote tutorial at GLOBECOM 2015!

 

We are organizing a tutorial on OpenWSN and OpenMote at GLOBECOM 2015 on Dec 6 in San Diego!

Xavi, Pere and myself will be showing you what an OpenWSN network does, how to use the OpenMote, deploy an network, and enter the wonderful worlds on the Industrial IoT!

Registration is now open ($100 regular, $50 student).

Looking forward to seeing you in San Diego!

Thomas Watteyne, Xavier Vilajosana, Pere Tuset

The OpenWSN team is happy to announce is it recipient of the 2016 Google IoT Technology Research Award!

The research focuses on how IEEE802.15.4 and WiFi coexist, and how 6TiSCH and IEEE802.15.4e Time Synchronized Channel Hopping can be used to simplify coexistence between the two.

This research includes porting the OpenWSN protocol stack (which implements IEEE802.15.4e TSCH, 6TiSCH, 6LoWPAN, RPL, CoAP) to the OnHub, to use it as the OpenWSN border router.

Error rendering macro 'gadget' : The gadget at rest/gadgets/1.0/g/com.atlassian.streams.confluence:activitystream-gadget/gadgets/conf-activitystream-gadget.xml was not added to this Confluence instance yet.

 

 

License

/* 
 * Copyright (c) 2010-2014, Regents of the University of California.
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *  - Redistributions of source code must retain the above copyright notice,
 *    this list of conditions and the following disclaimer.
 *  - Redistributions in binary form must reproduce the above copyright notice,
 *    this list of conditions and the following disclaimer in the documentation
 *    and/or other materials provided with the distribution.
 *  - Neither the name of the Regents of the University of California nor the
 *    names of its contributors may be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */

  • No labels