Table of Contents
- Getting Started
- A Standard World
- Protocol Stack
- Tool Chains
- Misc. HW
- Misc. Software
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.
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, HTTP, sensor.network|
|medium access||IEEE 802.15.4e|
Download the introductory presentation to get the full picture of the motivation and the protocol stack.
We currently have two implementations running:
- a TinyOS implementation which runs on TelosB motes;
- an implementation in C which runs on the GINA platform.
This is an ongoing implementation effort, and we are looking for people to test what we have and complete what we don't have:
- Check out the latest source code, either online using Browse Source, or by pointing your SVN client to http://openwsn.berkeley.edu/svn;
- Monitor the activity of this project through the Timeline;
- Look at what's ahead using the Roadmap;
- Look at the bugs that have been reported with View Tickets;
- If you find a bug, or would like to see a new feature added, create a New Ticket.
Do you have a platform around you would like to see this stack ported to? Contact us!
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.
- OpenWSN.net Arduino-based
- OpenWSN TongJi University
/* * Copyright (c) 2010, 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. */