Điều Khiển đèn LED Bằng Firebase Và ESP8266 | VNFS
Có thể bạn quan tâm
Điều khiển đèn LED bằng Firebase và ESP8266
Thắng Nguyễn
Mon, 02 Dec 2024
Tổng quan: Điều khiển đèn LED bằng Firebase và ESP8266
Sử dụng các phần cứng IoT và nền tảng đám mây , chúng ta có thể kiểm soát các thiết bị IoT từ bất kỳ nơi nào có kết nối internet. Dự án dựa trên IoT mini này đề cập đến việc điều khiển đèn LED bằng Firebase và module NodeMCU ESP8266 . Có nhiều phương pháp kiểm soát trạng thái đèn LED như sử dụng Máy chủ web, Ứng dụng Blynk hay các dịch vụ API. Nhưng trong phạm vi bài viết này VNFS sẽ chỉ tập trung vào Google Firebase. Trong bài viết này VNFS sẽ hướng dẫn các bạn cách điều khiển đèn LED bằng Firebase và ESP8266.
Đầu tiên chúng ta cần biết Firebase là gì? Firebase là một dịch vụ cơ sở dữ liệu thời gian thực được cung cấp bởi Google và hoạt động trên nền tảng đám mây. Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google. Nó giúp các lập trình phát triển nhanh các ứng dụng di động bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu.
Yêu cầu phần cứng
Sau đây là các thành phần cần thiết để thực hiện dự án này. Tất cả các thành phần có thể dễ dàng mua từ Shopee. Liên kết mua linh kiện được đưa ra bên dưới:
- NodeMCU ESP8266 => Link mua shopee
- Đèn LED 5mm màu bất kỳ => Link mua shopee
- Breadboard => Link mua shopee
- Điện trở 220 ohm => Link mua shopee
Sơ đồ kết nối đèn LED bằng Firebase và ESP8266
Đây là sơ đồ mạch kết nối LED và Board NodeMCU ESP8266 . Kết nối cực dương của LED với GPIO5 , tức là D1 của NodeMCU ESP8266 thông qua điện trở 220ohm như trong hình bên dưới:
Cài đặt Thư viện Firebase và JSON
Để cài đăt 2 thư viện này các bạn có thể download tại link dưới đây:
- Thư viện firebase: https://github.com/FirebaseExtended/firebase-arduino/blob/master/src/Firebase.h
- Thư viện Arduino Json 5.x https://github.com/bblanchon/ArduinoJson
Sau khi download xong, trên Arduino IDE các bạn chọn Sketch > Include library > Add .zip > Select zip file để cài đặt 2 thư viện mà chúng ta đã tải xuống.
Thiết lập CSDL Firebase
Tạo một dự án firebase mới từ bảng điều khiển(console) và đi đến phần cơ sở dữ liệu. Chọn cơ sở dữ liệu thời gian thực của firebase (real-time database).
Trên firebase các bạn copy “database secret”để xác thực từ Settings Panel > Service accounts.
Thêm một nút(node) vào cơ sở dữ liệu firebase. Giá trị này sẽ quyết định bật hay tắt đèn LED.
Code trên Arduino ID
Bây giờ tất cả các thiết lập đã xong, chúng ta sẽ chuyển qua bước lập trình cho ESP8266.
#include // esp8266 library #include // firebase library #define FIREBASE_HOST "your-project.firebaseio.com" //Địa chỉ của project trên firebase #define FIREBASE_AUTH "06dEpqanFg*qAwnQLwLI" // secret key lấy từ firebase #define WIFI_SSID "xxxxxxxxxxxxx" //tên wifi #define WIFI_PASSWORD "xxxxxxxxxxxxxx" //password wifi String fireStatus = ""; //Khai báo biến lưu trạng thái của đèn int led = D1; //Chân kết nối của đèn với NodeMCU void setup() { Serial.begin(9600); delay(1000); pinMode(LED_BUILTIN, OUTPUT); pinMode(led, OUTPUT); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); //kết nối với wifi Serial.print("Connecting to "); Serial.print(WIFI_SSID); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println(); Serial.print("Connected to "); Serial.println(WIFI_SSID); Serial.print("IP Address is : "); Serial.println(WiFi.localIP()); //In ra địa chỉ IP Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); // Kết nối tới firebase Firebase.setString("LED_STATUS", "OFF"); //Khởi tạo trạng thái của đèn trên Firebase } void loop() { fireStatus = Firebase.getString("LED_STATUS"); // Lấy trạng thái của đèn trên firebase if (fireStatus == "ON") { // Kiểm tra nếu trạng thái đèn là ON Serial.println("Led Turned ON"); digitalWrite(LED_BUILTIN, LOW); // make bultin led ON digitalWrite(led, HIGH); // make external led ON } else if (fireStatus == "OFF") { // Kiểm tra nếu trạng thái đèn là OFF Serial.println("Led Turned OFF"); digitalWrite(LED_BUILTIN, HIGH); // make bultin led OFF digitalWrite(led, LOW); // make external led OFF } else { Serial.println("Wrong Credential! Please send ON/OFF"); } }Trong phần code này mình đã note rất chi tiết các bạn có thắc mắc vui lòng để lại bình luận để được giải đáp.
Từ khóa » Thư Viện Firebase Arduino
-
FirebaseExtended/firebase-arduino - GitHub
-
Firebase Realtime Database Arduino Library For ESP8266 - GitHub
-
Firebase ESP32 Client - Arduino Reference
-
7 Bước ESP8266 Connect Firebase Realtime - Blog Lập Trình
-
ESP8266 Và Firebase | Học ARM
-
Firebase ESP8266 Client - Arduino Library List
-
Xử Lý Lỗi Mất Kết Nối Giữa ESP8266 Với Firebase Realtime Database ...
-
Tương Tác Với Firebase Realtime Database Sử Dụng ESP8266 - TAPIT
-
Giao Tiếp Với Realtime Database Firebase Sử Dụng ESP32 Và App
-
[Arduino] Kết Hợp Arduino Với Firebase để điều Khiển Smart Home
-
Connect Esp8266 To Firebase - Kết Nối Esp8266 Với Firebase (real Time)
-
Firebase | Cộng đồng Arduino Việt Nam
-
ESP32: Getting Started With Firebase (Realtime Database)