検索
ニュース

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

連載では「MQTT」を利用して簡単なIoTデバイスを製作し、ネットサービスに接続できるまでを紹介しますが、デバイスの自作を考えるとMQTTのプロトコルやメッセージシーケンスへの理解は欠かせません。

Share
Tweet
LINE
Hatena
前のページへ |       
subscribe要求に対するAck
       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 
-------------------------------------------------------------------------
0000   90 03 00 02 00                                   .....

 これはブローカーからクライアントに送られるメッセージです。

 0x90はMQTTのsubscribe要求に対するAckであることを示しています。次の0x03はメッセージの長さを示します。

Publish メッセージ
       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 
-------------------------------------------------------------------------
0000   30 0e 00 0b 61 72 64 75 69 6e 6f 2f 64 32 2f 31  0...arduino/d2/1

 これはパブリッシャーからブローカーに送られますし、ブローカーからサブスクライバーにも送られるメッセージです。

 0x30はMQTTのpublishメッセージであることを示しています。0x0eはメッセージの長さを示します。0x0bは次に続く文字列の内どこまでがトピックかを示しています。この場合11文字までがトピックでそれより後がメッセージです。arduino/d2/までがトピックで1がメッセージです。

切断要求
       00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 
-------------------------------------------------------------------------
0000   e0 00                                            ..

 これはクライアントからブローカーに送られるメッセージです。

 0xe0はMQTTの切断要求であることを示しています。0x00はメッセージの長さを示します。

おわりに

 今回はPC上のブローカーに対してスマホで接続し、メッセージのやりとりをWiresharekで観測しました。次回はマイコンに接続可能なWi-Fiモジュールを使ってmosquittoに接続してみたいと思います。お楽しみに。

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る