Building the Web of Things [via Web of Things Community Group]

The Web grew strong on the back of open source and a community of enthusiasts.
Now, improvements in electronics are fuelling the Internet of Things, and we
have a limited window of opportunity to create and establish strong open
standards on a world wide scale for the IoT.

Right now, the IoT suffers from fragmentation and data silos. Without strong
open standards, we’re likely to see competing proprietary solutions that
increase the costs for developers and limit the potential.

W3C is one of the few organizations that can define global standards to enable
discovery and interoperability of services on a world wide basis. We want to
extend the Web from a Web of pages to a Web of Things.

The value proposition is enabling lowered development costs and unlocking data
silos by bridging IoT platforms through the Web at a range of device scales from
microcontrollers to cloud-based server farms.

We will do this via a core model of services in terms of metadata, events,
properties and actions, that is bound to a variety of protocols as no one
protocol will fulfill all needs. By bindings, we mean how to use the protocols
to notify events and property updates, and how to invoke actions and return the
results via REST based messages for each protocol.

The importance of this core model of services is that it simplifies the
scripting of services by decoupling the details of the communication protocols.
The server uses the models to automatically create local objects for scripts to
interact with in place of having to directly drive the protocols. This makes it
easier to build highly scalable servers which are free to use the protocols best
suited to the requirements.

We would like to achieve this through open source projects for Web of Things
servers for a number of different device types, and a start has been made with
an implementation based on NodeJS. This is still at a very early stage, but it
nonetheless suggests the potential.

 https://github.com/w3c/web-of-things-framework

The initial code uses HTTP to access the descriptions of “things”
represented in JSON-LD, i.e. the semantics are founded on W3C’s work on Linked
Data, but expressed with the simplicity of JSON. The messaging is built on top
of WebSockets.

The idea is to extend this to support a wider range of protocols, including MQTT
and XMPP as well as pure HTTP solutions. The roadmap calls for work on
supporting richer metadata for security, privacy and communication patterns. We
also are looking for help with work on device drivers, both for direct access,
e.g. through GPIO ports on the device hosting the server, or through IoT
technologies such as Bluetooth and ZigBee. We’re also looking for people
interested in open source development of highly scalable cloud based servers,
building on the firm foundation of existing projects.

So if you are willing to help with software development for the Web of Things
servers, that would be greatly appreciated. In addition, to the NodeJS server,
we anticipate work on servers for microcontrollers, e.g. building upon existing
open source projects for CoAP and MQTT. Potential target devices include the
Arduino and the more powerful ESP8266. Like the Web of pages, we expect that
developers will want to choose which programming languages they use, e.g.
JavaScript on NodeJS, Lua on NodeMCU, Python on MicroPython, and C/C++ on the
Arduino IDE.

To complement work on the software, we will need help with use cases, design and
documentation, and with test frameworks and associated test suites. We’re also
looking for people to apply the web of things to practical IoT projects and to
share their experiences with the wider community, including helping with
hackathons. There is a lot of fun to be had by hobbyists thanks to the low cost
of microcontrollers, sensor, actuators and associated electronic components.
There are also opportunities for businesses to exploit open standards as they
emerge, and to avoid being locked into a particular vendor’s platform. A
strong open source community will stimulate innovation and lower costs through
shared building blocks and expertise that allows businesses to focus on the
added value they offer to customers.

We welcome contributions to the open source projects whether extensions to
existing server projects or to new ones like the NodeJS server cited above. If
you find a bug in the source code or a mistake in the documentation, you can
help us by submitting an issue to the GitHub repository, and likewise if you
have suggestions for new features. Even better you can submit a Pull Request
with a fix.

We encourage you to join the W3C Web of Things Community Group where
contribution and discussions will happen. Anyone can join and there are no fees.
The Community Group hosts a publicly archived mailing list, blog and wiki. We
can also collaborate on documents, e.g. on GitHub. So if you have ideas you want
present or questions to ask please feel encouraged to do so. Together we can
build a better Web!

The Community Group is at: https://www.w3.org/community/wot/

n.b. the Community Group has been quiet to date with most of the activity
occurring in the associated W3C Interest Group, but I hope to change that as we
kick start the effort on open source and applications. If you work for a W3C
Member Organisation, you are also welcome to join the Interest Group.



----------

This post sent on Web of Things Community Group



'Building the Web of Things'

https://www.w3.org/community/wot/2015/06/02/building-the-web-of-things/



Learn more about the Web of Things Community Group: 

https://www.w3.org/community/wot

Received on Tuesday, 2 June 2015 11:05:46 UTC