Tác giả: Jibin Thomas
“Internet sẽ biến mất. Sẽ có quá nhiều địa chỉ IP, thiết bị, cảm biến, đồ đeo, thứ bạn tương tác, mà bạn甚至不会感觉到它的存在。它将始终是你存在的一部分。想象你走进一个房间,房间是动态的。在你的许可下,你正在与房间里发生的事情互动。”
Ngày nay nhiều thiết bị hàng ngày kết nối internet như TV, loa thông minh, tủ lạnh, v.v. Các thiết bị này mở rộng chức năng chính, cho phép tương tác với thiết bị khác trên internet và điều khiển từ xa.
Bạn có thể tự xây dựng thiết bị IoT dùng cảm biến và vi điều khiển. Có nhiều board phát triển giúp bắt đầu IoT như Arduino, NodeMCU, Raspberry Pi, v.v. Bạn có thể tự động hóa nhà bằng cách xây dựng từ các thiết bị này.
Trong bài này, chúng ta dùng NodeMCU devkit và Firebase để bật/tắt LED từ xa. NodeMCU devkit và Firebase là tổ hợp tốt nhất để bắt đầu dự án IoT. NodeMCU rẻ và có wifi tích hợp cho kết nối internet, và gói miễn phí Firebase đủ dùng.
Thiết lập môi trường phát triển
Chúng ta dùng Arduino IDE viết code và nạp code vào thiết bị. Tải phiên bản mới nhất tại đây.
Vì dùng NodeMCU không được Arduino IDE hỗ trợ chính thức, phải thêm file JSON của thiết bị. Trong Arduino IDE thêm URL này vào
File > Preferences > Additional Board Manager URLs
https://arduino.esp8266.com/stable/package_esp8266com_index.json
- Chọn Board từ
Tools > Board > NodeMCU 1.0
Để dùng database Firebase trong NodeMCU, cần tải thư viện firebase-arduino trừu tượng hóa REST API của Firebase. Tải firebase-arduino tại đây.
Bao gồm file zip đã tải trong Arduino IDE.
Sketch > Include library > Add .zip > Chọn file zip
- Bạn cũng cần cài thư viện ArduinoJson tải từ Arduino IDE.
Lưu ý: Phiên bản thư viện không nên là 6.x.x – dùng mới nhất 5.x.x
Sketch > Include library > Manage Libraries > Tìm ArduinoJson by Benoit Blanchon
Thiết lập Database Firebase
Tạo dự án Firebase mới từ console và đến phần database. Chọn Firebase Realtime Database.
Sao chép bí mật database để xác thực từ Settings Panel > Service accounts.
Bí mật database
- Thêm node led vào database Firebase. Giá trị này quyết định bật/tắt LED.

Cấu hình Arduino IDE và Firebase database làm việc cùng nhau
Sau khi hoàn tất thiết lập, bắt đầu viết code.
Bạn cần tạo macro cho URL database và bí mật Firebase đã sao chép ở Bước 8.
#define FIREBASE_HOST "yourfirebasedatabase.firebaseio.com"
#define FIREBASE_AUTH "*"
Để đơn giản, viết code đơn giản bật/tắt LED từ xa
- Chân dương LED nối chân D1 và chân âm nối chân ground của NodeMCU.

- Nạp code từ Arduino IDE.
Sketch > Upload
- Bây giờ thử thay giá trị database thành true và false. LED sẽ bật/tắt. Bạn cũng có thể mở rộng dự án bằng tạo web app bật/tắt LED thay vì đổi giá trị thủ công trong database.
Vậy bây giờ bạn hiểu cơ bản cách kết nối NodeMCU internet và điều khiển từ xa, hãy bắt đầu hack dự án mới với nó.
Học lập trình miễn phí. Chương trình mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người tìm được việc làm với tư cách là nhà phát triển. Bắt đầu ngay