<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Forwarded to the list for a searchable record...<br><div><br><div>Begin forwarded message:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>From: </b></span><span style="font-family:'Helvetica'; font-size:medium;">Bruno Girin <br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>Date: </b></span><span style="font-family:'Helvetica'; font-size:medium;">10 March 2013 23:17:37 GMT<br></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>To: </b></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px;"><span style="font-family:'Helvetica'; font-size:medium; color:rgba(0, 0, 0, 1);"><b>Subject: </b></span><span style="font-family:'Helvetica'; font-size:medium;"><b>MQTT [Was: Re: PCB builds of V0.09]</b><br></span></div><br>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
<div text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Hi all,<br>
<br>
I had a play with MQTT over the weekend. It is indeed very easy to
setup and use. If you want to give it a go on Linux, install the
mosquitto server: it's running on my Raspberry Pi with very little
impact on the processor [1].<br>
<br>
[2] is where Eclipse Paho is hosted, which provides C and Java
clients. Mosquitto provides a C library, python and JavaScript
clients. You have clients for Arduino [3] and Nanode [4] as well.
Full list: [5]. Also note that more heavy-weight MQ brokers like
RabbitMQ and Apache Apollo (aka ActiveMQ) have MQTT plugins.<br>
<br>
In terms of usage, both the Java and python libraries are dead
easy to use.<br>
<br>
When it comes to real life, MQTT makes it easy to send generic
payloads to a given topic on a given broker. In this respect, it
is not unlike REST services: where MQTT has a topic and a payload,
REST has a URL and a payload (and an HTTP verb, let's assume
POST). In both cases, there is no particular specification for the
format of the payload so we would need to define one. We could
probably use JSON as a payload format as it's simple to parse and
all languages that support MQTT have JSON parsers.<br>
<br>
MQTT topics are slash separated paths so we could make both MQTT
and REST work in very similar ways:<br>
<br>
MQTT: broker = <a href="http://my.server.com">my.server.com</a>; topic = my/topic; payload = { key:
value }<br>
REST: URL = <a class="moz-txt-link-freetext" href="http://my.server.com/prefix/my/topic">http://my.server.com/prefix/my/topic</a>; verb = POST;
payload = { key: value }<br>
<br>
That way, you could use MQTT on an intranet and REST when going
over the internet with no change in the topic name or message
format. You could then have a home automation hub that speaks MQTT
and has a simple forwarder that subscribes to the right topics and
forwards to a data gathering server on the net.<br>
<br>
In addition to all this, we would probably want to devise a
simplified format for the payload that would be suitable for the
PICAXE implementations although JSON might even be lightweight
enough for the PICAXE.<br>
<br>
Sorry for the rambling nature of this email, I just wanted to dump
what I had on my mind so that you could comment on it.<br>
<br>
Cheers,<br>
<br>
Bruno<br>
<br>
[1] <a class="moz-txt-link-freetext" href="http://mosquitto.org/">http://mosquitto.org/</a><br>
[2] <a class="moz-txt-link-freetext" href="http://m2m.eclipse.org/">http://m2m.eclipse.org/</a><br>
[3] <a class="moz-txt-link-freetext" href="http://knolleary.net/arduino-client-for-mqtt/">http://knolleary.net/arduino-client-for-mqtt/</a><br>
[4] <a class="moz-txt-link-freetext" href="https://github.com/njh/NanodeMQTT/">https://github.com/njh/NanodeMQTT/</a><br>
[5] <a class="moz-txt-link-freetext" href="http://mqtt.org/software">http://mqtt.org/software</a><br>
<br>
On 07/03/13 07:38, Philip Canavan wrote:<br>
</div>
<blockquote cite="mid:1362641886.97495.YahooMailNeo@web171303.mail.ir2.yahoo.com" type="cite">
<div style="color:#000; background-color:#fff; font-family:Courier
New, courier, monaco, monospace, sans-serif;font-size:12pt">When
I spoke to Hekkers about the OpenTherm gateway, he was pretty
upbeat about MQTT ("<span class="yiv1646273578tab"><span style="font-family:
"Calibri","sans-serif"; color: black;" lang="EN-US">MQTT is great, I love it</span></span>"),
reckoning "<span class="yiv1646273578tab"><span style="font-family:
"Calibri","sans-serif"; color: black;" lang="EN-US">It has been proven to be very stable and easy
to install (I'm using it on Linux & Windows)</span></span>".
Given the momentum and the design parameters I think it might be
a good fit on the sensor side. I also think a suitably secured
REST interface would make sense on the control\status side of
things (in my mind I'm assuming a hub-and-spoke approach with
sensors and clients hanging off a central controller vs a pure
fabric of sensors).<br>
<br>
<br>
PS: Sorry for being all menu ideas and no cooking so far, but
after this long I'm putting the renovations first until I've got
a working house!<br>
<br>
</div>
</blockquote>
<br>
</div>
</blockquote></div><br></body></html>