edisonでmqtt

10
EdisonMQTT 若山史郎 (@r_rudi) ツキノワ株式会社

Upload: shirou-wakayama

Post on 16-Jul-2015

1.142 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: EdisonでMQTT

EdisonでMQTT若山史郎 (@r_rudi) ツキノワ株式会社

Page 2: EdisonでMQTT

お前だれよ• 若山史郎 (ツキノワ株式会社)

• github: shirou / twitter: r_rudi

• 普段はgo言語とJSを使ってWebアプリを書いてます

• Ansibleもやってます

• MQTTのサービスをやってます

• GitHubアカウントでだれでもすぐに使えます

Page 3: EdisonでMQTT

MQTTとは

• "Internet of Things" (IoT) 向けプロトコル (TCP/IP上)

• 大量のクライアントから小さいデータを送受信するのに向いている

• センサー

• スマホ

• (Message Queueではありません)

Page 4: EdisonでMQTT

MQTTの特長

• 軽量 (固定ヘッダ長2byte、実装のfootprintが小さい)

• 1対多、多対多のメッセージ配布

• publish/subscribeモデル

• 双方向

• client と server がお互いに通信できる

• 切断を検知など不安定な環境での動作に便利な機能

Page 5: EdisonでMQTT

Publish/Subscribe型

ServerTopic Topic Topic

PublisherSubscriber

1. 事前に登録

Subscriber

2. メッセージ送信

3. 配信

• お互いに知らない

• 勝手に送って勝手に受け取る

• 必要なtopicだけ登録

Page 6: EdisonでMQTT

EdisonでMQTT

• 実は最初からMQTTが使えます

• mosquito というOSS実装を標準搭載

• rootで(未修正の課題)

• しかも初期状態でサーバーが起動している

Page 7: EdisonでMQTT

Intel IoT Analytics• https://dashboard.us.enableiot.com/

• IntelのIoTプラットフォーム

• iotkit-agent というサービスが動いている

• HTTPの他、MQTTでも情報を登録できる

Page 8: EdisonでMQTT

デモ: MQTTで送る

• WICEDという BLE モジュール

• 温度、湿度、加速度計など5種類のセンサ

• cylonjs (http://cylonjs.com/) から簡単に扱える

• MQTTは標準のmosquitto_pubコマンドで送信

• mqttcli (https://github.com/shirou/mqttcli) はもうちょっと便利

Page 9: EdisonでMQTT

実行コマンド

node get_info.js | \ mosquitto_pub -h “sango-liteplan” \ -t “shirou@github/edison/elb” —l

Page 10: EdisonでMQTT

まとめ

• MQTTという軽量プロトコルがあります

• 多対多、双方向で通信できて便利

• EdisonはBLEとWiFiが載ってるのでセンサー環境構築に便利

• sango: http://sango.shiguredo.jp/ をぜひ使ってみてください!