Hi,
I am doing R&D on xmpp protocol. I need its iot extensions protocol. i.e
XEP-0323 and XEP-0325.But i just found one example of its applicaiton in
xml.
can you suggest its JAVA library? i will be very thankful to you.)
Hi guys,
We’ve decided to open source our implementation of XEP-0347 IoT Discovery. We’ve named it Ekster and you can find the code on github: https://github.com/TNO-IoT/ekster <https://github.com/TNO-IoT/ekster>
Until now there was no open source implementation of the IoT discovery XEP for developers to play with (expect for the hosted service of Clayster) and Ekster enables developers with an intrest in XMPP IoT to run a registry on their own development environment.
The current state of Ekster is that it suitable for development. We haven’t used it in production ourselves. Ekster is written in coffeescript and runs on NodeJS. Currently it can run as an external component to a XMPP server but it should not be to hard to change it to run as a XMPP client. The documentation is still to be improved with message flow examples and it would be nice to create some kind of demo site to see the code in action.
Ekster uses mongod as its database but it is possible to add custom backend providers to enable other storage. When we started the implementation we’ve experimented with octoblu as a backend and the code for the octublu backend is still there.
The code is accompanied by 2 other github projects that I use for integration tests.
I welcome all of your suggestions! Feedback is greatly appreciated.
Kind regards,
Eelco
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
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
For a project that I’m doing with several partners I’m proposed to use the XMPP IoT experimental extensions (including the not yet submitted eventing extension). One requirement for the project is that the ‘Things’ should use as little data as possible and for this we wanted to optimise the data the Things are sending to subscribers. Another requirements was that we would like to be able to have fine grained control on which subscribers would be allowed to subscribe and receive the data.
We want to accommodate multiple listeners to the same events, this is quite pub/sub like, and discussed to use either MQTT or XMPP.
A few things I noticed during our discussion:
1. The partners did not see the eventing extension as pubsub but rather as p2p because clients need to subscribe to all the different things instead of to only a single topic.
2. There is currently no best practises in using pubsub or PEP for IoT.
3. Management of pubsub nodes (manage subscribers and publishers) is cumbersome and not all functions (authorization schemes) are supported by all XMPP servers.
4. I proposed an alternative pubsub like service, that I called ‘dealer’, which acts as a IoT concentrator towards the subscribers and that would subscribe to all Things the clients would want to receive events from.
Currently the project is leaning towards MQTT, mostly because partners like that concept of pubsub over the XMPP alternatives (verbosity of XMPP is not considered an issue).
I would like to share this feedback as it might be useful in progressing the IoT extensions further.
Cheers,
Eelco
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
Hi Saurabh pleased to meet you and wonderful that you are working the field
of IoT and especially using xmpp for it. coposting this to the iot(a)xmpp.org
list.
The extensions published are as Arc pointed out totally free to use. They
have been worked on for some time and there are some implementations
around, you are free to use them and of-course also discuss changes. It is
a hope that these published XEP's can be that source for a uniform IoT
standard across implementations.
your site is nice looks promising (you need to redirect www... to the same
adress as http://iotfy.co/) let's discuss how the XEP's published works in
your implementaion, on the iot(a)xmpp.org list or offline if you prefer. just
send me an email.
Introductions: (please help out with the work)
http://xmpp-iot.github.io/
wiki
http://wiki.xmpp.org/web/Tech_pages/IoT_systems
Another commercial implementation done by clayster
https://www.thingk.me/Provisioning/Index.xml
/Joachim Lindborg
*Regards*
Joachim Lindborg
CTO, systems architect
Sustainable Innovation SUST.se
Barnhusgatan 3 111 23 Stockholm
Email: Joachim.lindborg(a)sust.se
linkedin: http://www.linkedin.com/in/joachimlindborg
Tel +46 706-442270
2015-04-19 16:35 GMT+02:00 Arc Riley <arcriley(a)gmail.com>:
> XMPP and all XEPs are free and open for use. You should find an IP
> disclaimer on each, eg;
> PermissionsPermission is hereby granted, free of charge, to any person
> obtaining a copy of this specification (the "Specification"), to make use
> of the Specification without restriction, including without limitation the
> rights to implement the Specification in a software program, deploy the
> Specification in a network service, and copy, modify, merge, publish,
> translate, distribute, sublicense, or sell copies of the Specification, and
> to permit persons to whom the Specification is furnished to do so, subject
> to the condition that the foregoing copyright notice and this permission
> notice shall be included in all copies or substantial portions of the
> Specification. Unless separate permission is granted, modified works that
> are redistributed shall not contain misleading information regarding the
> authors, title, number, or publisher of the Specification, and shall not
> claim endorsement of the modified works by the authors, any organization or
> project to which the authors belong, or the XMPP Standards Foundation.
>
> On Sun, Apr 19, 2015 at 9:57 AM, Saurabh Shandilya <
> saurabhshandilya.1991(a)gmail.com> wrote:
>
>> Hey all,
>>
>> I come to know about XMPP IoT. I along with my team have also been
>> working on the same concept and about to launch.
>> I would like to know about the commercial aspects or open sourced status
>> of the project. If clouds service are provided, then how are they managed.
>> Kindly provide me with appropriate pointers and/or suggestions.
>> www.iotfy.co
>> is our website, that works on almost the same concept (as much as I have
>> understood by now)
>>
>>
>> --
>> Regards,
>> saurabh shandilya
>> www.embedded4fun.com
>> sshandil(a)andrew.cmu.edu
>> +91 9910118292
>>
>
>
Hi,
Paragraph 5.1 of XEP-0347 says it is only needed to ‘become friends’ with the Thing registry if the registry isn’t a server component.
> 5.1 JID vs Component Thing Registries <>
> A client must treat the connection between a Thing Registry differently if it is hosted as a client, having a JID, or if it is hosted as a Jabber Server Component. If it is hosted as a server component, there's no need for the thing to become friends with the Thing Registry. Messages and requests can be made directly to the server component without having to add it to the roster or request presence subscriptions. If the Thing Registry is hosted as a client, having a JID (@ in the address), the Thing Registry must be added to the roster of the client before the client can communicate with the Thing Registry.
>
However, for the registry to determine if a Thing is online or offline (to check if it is able to notifiy it about claimed, disowned and removed states) the Thing registry needs a presence subscription with the Thing. This does not mean that the Thing also has a presence subscription on the registry but there must be some kind of ‘friendship’ relation between the 2. So the text above is ambiguous in my opinion.
Also paragraph “3.6 Registering a Thing” states that a Thing must find and befriend a registry before the Thing can register itself with the registry.
Should paragraph 5.1 be updated or removed?
Thanks,
Eelco
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
Inspired from the XMPP lounge hacking at FOSDEM, where we had Philips Hue
lamps connected to Beatles music over the xmpp network. Loads of interested
people where playing with the lamps.
Couldn't we on the 9th of april 2015 which is the global IoT day, connect
color lamps all over the world controlled from London with lloyd's music
feed? I can setup most of the turorial.
Each lamp friending music_master@controller or join the Disco MUC room
receives individual messages and own symbols/nicks on the youtube channel
sending the music and Visualisation stream.
Then an https://talky.io/XMPP_world_disco session from all sites
*Regards*
Joachim Lindborg
CTO, systems architect
Sustainable Innovation SUST.se
Barnhusgatan 3 111 23 Stockholm
Email: Joachim.lindborg(a)sust.se
linkedin: http://www.linkedin.com/in/joachimlindborg
Tel +46 706-442270
Hi,
I was wondering if anyone has considered of adding semantics to the IoT XMPP specs?
I’m particularly interested in ways to add semantics to the IoT discovery XEP.
Paragraph 5.2 of the XEP (https://xmpp.org/extensions/xep-0347.html#tags <https://xmpp.org/extensions/xep-0347.html#tags>) describes a set of meta tags that can be used to describe things as it does put some limits on the values you can set. But I would like to link the meta-data to some sort of semantic ontologies (RDF). I then want to use that data to enable ’smarter’ queries to the registry (ie. sparql like queries).
Is there any known work in this area?
If I have any results of myself in this field I will share it on this list.
Thanks,
Eelco
This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.