The problem is that to build applications on top of these devices we still need to learn a 100 different systems and APIs. Our thesis: how do you enable business to create applications on top of eco-systems of sensor networks and embedded devices.
Thus, we suggest creating a Web of Things as an alternative. We basically consider sensor nodes as nodes of the Internet and make them universally accessible over HTTP like the Web is. We do this by: Having IP connectivity (IPv6 Lowpan) Having the nodes (or a gateway) embedding a Web-Server Modeling services as resources.
Where we started, a quick overview of our first trials to integrate sensor networks to business applications. A few guidelines on how to make sensor nodes first class citizens of the Web. Our implementation of these guidelines on the Sun SPOT plateform, including the video of a business use case we implemented using the RESTful Sun SPOTs.
The first step is to get the Sensors connected to the Internet (!= Web, the Internet is the underlying network! Not the application layer). This can be achieved in two ways: Direct connectivity by using for instance IPv6 Lowpan, i.e. the Ipv6 protocol for resource constrained devices. More and more sensor networks (e.g. Arch Rock nodes, etc.) For non-IPv6 nodes we propose the concept of smart gateways. Smart gateways are small pieces of software that can be installed on emedded devices such as Wireless routers or NAS (Network Access Storage). Their goal is to understand the proprietary protocols and APIs of embedded devices (e.g. BT) and to « translate » offer access to these devices through uniform REST APIs.
Now that we have means to connect the nodes to the Internet we need to « Web enable » them. This is done by exposing their services as « resources », i.e. by applying the REST architectural style to represent their functionality and thus making them service nodes of the Web. REST is basically about four concepts: every thing, that can and that's worth, getting a URI and links is a resource Resources have a unique name in the form of a URI (often a URL). Resources have several representations (JSON, XHTML). Resources can be interacted with using a unform interface: HTTP:
Since the sun spot do not support IP connectivity yet, we implemented HTTP on top of 802.15.4 radio (~= Zigbee).
Discover a Sun Spot, see the Web UI, browse it.
GW Tomcat (GWT) Spots Ploggs GW
Easy to program, create new stuff Browse and use the IoT 1 or 2.0
Our experience in using DPWS is that WS-* still create a rather big overhead for device with limited capabilities such as sensor networks. Especially since you need to: generate stub classes from the WSDLs (the screen shot contains the classes you need to generate to invoke a simple light service) and send SOAP messages (which are rather heavy), go through rather complicated service lookup steps to find the services which makes the service discovery quite opaque. Thus, web services are probably not the best answer to make sensor and actuator networks easily accessible to build upon, however it is still relevant for more static settings where higher QoS and process formalization is required.
1 Favorite
Ashu Joshi, Director, Business Development at Cisco Systems, Inc., favorited this 1 month ago
Web of Things for Sensor Networks - Presentation Transcript
Towards a Web of Things Applying REST to Sensor and Actuator Networks. Dominique Guinard (1, 2) / Vlad Trifa (1,2) / Thomas Pham (1) / Olivier Liechti (3) 1) SAP Research Zurich 2) Institute for Pervasive Computing, ETH Zurich 3) HEIG-VD 6980
Real-world devices are getting connected to the Web.
Problem: How to Achieve a Composable Web of Things?
Huge eco-system of devices.
About 1000 smart objects / person:
and… about 1000 systems to use them and build applications on top of them.
How do we enable tech savvys and companies to create applications on top of this eco-system?
“ re-think the way we design computing systems in order to take into account the >1000 smart objects per people we will soon have to deal with.” David Orban
Contribution: Web of Things (WOT) in a Nutshell
Creating a Web of Things by:
Connecting embedded devices to the Internet (IP) [2].
Having them embedding a Web-Server.
Modelling their services in a Resource Oriented manner (RESTful API) so that they become first-class citizens of the World Wide Web!
Benefits:
Ease the building of applications on top of embedded devices.
Get a lot of the features of the Web almost for free:
bookmarking, caching, linking, searching, securing etc.
[2] Hui, Jonathan W., and David E. Culler. “IP is dead, long live IP for wireless sensor networks.” In Proceedings of the 6th ACM conference on Embedded network sensor systems, 15-28. Raleigh, NC, USA: ACM, 2008.
Turning the Sun SPOT platform into a Resource Oriented one:
Each node embedds a tiny Webserver that offers resources with JSON representations.
A gateway (using RESTlet) is used to offer additional functionality:
Queue management, AJAX management interface, HTML representation, etc.
Embedded Software
An embedded HTTP server directly on the SunSPOT nodes, natively supports the four main operations of the HTTP:
GET, POST, PUT, DELETE (i.e the verbs of REST).
HTTP over 2.4 GHz IEEE 802.15.4 radio.
Demo
The « Energie Visible » Project
Aim:
Monitor and control your energy consumption at home.
Fully integrate the monitoring and control to the web.
www.webofthings.com/energie
Gateway Level: Web server and RESTful API Sensor Level: Ploggs Device Level: Appliances Client Level: Web/Mobile App
RESTful Plogg Gateway
C/C++ Gateway:
Finds all the Ploggs in the environment.
Offers their functionality as a RESTful API.
Based on Mongoose (Web server).
Talk to devices: The WEB Way
Energy Monitoring and Control Web UI
Energy Monitoring Web UI:
Dynamic graph for each monitored appliance.
Google Web Toolkit app.
Using the OFCGWT toolkit.
Dominique Guinard www.guinard.org SAP Research / ETH Zurich dguinard‘at’guinard.org www.webofthings.com Vlad Trifa SAP Research / ETH Zurich Thomas Pham SAP Research Zurich Olivier Liechti HEIG-VD
Backups for Discussion [http://www.flickr.com/photos/sharynmorrow/ ]
Enable Real-World Mashups URL URL URL URL
A Year ago @ Jazoon 2008
Mashing up Manufacturing: Thanks to Java SOAs.
Build a cross-layer infrastructure composed of web service enabled devices (SOA-ready) strongly coupled with enterprise applications.
Based on:
WS-* Web Services (DPWS).
And a big business integration architecture.
Qualitative Results: Still Rather Heavy
Still heavy on the embedded device itself:
No DPWS on Sun SPOT, Gripper, PLC yet.
Probably just a matter of time.
Heavy to program services and clients:
Have a WSDL
Generate stub from WSDL
Databinding (JAXB) and SOAP
Service lookup, etc.
WS-* Web Services is possibly not the best technology for an Internet of Things...
Especially not for tactical, ad-hoc, applications.
0 comments
Post a comment