ラズパイにインストールしたmosquittoへ何かデータを送信したく、M5StickC Plus2に環境センサーを取得して、MQTTで送信するところまで作っていきます。
今回は以下のページを参考にしました。
M5StickC Plus2に環境センサーを繋いだ状態
環境センサーから値を取得
以下のようなプログラムで環境センサーからデータが取得できています。
環境センサーのブロックを追加するとき
以下のようなダイアログが開くので、使用するユニットを選択し右下のConfirmボタンを押下します。
今回は、M5Stack用温湿度気圧センサユニット Ver.4(ENV Ⅳ)を使うので、ENV IVを選択しました。
MQTTのブロックを追加
以下のようなダイアログが開くので、今回はMQTTを選択してConfirmを押下します。
MQTTの送信処理を作ってみる
前回ラズパイ上に構築したMQTT Brokerは、ユーザ認証でしたので、Setupのブロックに以下の項目を設定しました。
項目 | 内容 |
---|---|
Set MQTT client id | 任意 |
サーバアドレス | MQTT Brokerが動作しているサーバのIPアドレス |
ポート番号 | 1883 |
ユーザ名 | brokerで設定したユーザ名 |
パスワード | 同じくbrokerで設定したパスワード |
keepalive | 0(デフォルト値) |
SSL | false |
MQTTをクリーンセッションで接続 | true |
LoopのブロックにはトピックとデータとQoSを設定しました。
このループだと1秒おきにMQTTプロトコルで温度、湿度、気圧が送信されます。
受信確認
Windows上でMQTTXを起動して上記で設定したトピックと同じものでSubscription登録をします。
そうすると1秒ごとに気圧、湿度、温度の順に並んだ状態でデータを受信できています。
{"press": "気圧", "hum": "湿度", "temp": "温度"}