Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Temperatur- und Luftfeuchtedaten zwischen zwei Arduinos via Firebase übertragen

Komponenten & Zubehör

Arduino UNO × 2
ESP8266 ESP-01 × 2
DHT11 Temperatur- & Luftfeuchtigkeitssensor (3-polig) × 1
DFRobot I2C 16x2 LCD Display × 1
Steckbrett (generisch) × 2
Male/Female Jumper-Kabel × 1

Apps & Online-Dienste

Projektübersicht

In diesem IoT-Tutorial lesen Sie Temperatur und Luftfeuchtigkeit von einem DHT11-Sensor an einem Arduino UNO aus, senden die Werte via ESP8266 an Firebase und rufen sie auf einem zweiten Arduino UNO ab, um sie auf einem I2C-LCD anzuzeigen. Dieses praxisnahe Beispiel demonstriert serielle Kommunikation, Wi-Fi-Netzwerke und Cloud-Datenspeicherung – alles essenzielle Fähigkeiten für moderne Embedded-Entwickler.

Schritt 1 – Rollen der Boards verstehen

Der UNO dient als Sensor-Schnittstelle, während der ESP8266 als Wi-Fi-Gateway fungiert. Sie kommunizieren über den seriellen Port; der ESP8266 verbindet sich nicht direkt mit dem Internet, nur das Wi-Fi-Modul tut dies. Halten Sie den Code für jedes Board separat, um Verwirrung zu vermeiden.

Schritt 2 – LCD an den UNO anschließen

Nutzen Sie I2C für Einfachheit und reduzierten Pin-Verbrauch. Das 20x4 LCD-Beispiel im DFRobot-Modul funktioniert out-of-the-box. Bei einem 20x4 Display aktualisieren Sie den Konstruktor zu LiquidCrystal_I2C lcd(0x3F, 20, 4);.

Schritt 3 – DHT11 am zweiten UNO verdrahten

Folgen Sie dem offiziellen Arduino DHT11 Tutorial für Verdrahtung und Bibliotheksinstallation. Der Sensor benötigt nur einen einzelnen Datenpin (in unserem Beispiel A0).

Schritt 4 – ESP8266 mit Firebase einrichten

Konfigurieren Sie Wi-Fi-Zugangsdaten und Firebase-Projektdetails im Sketch. Die Firebase Realtime Database bietet einen einfachen JSON-Baum, in den der ESP8266 temperature und humidity Knoten schreibt. Für Einsteiger deckt das Tutorial-Video jeden Schritt detailliert ab.

Schritt 5 – Serielle Kommunikation meistern

Bei der Datenübertragung über Serial geben Sie nur den benötigten String aus. Zusätzliche Debug-Ausgaben können das Protokoll brechen. In unserer Implementierung sendet der Sensor-UNO einen kommagetrennten String (z. B. 25,3,60,1) an den ESP8266, der parst und jeden Wert an Firebase weiterleitet.

Schritt 6 – Hochladen und Testen

Laden Sie den Sensor-Sketch auf den ersten UNO, den Sensor-ESP8266-Sketch auf den ersten ESP8266 und den LCD-ESP8266-Sketch auf den zweiten ESP8266 hoch. Verifizieren Sie, dass das LCD alle paar Sekunden mit frischen Werten aktualisiert wird. Trennen Sie stets das Arduino-USB-Kabel, bevor Sie Jumper-Kabel abziehen, um versehentliche Kurzschlüsse zu vermeiden.

Häufige Probleme & Lösungen

Code-Snippets

lcd_arduino.ino (Arduino)

#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x3F, 20, 4);
String sensorData;

void setup() {
  Serial.begin(9600);
  lcd.begin(20, 4);
  lcd.init();
  lcd.backlight();
  lcd.setCursor(0, 0);
  lcd.print("Temperatur: ");
  lcd.setCursor(18, 0);
  lcd.print("C");
  lcd.setCursor(0, 1);
  lcd.print("Luftfeuchte: ");
  lcd.setCursor(15, 1);
  lcd.print("%");
}

void loop() {
  if (Serial.available()) {
    sensorData = Serial.readString();
    String temp = sensorData.substring(0, sensorData.indexOf(','));
    String hum = sensorData.substring(sensorData.indexOf(',') + 1);
    lcd.clear();
    lcd.setCursor(13, 0);
    lcd.print(temp);
    lcd.setCursor(10, 1);
    lcd.print(hum);
  }
  delay(2000);
}

lcd_esp8266.ino (ESP8266)

#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
#define FIREBASE_HOST "DEIN_FIREBASE_LINK"
#define FIREBASE_AUTH "DEIN_FIREBASE_TOKEN"
#define WIFI_SSID "DEIN_WIFI_SSID"
#define WIFI_PASSWORD "DEIN_WIFI_PASSWORT"

void setup() {
  Serial.begin(9600);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED) delay(500);
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}

void loop() {
  String temp = Firebase.getString("temperature");
  String hum = Firebase.getString("humidity");
  Serial.flush();
  Serial.print(temp + "," + hum);
  delay(2000);
}

sensor_arduino.ino (Arduino)

#include <SoftwareSerial.h>
#include <dht.h>
#define DHT_PIN A0
DHT dht;

void setup() {
  Serial.begin(9600);
}

void loop() {
  dht.read11(DHT_PIN);
  String data = String(dht.temperature) + "," + String(dht.humidity);
  Serial.flush();
  Serial.print(data);
  delay(2000);
}

sensor_esp8266.ino (ESP8266)

#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
#define FIREBASE_HOST "DEIN_FIREBASE_LINK"
#define FIREBASE_AUTH "DEIN_FIREBASE_TOKEN"
#define WIFI_SSID "DEIN_WIFI_SSID"
#define WIFI_PASSWORD "DEIN_WIFI_PASSWORT"

void setup() {
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED) delay(500);
  Serial.begin(9600);
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}

void loop() {
  if (Serial.available()) {
    String payload = Serial.readString();
    int comma = payload.indexOf(',');
    String temp = payload.substring(0, comma);
    String hum = payload.substring(comma + 1);
    Firebase.setString("temperature", temp);
    Firebase.setString("humidity", hum);
    if (Firebase.failed()) {
      Serial.println("Fehler beim Schreiben in Firebase");
    }
  }
  delay(2000);
}

Herstellungsprozess

  1. Echtzeit-Temperaturdaten vom ppDAQC Pi‑Plate zu InitialState streamen – Headless Raspberry Pi
  2. Echtzeit-Solarmonitoring mit Arduino: Low-Cost Datenerfassungssystem
  3. Arduino-Uno-Roboter zur Personenerkennung – Sensorintegration Schritt für Schritt
  4. DIY Infrarot-Herzschlag-Sensor mit Arduino: Schritt-für-Schritt-Anleitung
  5. Echtzeit-Entfernungsmessung mit Arduino Sonar & Processing-Visualisierung
  6. Stufenlose LED-Helligkeitssteuerung mit Bolt IoT und Arduino UNO
  7. MAX30100 Puls-Sensor mit Arduino integrieren: Schritt-für-Schritt-Anleitung
  8. Schritt-für-Schritt: YL-39/YL-69 Bodenfeuchtesensor an Arduino UNO anschließen
  9. PHP-Webinterface zur Steuerung des Arduino Uno – Komplettanleitung
  10. Nahtlose CMMS-Migration: Experten-Leitfaden für Datentransfer