IoTでは、デバイスとクラウド間との通信に、よくMQTTが使われます。
Raspberry Piでは、簡単にMQTTを試してみることができます。
この記事で、解決できること
Raspberry Pi上で、MQTT通信ソフトであるmosquittoを動かして、MQTTを理解します。
MQTT(Message Queue Telemetry Transport)とは
MQTT は、Publish/Subscribe メッセージングモデルにより、非同期に 1 対多の通信ができるプロトコルです。プロトコル仕様は、軽量かつシンプルにデザインされています。IoT(Internet of Things)や M2M(Machine to Machine)などのように、小メモリやネットワーク帯域幅が限られているような環境での利用に適しています。
Publish/Subscribe メッセージングモデルとは
・MQTTではデータの送受信をPublisher(送信者)、Subscriber(受信者)の2つの役割にわけて行います。
・PublisherはMQTTブローカーにデータを送信します。
・SubscriberはMQTTブローカーにデータを受信しに行きます。
AMG Solutionサイトより引用
Mosquittoとは
Eclipse Mosquittoは、MQTTプロトコルバージョン5.0、3.1.1、および3.1を実装するオープンソース(EPL / EDLライセンス)メッセージブローカーです。Mosquittoは軽量で、低電力のシングルボードコンピューターからフルサーバーまで、すべてのデバイスでの使用に適しています。
Eclipse Mosquittoサイトより引用
環境
・Windows10 home
・Raspberry Pi OS
mosquittoのインストール
サーバ(Broker)のインストール
Raspberry Piのコンソール(コンソールAとします)にて、以下のコマンド入力します。
$ sudo apt install mosquitto
クライアントのインストール
クライアント側は、コンソール(コンソールBとします)をもう一つ立ち上げてから、以下のコマンド入力します。
$ sudo apt install mosquitto-clients
mosquittoの動かし方
サーバ(Broker)の起動
コンソールA上で、以下のコマンドを入力します。
$ sudo systemctl start mosquitto
クライアントの起動
コンソールB上で、以下のコマンドを入力します。
$ mosquitto_sub -d -t orz
サーバからメッセージを送信する
コンソールA上で、以下のコマンドを入力します。
$ mosquitto_pub -d -t orz -m "こんにちは Raspberry Pi"
コンソールB上に、以下が表示されます。
こんにちは Raspberry Pi
まとめ
今回は、Raspberry Pi上で、MQTT通信ソフトであるmosquittoを動かしてみました。
コメント