MQTTで始めるIoTデバイスの作り方 第2回:MQTTのプロトコルを解析して挙動を理解するMQTTで始めるIoTデバイスづくり(2)(3/5 ページ)

» 2016年06月01日 07時00分 公開
[今岡通博MONOist]

 それではAndroid端末のアプリからブローカーに接続して、メッセージをパブリッシュしてみます。以下がAndroid端末側の操作画面です。

「IoT MQTT Dashboard」の操作画面

 まず「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端末から切断要求が届きました。

Copyright © ITmedia, Inc. All Rights Reserved.