<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>