🐝

M5StickC PlusでEclipse Mosquittoに接続する(MQTTプロトコル)

2023/07/23に公開

はじめに

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行目

MQTT.ino(変更前)
const char* ssid        = "Explore-F"; //←Wifi環境のSSID
const char* password    = "xingchentansuo123";  // SSIDのパスワード
const char* mqtt_server = "mqtt.m5stack.com"; //MQTTブローカーのアドレス
MQTT.ino(変更後)
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)を立ち上げます。
https://zenn.dev/isi00141/articles/511a516ced27c5

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