Makato-kan が 2022年09月24日18時21分36秒 に編集
図の訂正 記事の再編集
タイトルの変更
ラズベリーパイにMQTTの設定をする
ラズベリーパイにMQTTブローカーの設定をする
本文の変更
ラズベリーパイにMQTTの設定をする方法です。 すいません、大雑把な記述です。 ![MQTTのイメージ](https://camo.elchika.com/d9718065f13a1bf488b4d31ab531db0b840cd0b1/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f66373831653764372d303336352d343131662d613663362d3663623238333931346464342f30313135633038612d363265352d343964632d393839392d663865666333313962386639/)
ラズベリーパイにMQTTブローカーの設定をする方法です。 すいません、かなり雑な説明です。詳しい事はCQ出版社の月刊誌インターフェース11月号の付録を 読まれると良いかと思います。 ![MQTTのイメージ](https://camo.elchika.com/4f3606bb298a9d463481acf54afd1ecd2ff9901a/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f66373831653764372d303336352d343131662d613663362d3663623238333931346464342f31613865346631382d653637372d343661352d396464342d393339633663303337326634/) パブリッシャー: データを送信している人 ブローカー:パブリッシャーからのデータを受信する人 データをサブスクライバーに送信する人 サブスクライバー: パブリッシャーのデータを受け取る人 トピック:配信するデータのこと
### 必要な物: 無線LANの親機 ラズベリーパイ (ラズパイ3以上のモデルが良いです) M5StickやらESP-WROOM-02等 ### 概要: ラズベリーパイにMQTTのブローカーを設定します ESP-WROOM-02などでMQTTのパブリッシャーを設定し データを送信できるようにします
ラズベリーパイにMQTTのサブスクライバーを設定し
ラズベリーパイにMQTTブローカーとサブスクライバーを設定し
データを受信できるようにします。 ### ブローカーの設定: ソフトのダウンロード ``` $ sudo apt install mosquitto ``` インストール終了するとmosquittoというサーバーが 動くようになります。 ### パスワードの設定: パスワードは テキストエディタなどで "ユーザ名:パスワード"のファイルを作り ``` $ mosquitto_passwd ``` コマンドで暗号化します。 暗号化したファイル名を/etc/mosquitto/mosquitto.confに 指定すれば出来上がりです。 ### パブリッシャーの設定:
M5-StickCに設定して温度湿度データを送信する記事が あります。
たとえばESP-WROOM-02で設定して温度湿度データを送信する記事があります。
[ESP-WROOM-02とDHT11で温度・湿度をMQTT送信するよ](https://elchika.com/article/44f9743e-ecd2-4b92-9204-5a124d91d3ea/) ### サブクスライバーの設定: ソフトのダウンロード ``` $ sudo apt install mosquitto-clients ``` サブスクライバーコマンド例 ``` $ mosquitto_sub -h MQTT.local -u pi -P password -t sensor1 -F @Y,@m,@d,"@H:@M",%p ``` 受信データを記録したい場合は標準出力をファイルにしてコマンド実行しました。 ``` $ mosquitto_sub -h MQTT.loca -u pi -P password l -t sensor1 -F @Y,@m,@d,"@H:@M",%p >>/home/pi/senser.csv ``` ※ブローカーホスト名 MQTT.local トピック名 sensor1 ### ちょっとした事: 一つのトピック名で複数のパブリッシャーがあると
そのトピック名をしていたサブスクライバーは複数の
そのトピック名を指定したサブスクライバーは複数の
パブリッシャーから送られたデータをすべて受け取る事になります。 ある意味便利かもしれませんが、同じタイミングでデータ送信 された場合取りこぼしなく受け取れるかは試した事ありません。