edisonでmqtt
TRANSCRIPT
EdisonでMQTT若山史郎 (@r_rudi) ツキノワ株式会社
お前だれよ• 若山史郎 (ツキノワ株式会社)
• github: shirou / twitter: r_rudi
• 普段はgo言語とJSを使ってWebアプリを書いてます
• Ansibleもやってます
• MQTTのサービスをやってます
• GitHubアカウントでだれでもすぐに使えます
MQTTとは
• "Internet of Things" (IoT) 向けプロトコル (TCP/IP上)
• 大量のクライアントから小さいデータを送受信するのに向いている
• センサー
• スマホ
• (Message Queueではありません)
MQTTの特長
• 軽量 (固定ヘッダ長2byte、実装のfootprintが小さい)
• 1対多、多対多のメッセージ配布
• publish/subscribeモデル
• 双方向
• client と server がお互いに通信できる
• 切断を検知など不安定な環境での動作に便利な機能
Publish/Subscribe型
ServerTopic Topic Topic
PublisherSubscriber
1. 事前に登録
Subscriber
2. メッセージ送信
3. 配信
• お互いに知らない
• 勝手に送って勝手に受け取る
• 必要なtopicだけ登録
EdisonでMQTT
• 実は最初からMQTTが使えます
• mosquito というOSS実装を標準搭載
• rootで(未修正の課題)
• しかも初期状態でサーバーが起動している
Intel IoT Analytics• https://dashboard.us.enableiot.com/
• IntelのIoTプラットフォーム
• iotkit-agent というサービスが動いている
• HTTPの他、MQTTでも情報を登録できる
デモ: MQTTで送る
• WICEDという BLE モジュール
• 温度、湿度、加速度計など5種類のセンサ
• cylonjs (http://cylonjs.com/) から簡単に扱える
• MQTTは標準のmosquitto_pubコマンドで送信
• mqttcli (https://github.com/shirou/mqttcli) はもうちょっと便利
実行コマンド
node get_info.js | \ mosquitto_pub -h “sango-liteplan” \ -t “shirou@github/edison/elb” —l
まとめ
• MQTTという軽量プロトコルがあります
• 多対多、双方向で通信できて便利
• EdisonはBLEとWiFiが載ってるのでセンサー環境構築に便利
• sango: http://sango.shiguredo.jp/ をぜひ使ってみてください!