それではAndroid端末のアプリからブローカーに接続して、メッセージをパブリッシュしてみます。以下がAndroid端末側の操作画面です。
まず「PUBLISH」タブからパブリッシュ機能に切り替えた後、雲(クラウド)マークをタップしてブローカーに接続します。すると接続状態が「Connected」に変わります。そしてボタンをタップしてメッセージをパブリッシュします。そして最後にもう一度、雲マークをタップしてし接続を切断します。
この操作でやりとりされたMQTTプロトコルのパケットは、下図の様にキャプチャーされました。
ここではIPアドレス「192.168.1.16」がブローカー、「192.168.1.12」が今回パブリッシャーとなっているAndroid端末のIPアドレスです。No順に解説すると以下のようになります。
No.56でAndroid端末からブローカーに対して接続要求を行っています。すると接続を受け付けた旨の「Ack」をブローカーからAndroid端末に返しています(No.57)。その後、No.59ではAndroid端末からサブスクライブ要求を送っています。No.60でサブスクライブ要求に対してブローカーがサブスクライバーに対しAckを送っています。その後No.64までがサブスクライブ要求とブローカーからのAckのやりとりが続きます。
No.76でAndroid端末からブローカーに対して、パブリッシュメッセージが送られています。No.77で先ほど送られたパブリッシュメッセージのトピックをサブスクライブ要求したサブスクライバーがいたので、ブローカーがそのサブスクライバーに対してパブリッシュメッセージを送っています。No.119でAndroid端末から切断要求が届きました。
MQTTで始めるIoTデバイスの作り方 第1回:「MQTT」を知り「Mosquitto」を導入する
WebブラウザからHTTPサーバ経由でESP8266に接続されたセンサーの値を読み出す
ESP8266を使って、Webブラウザ経由でマイコンを制御する
ESP8266にmbedマイコンを接続してM2Mを実現する
ESP8266を宅内Wi-Fiにぶら下げるATコマンド実例
ESP8266を宅内Wi-Fiにぶら下げるATコマンド実例Copyright © ITmedia, Inc. All Rights Reserved.
組み込み開発の記事ランキング
コーナーリンク
よく読まれている編集記者コラム