背景
- Ruby東京プレゼンテーション2015 に参加した
- 時間: 2015-01-30(金) 13:30 - 18:00
- 今回のセミナー参加したから、「MQTT」という言葉は、初耳だった
MQTTとは
- Message Queuing Telemetry Transportの略称
- IoTやM2M向けに開発された軽量プロトコル
- デバイスから少量的なデータの送受信や3Gなど不安定的なネットワーク環境に最適化される
- クライアントとサーバ側に、いろいろな言語で書かれている
サイト
- 公式サイト
- http://mqtt.org
- 現在のバージョン
- MQTT Version 3.1.1
- githubとwiki
- https://github.com/mqtt
- https://github.com/mqtt/mqtt.github.io/wiki
機能
publisher
- メッセージをbrokerへの送信側
subscriber
- メッセージをbrokerからの受信側
topic
- subscriber側に、指定しているtopicだけを受信することができる
- 例えば、/datacenter/harumi/floor/42/temperatureを指定したら、subscriberがその温度を受信できる
broker
- topicに登録していたsubscriberに対して、messageの配信を行う.
will
- ここでのWillは「遺言」の意味
- publisher側が、意図しない理由で切断された場合に、このWillで指定されたtopicとmessageをsubscriberに送信する
retain
- topicごとに最後にpublishされたmessageをMQTTサーバーが保持しておき、新しいsubscriberにそのmessageを渡す機能
サーバー
mosquitto
apache apollo
MQTT as a Service sango
IBM MessageSight
クライアント
- https://github.com/mqtt/mqtt.github.io/wiki/libraries
- ruby, javaなどのMQTTクライアント