Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Intégration MQTT transparente : capteurs NodeMCU DHT22 avec Raspberry Pi 3 B+ comme broker

Déployez une solution IoT évolutive qui couple des microcontrôleurs NodeMCU avec des capteurs de température/humidité DHT22 à un Raspberry Pi 3 B+ agissant comme broker MQTT. Les données sont visualisées en temps réel sur l'application IoT MQTT Panel.

Dans ce guide, je parcours les connexions matérielles, la configuration logicielle et la structure de code qui vous permettent d'ajouter ou supprimer des nœuds capteurs simplement en modifiant les topics MQTT. Quand le réseau tombe, chaque NodeMCU continue de publier localement ; vous pouvez vous reconnecter plus tard au broker pour récupérer les données mises en tampon.

1. Architecture réseau

La disposition typique place le Raspberry Pi sur le LAN et chaque NodeMCU derrière le même routeur Wi-Fi. Les capteurs lisent les valeurs toutes les 10 secondes et publient vers des topics distincts tels que /room1/temperature et /room1/humidity. Le broker écoute sur le port 1883 et transfère les messages vers l'application MQTT Panel.

2. Prérequis logiciels

2.1 Bibliothèques Arduino IDE

2.2 Dépendances Python Raspberry Pi

3. Téléversement du firmware

Flashez le NodeMCU avec le sketch fourni, puis exécutez le script Python sur le Raspberry Pi pour vous abonner aux topics et stocker les données.

4. Aperçu du sketch NodeMCU

#include <ESP8266WiFi.h> // Bibliothèque Wi‑Fi ESP8266 #include <PubSubClient.h> // Client MQTT #include "DHT.h" // Bibliothèque capteur DHT const char* mqtt_server = "Broker_IP_Address"; // Remplacer par IP du Pi const char* clientID = "room1"; // Identifiant du nœud const char* topicT = "/room1/temperature"; // Topic température const char* topicH = "/room1/humidity"; // Topic humidité const char* willTopic = "/room1/status"; // Topic will const char* willMessage = "0"; // 0 = déconnecté 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 sur broche NodeMCU D4 (GPIO2) void setup() { Serial.begin(9600); Serial.print(swversion); dhtA.begin(); delay(2000); // Laisser le Wi‑Fi se stabiliser if (client.connect(clientID, "", "", willTopic, willQoS, willRetain, willMessage, true)) { Serial.println("Connecté au broker MQTT"); } }

Remplacez Broker_IP_Address par l'IP locale du Pi (ex: 192.168.1.200). Pour la trouver, exécutez ifconfig wlan0 sur le Pi.

Le willTopic et willMessage permettent au broker de détecter quand un nœud se déconnecte inopinément, publiant un statut « 0 » retenu qui peut être visualisé dans le panneau.

5. Script abonné Raspberry Pi

Le script Python crée une connexion persistante au broker, s'abonne aux topics pertinents et écrit les données entrantes dans un fichier CSV pour analyse ultérieure.

6. Faire évoluer le système

Pour ajouter une nouvelle pièce, dupliquez simplement le sketch, changez clientID, topicT, topicH et willTopic avec le nouveau nom de pièce, et téléversez sur un autre NodeMCU. L'application MQTT Panel détectera automatiquement les nouveaux topics si vous les ajoutez dans l'UI.

Quand la connectivité réseau est perdue, le NodeMCU continue de publier dans sa file d'attente locale du broker. Une fois la connexion restaurée, les messages sont vidés, assurant aucune perte de données.

Suivez-moi pour les mises à jour, et restez à l'écoute pour une vidéo de démo du système complet en action.

Processus de fabrication

  1. Construire un capteur de température distant avec Raspberry Pi et Python – Guide étape par étape
  2. Construire un système de surveillance température et lumière multi-capteurs avec Raspberry Pi et DS18B20
  3. Maîtriser le contrôle des capteurs et actionneurs sur Raspberry Pi : Accéléromètre, Servo et Streaming de données
  4. Raspberry Pi 3 B+ — Fonctionnalités, Spécifications et Guide d'Achat Mis à Jour
  5. Construire un robot avec Raspberry Pi et Python : Guide complet
  6. Électrodéposition vs Anodisation : Différences clés pour traitements de surface métalliques
  7. Métaux ferreux vs non ferreux : différences clés, utilisations et propriétés
  8. Brasage vs Soudure : Différences Clés Expliquées
  9. Perçage, Alésage et Alésage de Finition : Différences Clés