Support for AWS IoT MQTT


#1

Hello All,

Just wondering whether there are plans to add a library to support MQTT (publish/subscribe) for use with AWS IoT?

The main blocker here is the Squirrel language as libraries (or SDKs) are readily available for other languages.

Thanks in advance!


#2

I have been told there is something coming in the mqtt space. I’m looking forward to seeing detail too, ie will it be the agent that subscribes or is it the device itself.


#3

It’ll be the agent, not the device :slight_smile:

The blocker isn’t squirrel, it’s that there’s no MQTT implementation plumbed into the agent APIs. We don’t allow agents to have raw network access for many good reasons.


#4

Thanks for the response.

Yeah I assumed it would be the agent (as opposed to the device). Regarding Squirrel, I was actually referring to the lack of a stable MQTT implementation assuming it could be done directly from the agent. But given that it isn’t possible (for good reason I agree) then the plumbing is definitely the missing link.

Is there a rough ETA on when this will be released?


#5

@hugo, is the Imp agent not built on AWS? If so, would an implementation of AWS’s IOT module, which would then handle the MQTT stuff (http://docs.aws.amazon.com/iot/latest/developerguide/protocols.html), not work, if you design it so that only the AWS IOT module “talks” to your Imp code for mqtt protocol. This way you have a type of “proxy” acting as a safeguard. Then you design an agent library which can only talk to AWS IOT mqtt broker and this acts as a bridge to the outside mqtt world. Just throwing this idea out there…


#6

The imp public cloud runs on AWS yes, but it’s built on Erlang/C++/Linux - which explains why we can deploy clouds to Azure just fine too.

Generally, we use generic protocol implementations, and add the vendor extensions in libraries above this. For example, our Azure IoT implementation is a generic AMQP client exposed as an API to the agent code, with the Azure IoT specific bits being wrapped up in an open source squirrel library.

We already have MQTT implemented, it’s just a little way from being production ready - really just waiting for a customer to have this as a requirement to prioritize it.


#7

If Jeff Barr or Bezos is reading this, how about prompting hugo… :wink: