MQTTで始めるIoTデバイスの作り方 第3回:ESP8266でMQTT:MQTTで始めるIoTデバイスづくり(3)(3/4 ページ)
この連載では簡単なIoTデバイスを製作し、「MQTT」を利用してネットサービスに接続できるまでを紹介します。今回はマイコンに接続可能なWi-FiモジュールをMosquittoに接続するまでの下準備です。
Tera TermからのオペレーションでMQTTメッセージを送信
ESP8266をWi-Fiのアクセスポイントに接続するところまでは(ESP8266を宅内Wi-Fiにぶら下げるATコマンド実例)を参照してください。
筆者の環境ではブローカーのあるPCが192.168.1.16、ESP8266が192.168.1.15となりました。これらのIPアドレスはDHCPサーバ機能のあるWi-Fiアクセスポイントにより付与されたものです。
今回はWindows PCでの操作なのでターミナルエミュレーターとして「Tera Term」を用います。他のターミナルエミュレーターを使う場合、バイナリの送信ができるものを選んでください。MQTTのメッセージにはASCIIコード以外も含まれますので、バイナリの送信機能が必須となります。以下はTera Termでバイナリ送信ができるようにするための設定画面です。
変更箇所は2か所です。改行コードの送信側を「CR+LF」とします。これはATコマンドに対応するための設定です。画面下の中央に「漢字-送信」の項目がありますが、ここを「SJIS」に変更してください。これでASCII以外のコードも送信できるようになります。
次に送信するメッセージをあらかじめ用意しておきます。毎回キーボードから送信するメッセージを打ち込むは大変ですし、ASCII以外のコードをキーボードから打ち込むのはこれまた大変です。TeraTermではマクロ機能を使えばバイナリデーターも含め送信データをあらかじめ保存することができます。
以下の4つのマクロをテキストエディタで作成しファイルとして保存します。sendの行がマクロです。ファイル拡張子はttlとします。$をつけると16進表記の数値を記述できます。数字の並びと意味については前回の記事(MQTTで始めるIoTデバイスの作り方 第2回:MQTTのプロトコルを解析して挙動を理解する)を参考にしてください。
ファイル名:“connect.ttl”
ファイルの内容:
Send $10$17$00$06$4d$51$49$73$64$70$03$02$00$3c$00$07$67$75$65$73$74$30$31
“guest01”がユーザーネームとなります。
送信バイト数:25
ファイル名:“sub.ttl”
ファイルの内容:
Send $82$06$00$01$00$01$23$00
$23すなわち“#”がサブスクライブするトッピクになります。この場合全てのトピックをサブスクライブする要求となります。
送信バイト数:8
ファイル名:“pub1.ttl”
ファイルの内容:
Send $30$0e$00$0b$61$72$64$75$69$6e$6f$2f$64$32$2f$31
“arduino/d2/”がトピックで1がメッセージです。
送信バイト数:16
ファイル名:“pub0.ttl”
ファイルの内容:
Send $30$0e$00$0b$61$72$64$75$69$6e$6f$2f$64$32$2f$30
“arduino/d2/”がトピックで0がメッセージです。
送信バイト数:16
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- MQTTで始めるIoTデバイスの作り方 第2回:MQTTのプロトコルを解析して挙動を理解する
連載では「MQTT」を利用して簡単なIoTデバイスを製作し、ネットサービスに接続できるまでを紹介しますが、デバイスの自作を考えるとMQTTのプロトコルやメッセージシーケンスへの理解は欠かせません。 - MQTTで始めるIoTデバイスの作り方 第1回:「MQTT」を知り「Mosquitto」を導入する
この連載では「MQTT」を利用して簡単なIoTデバイスを製作して、ネット上のサービスに接続できるまでを紹介します。電子工作やアナログ制御に不慣れでも読み進められる内容としますので、気軽に挑戦してみてください。 - 話題の技適Wi-Fiモジュール「ESP8266」でIoTを手作りする
これから数回に渡り、今後、IoTエンドデバイス開発に大きな意味を持つと思われる、安価な技適認証済みWi-Fiモジュールを用いた作例を紹介していきたいと思います。 - ESP8266を宅内Wi-Fiにぶら下げるATコマンド実例
話題の技適モジュール「ESP8266」をWi-Fi接続して、ESP8266を宅内Wi-FiのAPにぶら下げる/APにする、といったATコマンド制御を紹介します。