🐍

MQTT入門

2022/01/16に公開

通信はWebSocketを使いがちなので、別のプロトコルも触ってみる。

MQTTとは

  • TCP/IPで使用できる通信プロトコル
  • Message Queueing Telemetry Transport、の略
  • 大量のデータを双方向に通信させることができる
  • 軽量でマシンスペックを必要としないのが特徴
  • 主にIoTで使用される

Pub/Sub型プロトコルとは

  • メッセージの送信者側(Publisher)と受信者側(Subscriber)がBroker(中継地点)を通して通信を行う
  • メッセージのやりとりはTopicで行われる
  • Topicは「/」によって階層構造を表現した文字列

導入

pythonのモジュールである「mosquitto」を使う。
ラズパイで動かす想定なので、パッケージ管理はapt-getを使う。

$ sudo apt-get install mosquitto
$ sudo apt-get install mosquitto-clients
# status確認
$ sudo service mosquitto status

Subを起動。

$ mosquitto_sub -h localhost -t test/hello

Pubを発行して、メッセージを確認。

$ mosquitto_pub -h localhost -t test/hello -m HelloMQTT!

Sub側にメッセージが表示されれば成功!

Discussion