M5StickC PlusでEclipse Mosquittoに接続する(MQTTプロトコル)
はじめに
M5StickC PlusでEclipse Mosquittoに接続し、送信した内容をM5StickC PlusやMQTTブローカーのSubscriberで見られるようにします。
前提条件
MQTTブローカーのIPアドレスは[192.168.1.12]とします。
MQTTブローカーは、DockerでEclipse Mosquittoのコンテナを使用します。
サンプルプログラム
Arduino IDEで、[Files]-[Examples]-[M5StickPlus]-[Advanced]-[MQTT]を開きます。
23/7/22時点では、MQTT.inoファイルの日付は[Date: 2021/11/5]でした。
サンプルプログラムでは、M5StickC Plusで[hello world]を発行し、コールバックにより発行した文字列を受信し、画面上で見ることができます。
また、プログラム内にも記述はありますが、トピックは[M5Stack]になっています。
MQTT.inoファイルを、使用するWifi環境に合わせて変更します。
22行目~24行目
const char* ssid = "Explore-F"; //←Wifi環境のSSID
const char* password = "xingchentansuo123"; // SSIDのパスワード
const char* mqtt_server = "mqtt.m5stack.com"; //MQTTブローカーのアドレス
const char* ssid = "xxxxxxxxxxxx"; //←Wifi環境のSSID
const char* password = "xxxxxxxxxxxxxxxxx"; // SSIDのパスワード
const char* mqtt_server = "192.168.1.12"; //MQTTブローカーのアドレス
変更したら、M5StickC Plusに書き込みます。
MQTTブローカーの立ち上げ
以下を参考にdockerでMQTTブローカー(Eclipse Mosquitto)を立ち上げます。
Eclipse Mosquitto 受信側(Subscriber)の事前準備
Docker側のPCで、Eclipse Mosquittoの受信側の設定をします。以下のコマンドを実行し、Dockerコンテナの中に入ります。
docker exec -it mymosquitto /bin/sh
以下を実行します。メッセージをやり取りするトピックは[M5Stack]とします。
mosquitto_sub -t M5Stack
M5StickC Plusの動作確認
M5StickC Plusの画面には、hello worldの文字が表示(送信、受信)されます。
また、Docker側の端末(Subscriber)には、M5StickC Plusで送信したhello worldの文字が表示されます。
更新履歴
2023/7/23 作成
Discussion