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

Mentransfer Data Suhu dan Kelembaban antara Dua Arduino menggunakan Firebase

Komponen dan Perlengkapan

Mentransfer Data Suhu dan Kelembaban antara Dua Arduino menggunakan Firebase
Arduino UNO
×2
Mentransfer Data Suhu dan Kelembaban antara Dua Arduino menggunakan Firebase
ESP8266 ESP-01
×2
Mentransfer Data Suhu dan Kelembaban antara Dua Arduino menggunakan Firebase
Sensor Suhu dan Kelembaban DHT11 (3-pin)
×1
Mentransfer Data Suhu dan Kelembaban antara Dua Arduino menggunakan Firebase
Tampilan LCD I2C 16x2 DFRobot
×1
Mentransfer Data Suhu dan Kelembaban antara Dua Arduino menggunakan Firebase
Papan Breadboard (generik)
×2
Mentransfer Data Suhu dan Kelembaban antara Dua Arduino menggunakan Firebase
Kabel Jumper Machan/Femina
×1

Aplikasi dan Layanan Online

Mentransfer Data Suhu dan Kelembaban antara Dua Arduino menggunakan Firebase
Arduino IDE
Mentransfer Data Suhu dan Kelembaban antara Dua Arduino menggunakan Firebase
Google Firebase

Ringkasan Proyek

Dalam tutorial IoT ini, Anda akan membaca suhu dan kelembaban dari sensor DHT11 pada satu Arduino UNO, mengirimkan nilai ke Firebase melalui ESP8266, lalu menarik kembali pembacaan pada Arduino UNO kedua untuk ditampilkan pada LCD I2C. Contoh praktis ini menunjukkan komunikasi serial, jaringan Wi-Fi, dan penyimpanan data cloud—semua keterampilan penting bagi pengembang embedded modern.

Langkah 1 – Pahami Peran Setiap Papan

UNO berfungsi sebagai antarmuka sensor sementara ESP8266 bertindak sebagai gateway Wi-Fi. Mereka berkomunikasi melalui port serial; ESP8266 tidak terhubung langsung ke internet, hanya modul Wi-Fi yang melakukannya. Pisahkan kode untuk setiap papan untuk menghindari kebingungan.

Langkah 2 – Hubungkan LCD ke UNO

Gunakan I2C untuk kesederhanaan dan penggunaan pin yang lebih sedikit. Contoh LCD 20x4 di modul DFRobot berfungsi langsung. Jika Anda menggunakan layar 20x4, perbarui konstruktor menjadi LiquidCrystal_I2C lcd(0x3F, 20, 4);.

Langkah 3 – Pasang DHT11 pada UNO Kedua

Ikuti tutorial resmi Arduino DHT11 untuk pemasangan dan pemasangan library. Sensor hanya memerlukan satu pin data (A0 dalam contoh kami).

Langkah 4 – Siapkan ESP8266 dengan Firebase

Konfigurasikan kredensial Wi-Fi dan detail proyek Firebase dalam sketsa. Firebase Realtime Database menyediakan pohon JSON sederhana di mana ESP8266 menulis node temperature dan humidity. Untuk pemula, video tutorial mencakup setiap langkah secara detail.

Langkah 5 – Kuasai Komunikasi Serial

Saat mentransmisikan data melalui serial, keluarkan hanya string yang diperlukan. Print debug tambahan dapat merusak protokol. Dalam implementasi kami, UNO sensor mengirimkan string yang dipisahkan koma (misalnya, 25.3,60.1) ke ESP8266, yang kemudian mengurai dan meneruskan setiap nilai ke Firebase.

Langkah 6 – Unggah dan Uji

Unggah sketsa sensor ke UNO pertama, sketsa sensor-ESP8266 ke ESP8266 pertama, dan sketsa LCD-ESP8266 ke ESP8266 kedua. Verifikasi bahwa LCD memperbarui pembacaan segar setiap beberapa detik. Selalu lepaskan kabel USB Arduino sebelum mencabut kabel jumper apa pun untuk mencegah kesedutan sengaja.

Jebakan Umum & Perbaikan

Cuplikan Kode

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("Temperature: "); lcd.setCursor(18, 0); lcd.print("C"); lcd.setCursor(0, 1); lcd.print("Humidity: "); 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 "YOUR_FIREBASE_LINK" #define FIREBASE_AUTH "YOUR_FIREBASE_TOKEN" #define WIFI_SSID "YOUR_WIFI_SSID" #define WIFI_PASSWORD "YOUR_WIFI_PASSWORD" 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 "YOUR_FIREBASE_LINK" #define FIREBASE_AUTH "YOUR_FIREBASE_TOKEN" #define WIFI_SSID "YOUR_WIFI_SSID" #define WIFI_PASSWORD "YOUR_WIFI_PASSWORD" 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("Failed to write to Firebase"); } } delay(2000); } 

Proses manufaktur

  1. Streaming Data Suhu Real-Time dari ppDAQC Pi-Plate ke InitialState dengan Raspberry Pi Tanpa Monitor
  2. Pemantauan Panel Surya Real-Time dengan Arduino: Sistem Akuisisi Data Hemat Biaya
  3. Robot Deteksi Manusia Berbasis Arduino Uno: Integrasi Sensor Langkah demi Langkah
  4. Bangun Sensor Detak Jantung Inframerah Andalan dengan Arduino: Panduan Langkah demi Langkah
  5. Pengukuran Jarak Real-Time dengan Sonar Arduino & Visualisasi Processing
  6. Pengendalian Kecerahan LED Lancar Menggunakan Bolt IoT dan Arduino UNO
  7. Integrasi Sensor Denyut Nadi MAX30100 dengan Arduino: Panduan Langkah demi Langkah
  8. Panduan Langkah demi Langkah: Menghubungkan Sensor Kelembaban Tanah YL-39/YL-69 ke Arduino UNO
  9. Membangun Antarmuka Web Berbasis PHP untuk Mengendalikan Arduino Uno
  10. Migrasi CMMS yang Mulus: Pedoman Pakar untuk Transfer Data