Raspberry PiでMQTT通して連携

この数週間Raspberry PiにによりHome Automationなどを再考して、Node.js、WebIOPiなど、サーバとして可能性を調べているが、なぜかMQTTに出会って、実装までして、全く違う方向へ進行した。

先週たまたま Ruby – Raspberry Pi で室内の温度を可視化するよー – Qiita 記事を見て、「Sango を介して(MQTT で)結果を Graphite に飛ばす」とはなにか、調べてみた。

MQTTは、M2MやIoT向けの軽量プロトコル。いろいろとメリットあるが、Raspberry PiでMQTT通して連携するメリット考えると

  1. ルータに穴を開ける必要がない
  2. サーバ公開する必要がない
  3. セッション維持する必要がない
  4. 重いHTTPサーバもつ必要がない

実は2年前も自宅に、Raspberry Pi wireless 温度計の制作 をしたが、サーバ公開してないので、外から見れない。もちらん公開する方法もあるが、自宅サーバ際クラウドへ移転などするので、Raspberry PiだけのためにDDNSメンテナンスする気がならない。MQTTならブローカーに繋がれば、いろいろ連携プレーが考えられる。

早速自宅温度データをSango にPubして、他所からSubで見れるようになった。

それからMQTTを通して、自宅Raspberry Piの液晶表示版にテキスト表示、LEDバックライトのON/OFFもできた!

これから、MQTTのメッセージをMongoDBに保存、Google spreadsheetsに保存、グラフ表示、plot.lyのグラフ表示など、やってみたいと思う。

そうそう、AppInventorから、MQTTを通して、Raspberry Piの状態表示、GPIOのコントロールもしてみたい。