Hi Joachim :)
Thank you for reaching out to the xmpp IoT community. Having an initiative
from W3C is very good and it would be interesting to see more closely how
the Web Of Things as pages model can fit together with the XMPP-IoT idea of
peers collaborating with a distributed security model.
The bridging of IoT Silos is the main target for the XMPP-IoT model
removing the physical device protocols to the logical application layer
were peers collaborate to do smarter services.
Looking forward to the discussions
Please look at
intro slides:
Interoperability contracts *work in progress*
<http://htmlpreview.github.com/?https://github.com/joachimlindborg/XMPP-IoT/blob/master/xep-0000-IoT-Interoperability.html>
/Joachim
*Regards*
Joachim Lindborg
CTO, systems architect
Sustainable Innovation SUST.se
Barnhusgatan 3 111 23 Stockholm
Email: Joachim.lindborg(a)sust.se
linkedin:
Tel +46 706-442270
2015-06-03 18:51 GMT+02:00 Joachim Bauernberger <
joachim(a)valbonne-consulting.com>gt;:
Hi *,
I'd like to reach out the the xmpp-iot community to bring attention to the
W3C "Web of Things" Group[1]. The W3C urgently needs contributors able
bridge the areas of the Web with the Embedded domain.
The WoT[2] Framework is still at a very early stage, so this is just the
time where we need people who understand the vision and want to play an
active role in refining it. We want to raise awareness of the promise and
challenges for the Internet of Things, and the role of Web technologies as
part of the solution.
We need plenty of help with developing open source software for the Web of
Things, including servers and test frameworks and test suites. Dave Raggett
has started a NodeJS based server[3], and we're also are looking for help
with servers on microcontrollers, on smart phones/tablets, and for highly
scalable cloud based systems.
There are opportunities to help with embedded systems, especially when it
comes to embedded web of things servers, and device drivers. We will need a
way to describe the communications patterns used by particular device, e.g.
how to communicate with devices that spend most of their time asleep, and
the way in which data is buffered or multiplexed (e.g. when aggregating
data from multiple sensors).
There are also plenty of areas for people to could contribute that don’t
involve programming, for example, gathering use cases and requirements, the
details of the bindings to protocols, and the architectural considerations.
Security and privacy are areas where we need to better understand what’s
practical. Real-time control e.g. of manufacturing robots is one of the
potential application domains where the architectural considerations are
especially challenging. When it comes to programming, you would have an
opportunity to take on the role of an IoT application developer who writes
the application scripts. We will be looking of people who can try things
out and share the experiences with others as a way of building interest in
the wider community.
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. To avoid
this, W3C’s wants to extend the Web from a Web of pages to a Web of Things.
The aim is unlock data silos by bridging IoT platforms through the Web at a
range of device scales from microcontrollers to cloud-based server farms.
By “things” we mean virtual objects that act as proxies for physical and
abstract entities, e.g. a sensor, an actuator or a service. Each “thing”
has a model that describes its metadata, events, properties and actions.
This core semantics allows servers to automatically generate the
corresponding objects for scripts to interact with, and avoids the need for
script developers to deal with the underlying protocols. This makes it
easier to build highly scalable servers which are free to use the protocols
that are best suited to the requirements, as no one protocol will satisfy
all needs. We will define bindings to a variety of protocols, e.g. HTTP,
WebSockets, MQTT and XMPP. The bindings define how REST based messages are
conveyed by each protocol to notify events and property updates, and to
invoke actions and pass back their results. For more details, see [2]
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[3]. This is still at a very
early stage, but it nonetheless suggests the potential.
Dave's 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.
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. 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.
To complement work on the software, we will need help with collecting and
describing use cases, with 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!
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.
If you have any questions, please don’t hesitate to contact me or Dave
Raggett (dsr(a)w3.org) directly.
[1] WoT Community Group
https://www.w3.org/community/wot/
[2] WoT Framework
http://www.w3.org/2015/05/wot-framework.pdf
[3] NodeJS server on github
https://github.com/w3c/web-of-things-framework
Thanks for your time;
Joachim
_______________________________________________
IOT mailing list
IOT(a)xmpp.org
http://mail.jabber.org/mailman/listinfo/iot