Testing Mosquitto Broker and Client on Raspberry Pi
(https://randomnerdtutorials.com/testing-mosquitto-broker-and-client-on-raspbbery-pi/)
(備忘録として翻訳しました。内容に関する問合せは受けておりません。自分でも試している状況です。)
このチュートリアルでは、Raspberry Pi 上で Mosquitto MQTT Broker と MQTT Client をテストします。
MQTT クライアントを MQTT トピックにサブスクライブし、サンプルメッセージを発行します。
推奨するリソース:
- あなたは、Raspberry Piボードが必要です – 最適なRaspberry Piスターターキットをお読みください。
- Raspberry Pi OSのインストール、Wi-Fiのセットアップ、SSHの有効化および接続
- Raspberry PiにMosquitto Brokerをインストールする方法 (備忘録 2022年7月28日)
- MQTTとは何か、どのように動作するか
- Raspberry PiでNode-REDをはじめよう
MQTT Brokerのインストールをテストする
MQTT Brokerをインストールした後、Brokerのインストールをテストし、サンプルメッセージを公開するためにMQTT Clientをインストールすることをお勧めします。
以下のコマンドを実行して、MQTT Mosquitto Clientをインストールします。
pi@raspberry:~ $ sudo apt install -y mosquitto mosquitto-clients
Mosquittoをデーモンとしてバックグラウンドで実行します。
pi@raspberry:~ $ mosquitto -d
testTopicトピックに登録する
MosquittoクライアントでMQTTトピックを購読するには、ターミナルウィンドウ#1を開き、次のコマンドを入力します。
pi@raspberry:~ $ mosquitto_sub -d -t testTopic
あなたは今、testTopic というトピックを購読しています。
testTopic トピックに “Hello World!” メッセージを公開する
testTopic にサンプルメッセージを公開するには、ターミナルWindow #2を開いて、以下のコマンドを実行します。
pi@raspberry:~$ mosquitto_pub -d -t testTopic -m “Hello world!”
上図のように、ウィンドウ#1にメッセージ “Hello World!“が受信されます。
複数のクライアントへのメッセージの公開
Window #1 が testTopic というトピックを購読している状態で、新しいターミナル Window #3 を開き、以下のコマンドを実行して testTopic というトピックを購読します。
pi@raspberry:~ $ mosquitto_sub -d -t testTopic
Window#2で “Hello World!“メッセージを公開する。
pi@raspberry:~$ mosquitto_pub -d -t testTopic -m “Hello world!”
2つのクライアントが testTopic トピックをサブスクライブしているため、それぞれのクライアント両方が “Hello world!” を受信します。
この簡単な例では、MQTT の仕組みと、デバイス(例えば ESP8266 や ESP32 など)が同じトピックにサブスクライブしてメッセージを受信したり、デバイスが複数のデバイスにメッセージをパブリッシュしたりできることを示しました。
まとめ
このチュートリアルでは、Raspberry PiにインストールしたMosquitto ブローカーが正常に動作していることを確認しました。
これで、ESP32/ESP8266 IoTプロジェクトでMQTTを実験することができます。
私たちは、あなたが実験することができるいくつかのMQTTの実用的な例を持っています。
以下はその例です。
- ESP32 MQTT – Arduino IDEでパブリッシュとサブスクライブを行う
- ESP8266とNode-REDのMQTT(発行および受信)機能
- ESP32 MQTT – DS18B20の温度測定値の発行(Arduino IDE)
- ESP8266 NodeMCU MQTT – DS18B20の温度測定値を公開(Arduino IDE)
- すべてのMQTT関連プロジェクト…
また、クラウド上でMosquitto MQTTブローカーを実行することも可能です。
クラウド上でMQTT Mosquitto Brokerを実行すると、インターネット接続さえあれば、異なるネットワークを使用してどこからでも複数のESP32/ESP8266ボードや他のIoTデバイスを接続することができます。
以下のチュートリアルをご確認ください。
ホームオートメーションが好きですか?Node-RED、Raspberry Pi、ESP8266、Arduinoについて、私たちのコースで詳しく学びましょう。
ホームオートメーションシステムを100ドルで構築する。
お読みいただきありがとうございます。
この記事を気に入っていただけたなら、次の記事も気に入っていただけるかもしれませんので、私のブログを購読して応援してください。
(以上、備忘録)
実行結果
インストールしたMosquittoのテストをしてみました。
プロセス間通信ですが、Window2から送信したコメントをWindow1とWindow3が反応したことに感動しました。
Raspberry Pi 上へのMosquittoのインストールが成功したことを確認できました。
次は、M5Stickから、MQTTブローカーをインストールしたRaspberry Piにデータを送って、表示できるようにします。
IoTシステム導入でお悩みの経営者の皆さんへのお誘い
いきなりIoTシステムの導入やDXというのは難しいと思います。
商工会議所や商工会などが主催するセミナーや事例で見分を広めても、結局、効果があることは判ります。
社内の誰にやってもらおうか…。
何をどのように変えれば、効果が上がるのだろうか…。
そんなところで、踏みとどまってしまうのではないでしょうか?
現在、当社では、CO2濃度計を事例に事務所内のIoT化を進めています。
このようにCO2の変化や室内温度や電気使用量など省エネルギーなどの話題を取り込みつつ、すこし遊びながらIoTシステムの構築について一緒に学びませんが?
当社での取り組みは、M5Stickを使ったCO2濃度計の製作から始まり、現在、定期的に時刻サーバーにアクセスして、正確な日時を表示するようにしています。
次は、得られた時刻と検出したCO2濃度をMQTTでデータを送信できるようにすることです。
その先にはNode-redを使い、蓄積したデータをブラウザーを使って可視化する予定です。
ここまで、できれば、次は事務所より広い作業場での実用実験となります。
工場やビニールハウスなどで、データ収集と可視化に挑戦です。
一緒に学びながら、技術を共有し、ともに成長しませんか?
お問合せをお待ちしております。