I saw an article pointing out that the problem with the internet of things is that things don’t talk to each other.

This is something the imp sorts out at comms level (by using wifi etc) but interconnecting at a software level still requires handcrafted interfaces.

The article suggested MQTT (a lightweight message queue methodology) as the way forward, would supporting this or something else an idea?

I’m trying to understand what you mean. I am working on having my imps talk to each other. For example, the Imp at my garage door will be talking to my security system Imp. Of course, it is actually the agents talking between themselves and then to the Imps, but that communication still happens. My iPhone talking to my imps is also a device talking to a device.

What do you mean by interconnecting at a software level?

I think they were just talking about what you are referring to on Adafruit Ask and Engineer… showed a Raspberry Pi talking directly to Google Glass over XMPP?

I’ve looked at using MQTT before it’s just a light weight but robust means of communication or a supper transport layer. It doesn’t support accessing the properties & methods a IoThing.

There have been quite a few attempts at defining a standard in the building automation world OBIX failed. MQTT seem to be promoting
Hears Smarthtings take on MQTT

There are Javascript bindings that could be used for a starter of a Squirrel MQTT client/server but not until some form of Agent include/library feature is available.

IBM is apparently building a bit of MQTT infrastructure.

@jwehr Sorry I should clarify, the point they are making is no vendors system talks easily to any other. So if you wanted to make an IMP button panel control a Philips Hue, you have to go and learn Philips API and then if you want to access your security systems sensors, you have to go and learn that API, and if you want then to talk to your TV well… you get the idea.

IMP already suffers a bit with this, as if you want to seamlessly use some of the other control systems such as IFTTT, tasker or whatever, you need the vendor of that system to build out to the IMP API, it’d be great if by publishing a MQTT interface or whatever you can access them and they can access you.

I understand tucked away in the IMPs backend there is some node.js and there are node.js libraries that do MQTT so maybe its something that wouldn’t have to be coded from scratch.

@back_ache MQTT doesn’t solve the leaning the API for each device or system. It’s just provides light weight store & forward. MQTT is striped down version of IBM MQ stack and Andy Staford Clark has been promoting it in the UK for over 5 years and he works for IBM.

Take look at

@controlcloud thats a pity, thanks for clarifying. Funnily enough a “control cloud” is just what we need, Something that abstracts the underlying api’s in a similar style to what a “enterprise message bus” does for business’s

Okay I’ve just sat though an hours worth of MQTT lecture with an aim to understand how it could fit into IMP’s universe.

It is a lightweight message queue and although IBM are involved it is open source and there are implementations of clients for it seems every almost every language and device, similarly the server component called a “broker” is implemented of everything from a raspberry pi to commercial system dealing with 100k’s of simultaneous connections, failover, global load-balancing etc.

Perhaps the word commercial is where it should come onto the imp’s radar, because big commercial projects with 100k’s of connections are at the heart of what imp is designed for, supporting a protocol with the same aim would seem sensible. I would imagine all anyone would expect is just the imp-cloud to allow us to emulate edge-devices so we can send and receive data with other devices connected to the same broker.

Hopefully one day this mish-mash will sort itself out but for now backing more than one horse maybe a good strategy

Thanks for sharing

@back_ache thanks for this. Are you a node.js man? there are node packages for MQTT perhaps a requested feature Add to e.imp. But I for one would like to see web sockets before that.

Imp is my fun way to get into “curly bracket” languages as the current language/environment I support is outdated and becoming more niche by the day, I like the idea of node.js but for now I just need to retool to something that will continue pay the bills