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」をクリックしダウンロード

インストール

エラーが発生したのでファイアウォールのポートを許可する。

ファイアウォール

「スタート」メニュー→「Windowsシステムツール」の「コントロール パネル」→「システムとセキュリティ」→「Windows Defender ファイアウォール」を選択

「詳細設定」を選択

「新しい規則」を選択

「ポート」を選択し、次へ

MQTTは1883番ポートを利用するのでファイアウォールなどの設定を確認し、1883番がメッセージの送受信に利用できる状態にする。

起動確認

インストール後、コマンドプロンプトで「mosquitto -v 」と入力しバージョンが出力されるか確認

メッセージ送受信テスト

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

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.

参考

MQTTで始めるIoTデバイスの作り方

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA