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

» 2016年06月01日 07時00分 公開
[今岡通博MONOist]
前のページへ 1|2|3|4|5       
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に接続してみたいと思います。お楽しみに。

前のページへ 1|2|3|4|5       

Copyright © ITmedia, Inc. All Rights Reserved.