工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

シームレスMQTT統合:NodeMCU DHT22センサーとRaspberry Pi 3 B+ブローカー

NodeMCU マイクロコントローラーと DHT22 温湿度センサーを、MQTTブローカーとして動作する Raspberry Pi 3 B+ と連携させる拡張性の高いIoTソリューションを展開。データは IoT MQTT Panel App でリアルタイム可視化。

本ガイドでは、ハードウェア接続、ソフトウェアセットアップ、コード構造を解説。MQTTトピック編集のみでセンサーノード追加・削除が可能。ネットワーク断時、各NodeMCUはローカルで継続パブリッシュ。後でブローカー再接続時にバッファデータをリカバリー。

1. ネットワークアーキテクチャ

典型レイアウトではRaspberry PiをLAN配置、各NodeMCUを同一Wi-Fiルーター配下に配置。センサーは10秒ごとに値読み取り、/room1/temperature や /room1/humidity 等の個別トピックへパブリッシュ。ブローカーはポート1883でリッスンし、メッセージをMQTT Panel Appへ転送。

2. ソフトウェア前提条件

2.1 Arduino IDEライブラリ

2.2 Raspberry Pi Python依存関係

3. ファームウェア書き込み

提供スケッチをNodeMCUに書き込み、Raspberry PiでPythonスクリプト実行してトピック購読、データをCSV保存で後続分析用に蓄積。

4. NodeMCUスケッチ概要

#include <ESP8266WiFi.h> // ESP8266 Wi-Fiライブラリ
#include <PubSubClient.h> // MQTTクライアント
#include "DHT.h" // DHTセンサーライブラリ
const char* mqtt_server = "Broker_IP_Address"; // Pi IPに置換
const char* clientID = "room1"; // ノード識別子
const char* topicT = "/room1/temperature"; // 温度トピック
const char* topicH = "/room1/humidity"; // 湿度トピック
const char* willTopic = "/room1/status"; // Willトピック
const char* willMessage = "0"; // 0 = 切断
int willQoS = 0;
boolean willRetain = true;
int counter = 0;
const char* swversion = "1.0";
WiFiClient wifiClient;
PubSubClient client(mqtt_server, 1883, wifiClient);
DHT dhtA(2, DHT22); // DHT22をNodeMCUピンD4 (GPIO2) に接続
void setup() {
  Serial.begin(9600);
  Serial.print(swversion);
  dhtA.begin();
  delay(2000); // Wi-Fi安定待ち
  if (client.connect(clientID, "", "", willTopic, willQoS, willRetain, willMessage, true)) {
    Serial.println("Connected to MQTT broker");
  }
}

Broker_IP_Address をPiのローカルIP(例:192.168.1.200)に置換。Piで ifconfig wlan0 実行で確認可能。

willTopic と willMessage で、ノード予期せぬ切断時にブローカーが検知可能。保持「0」ステータスをパブリッシュし、パネルで可視化。

5. Raspberry Pi購読スクリプト

Pythonスクリプトがブローカーへ持続接続、関連トピック購読、着信データをCSVファイル書き込みで後続分析用に保存。

6. システム拡張

新規部屋追加はスケッチ複製し、clientID、topicT、topicH、willTopic を新部屋名に変更、別NodeMCUへ書き込みのみ。MQTT Panel AppでUIにトピック追加すれば自動検出。

ネットワーク接続喪失時、NodeMCUはローカルブローカーキューへパブリッシュ継続。接続復旧時にメッセージフラッシュ、データ損失ゼロを保証。

アップデートはフォローで。システム全体デモ動画をお楽しみに。

製造プロセス

  1. Raspberry PiとPythonでリモート温度センサーを構築 – ステップバイステップガイド
  2. Raspberry PiとDS18B20でマルチセンサー温度・光監視システムを構築
  3. Raspberry Piでセンサーとアクチュエータを制御:加速度計、サーボ、データストリーミング
  4. Raspberry Pi 3 B+ – アップデートされた機能、仕様、購入ガイド
  5. Raspberry Pi と Python でロボットを構築:完全ガイド
  6. 電気めっき vs 陽極酸化:金属表面処理の主な違い
  7. 鉄系金属と非鉄系金属:主な違い、用途、特性を徹底解説
  8. ブレージング vs 半田付け:温度・強度・冶金学的違いを完全解説
  9. 穴あけ・ボーリング・リーマーの違い:3つの穴加工を完全使い分け
  10. シェーパー vs プレーナー:構造・動作・用途の決定的違い
  11. 遠心ポンプと往復ポンプの違い:構造・性能・用途を徹底比較