Makato-kan が 2022年09月24日10時24分35秒 に編集
初版
タイトルの変更
ラズベリーパイにMQTTの設定をする
タグの変更
MQTT
ラズベリーパイ
RaspberryPi
記事種類の変更
セットアップや使用方法
本文の変更
ラズベリーパイにMQTTの設定をする方法です。 すいません、大雑把な記述です。 ![MQTTのイメージ](https://camo.elchika.com/d9718065f13a1bf488b4d31ab531db0b840cd0b1/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f66373831653764372d303336352d343131662d613663362d3663623238333931346464342f30313135633038612d363265352d343964632d393839392d663865666333313962386639/) ### 必要な物: 無線LANの親機 ラズベリーパイ (ラズパイ3以上のモデルが良いです) M5StickやらESP-WROOM-02等 ### 概要: ラズベリーパイにMQTTのブローカーを設定します ESP-WROOM-02などでMQTTのパブリッシャーを設定し データを送信できるようにします ラズベリーパイにMQTTのサブスクライバーを設定し データを受信できるようにします。 ### ブローカーの設定: ソフトのダウンロード ``` $ sudo apt install mosquitto ``` インストール終了するとmosquittoというサーバーが 動くようになります。 ### パスワードの設定: パスワードは テキストエディタなどで "ユーザ名:パスワード"のファイルを作り ``` $ mosquitto_passwd ``` コマンドで暗号化します。 暗号化したファイル名を/etc/mosquitto/mosquitto.confに 指定すれば出来上がりです。 ### パブリッシャーの設定: M5-StickCに設定して温度湿度データを送信する記事が あります。 [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 ### ちょっとした事: 一つのトピック名で複数のパブリッシャーがあると そのトピック名をしていたサブスクライバーは複数の パブリッシャーから送られたデータをすべて受け取る事になります。 ある意味便利かもしれませんが、同じタイミングでデータ送信 された場合取りこぼしなく受け取れるかは試した事ありません。