MQTT
M2M(Machine to machine)機械同士の通信に使われるプロトコルを指向している。
通信モデル
メッセージを送信する「Publisher」(出版者)
受け取る「Subscriber」(購読者)
メッセージを仲介する「Broker」(仲介者)
を模した「Pub/Subモデル」と表現される
Broker
mosquitto
ダウンロード先
http://mosquitto.org/download/
windows64bitの場合「mosquitto-2.0.14-install-windows-x64.exe」をクリックしダウンロード
![](https://myto.website/wp-content/uploads/2022/07/image-7-1024x783.png)
インストール
![](https://myto.website/wp-content/uploads/2022/07/image-8.png)
![](https://myto.website/wp-content/uploads/2022/07/image-9.png)
![](https://myto.website/wp-content/uploads/2022/07/image-10.png)
![](https://myto.website/wp-content/uploads/2022/07/image-11.png)
![](https://myto.website/wp-content/uploads/2022/07/image-12.png)
![](https://myto.website/wp-content/uploads/2022/07/image-23-1024x230.png)
![](https://myto.website/wp-content/uploads/2022/07/image-14-1024x210.png)
エラーが発生したのでファイアウォールのポートを許可する。
ファイアウォール
「スタート」メニュー→「Windowsシステムツール」の「コントロール パネル」→「システムとセキュリティ」→「Windows Defender ファイアウォール」を選択
「詳細設定」を選択
![](https://myto.website/wp-content/uploads/2022/07/image-15-1024x635.png)
「新しい規則」を選択
![](https://myto.website/wp-content/uploads/2022/07/image-16-1024x352.png)
「ポート」を選択し、次へ
![](https://myto.website/wp-content/uploads/2022/07/image-17.png)
![](https://myto.website/wp-content/uploads/2022/07/image-18.png)
![](https://myto.website/wp-content/uploads/2022/07/image-19.png)
![](https://myto.website/wp-content/uploads/2022/07/image-20.png)
![](https://myto.website/wp-content/uploads/2022/07/image-21.png)
![](https://myto.website/wp-content/uploads/2022/07/image-22-1024x474.png)
MQTTは1883番ポートを利用するのでファイアウォールなどの設定を確認し、1883番がメッセージの送受信に利用できる状態にする。
起動確認
インストール後、コマンドプロンプトで「mosquitto -v 」と入力しバージョンが出力されるか確認
![](https://myto.website/wp-content/uploads/2022/07/image-13-1024x262.png)
メッセージ送受信テスト
![](https://myto.website/wp-content/uploads/2022/07/image-24-1024x349.png)
![](https://myto.website/wp-content/uploads/2022/07/image-25-1024x460.png)
サービスが起動中で動かなかった
サービスを止める
![](https://myto.website/wp-content/uploads/2022/08/image-16.png)
C:\Program Files\mosquitto>netstat -oan
アクティブな接続
プロトコル ローカル アドレス 外部アドレス 状態 PID
TCP 127.0.0.1:1883 0.0.0.0:0 LISTENING 7456
TCP [::1]:1883 [::]:0 LISTENING 7456
サービスを再開する
![](https://myto.website/wp-content/uploads/2022/08/image-17.png)
![](https://myto.website/wp-content/uploads/2022/07/image-26-1024x315.png)
![](https://myto.website/wp-content/uploads/2022/07/image-27-1024x315.png)
![](https://myto.website/wp-content/uploads/2022/07/image-28-1024x204.png)
![](https://myto.website/wp-content/uploads/2022/07/image-29-1024x349.png)
![](https://myto.website/wp-content/uploads/2022/07/image-30-1024x373.png)
C:\Program Files\mosquitto>mosquitto_sub -h 127.0.0.1 -t "#" -v
C:\Program Files\mosquitto>
C:\Program Files\mosquitto>mosquitto_pub -h 127.0.0.1 -t arduino/d2/ -m "i"
C:\Program Files\mosquitto>
1658218377: Sending PINGRESP to auto-24BF5A45-623F-BA18-C4D2-65C0E96AE53C
1658218422: New connection from 127.0.0.1:59522 on port 1883.
1658218422: New client connected from 127.0.0.1:59522 as auto-27D9E42E-E2F1-63E7-E2A5-6BA7BC0080D8 (p2, c1, k60).
1658218422: No will message specified.
1658218422: Sending CONNACK to auto-27D9E42E-E2F1-63E7-E2A5-6BA7BC0080D8 (0, 0)
1658218422: Received PUBLISH from auto-27D9E42E-E2F1-63E7-E2A5-6BA7BC0080D8 (d0, q0, r0, m0, 'arduino/d2/', ... (1 bytes))
1658218422: Sending PUBLISH to auto-24BF5A45-623F-BA18-C4D2-65C0E96AE53C (d0, q0, r0, m0, 'arduino/d2/', ... (1 bytes))
1658218422: Received DISCONNECT from auto-27D9E42E-E2F1-63E7-E2A5-6BA7BC0080D8
1658218422: Client auto-27D9E42E-E2F1-63E7-E2A5-6BA7BC0080D8 disconnected.