Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Integrasi MQTT yang Lancar: Sensor NodeMCU DHT22 dengan Raspberry Pi 3 B+ sebagai Broker

Terapkan solusi IoT yang terukur yang menggabungkan mikrokontroler NodeMCU dengan sensor suhu/kelembaban DHT22 ke Raspberry Pi 3 B+ yang bertindak sebagai broker MQTT. Data divisualisasikan secara real-time pada IoT MQTT Panel App.

Dalam panduan ini saya memandu melalui koneksi perangkat keras, pengaturan perangkat lunak, dan struktur kode yang memungkinkan Anda menambah atau menghapus node sensor hanya dengan mengedit topik MQTT. Saat jaringan terputus, setiap NodeMCU terus menerbitkan secara lokal; Anda kemudian dapat menyambungkan kembali ke broker untuk memulihkan data yang tertunda.

1. Arsitektur Jaringan

Tata letak umum menempatkan Raspberry Pi di LAN dan setiap NodeMCU di belakang router Wi-Fi yang sama. Sensor membaca nilai setiap 10 detik dan menerbitkan ke topik yang berbeda seperti /room1/temperature dan /room1/humidity. Broker mendengarkan pada port 1883 dan meneruskan pesan ke IoT MQTT Panel App.

2. Prasyarat Perangkat Lunak

2.1 Pustaka Arduino IDE

2.2 Dependensi Python Raspberry Pi

3. Mengunggah Firmware

Flash NodeMCU dengan sketsa yang disediakan, lalu jalankan skrip Python pada Raspberry Pi untuk berlangganan ke topik dan menyimpan data.

4. Ringkasan Sketsa NodeMCU

#include <ESP8266WiFi.h> // perpustakaan Wi-Fi ESP8266 #include <PubSubClient.h> // klien MQTT #include "DHT.h" // perpustakaan sensor DHT const char* mqtt_server = "Broker_IP_Address"; // Ganti dengan IP Pi const char* clientID = "room1"; // pengenal node const char* topicT = "/room1/temperature"; // topik suhu const char* topicH = "/room1/humidity"; // topik kelembaban const char* willTopic = "/room1/status"; // topik will const char* willMessage = "0"; // 0 = terputus 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 pada pin NodeMCU D4 (GPIO2) void setup() { Serial.begin(9600); Serial.print(swversion); dhtA.begin(); delay(2000); // Biarkan Wi-Fi tenang if (client.connect(clientID, "", "", willTopic, willQoS, willRetain, willMessage, true)) { Serial.println("Terhubung ke broker MQTT"); } } 

Ganti Broker_IP_Address dengan IP lokal Pi (misalnya, 192.168.1.200). Untuk menemukannya, jalankan ifconfig wlan0 pada Pi.

willTopic dan willMessage memungkinkan broker untuk mendeteksi saat node terputus secara tidak terduga, menerbitkan status yang dipertahankan "0" yang dapat divisualisasikan di panel.

5. Skrip Pelanggan Raspberry Pi Python

Skrip Python membuat koneksi persisten ke broker, berlangganan ke topik yang relevan, dan menulis data yang masuk ke file CSV untuk analisis nanti.

6. Mengukur Skala Sistem

Untuk menambahkan ruangan baru, cukup duplikasi sketsa, ubah clientID, topicT, topicH, dan willTopic ke nama ruangan baru, dan unggah ke NodeMCU lain. IoT MQTT Panel App akan secara otomatis mendeteksi topik baru jika Anda menambahkannya di UI.

Ketika konektivitas jaringan hilang, NodeMCU terus menerbitkan ke antrean broker lokalnya. Setelah koneksi dipulihkan, pesan-dipesan disalurkan, memastikan tidak ada kehilangan data.

Ikuti saya untuk pembaruan, dan tetap setia untuk video demo seluruh sistem dalam tindakan.

Proses manufaktur

  1. Membuat Sensor Suhu Jarak Jauh dengan Raspberry Pi dan Python – Panduan Langkah demi Langkah
  2. Bangun Sistem Pemantauan Suhu & Cahaya Multi-Sensor dengan Raspberry Pi & DS18B20
  3. Menguasai Kontrol Sensor dan Aktuator Raspberry Pi: Akselerometer, Servo, dan Streaming Data
  4. Raspberry Pi 3 B+ – Fitur Terbaru, Spesifikasi & Panduan Pembelian
  5. Membuat Robot dengan Raspberry Pi dan Python: Panduan Lengkap
  6. Elektroplating vs. Anodisasi: Perbedaan Utama untuk Perawatan Permukaan Logam
  7. Logam Ferrous vs. Nonferrous: Perbedaan Utama, Penggunaan, dan Sifat
  8. Penglogaman vs Pengatoman: Perbedaan Utama Dijelaskan
  9. Memahami Bor, Gores, & Rias: Perbedaan Utama Dijelaskan
  10. Mesin Pemotong vs Mesin Rapat: Perbedaan Utama Dijelaskan