12/08/2018, 13:17

[Arduino] Kết hợp Arduino với Firebase để điều khiển Smart Home

Tác giả: Phạm Văn Khắc Chào các bạn, vừa rồi mình có tham gia giới thiệu về Firebase - một dịch vụ Cloud Database của Google. Trong buổi giới thiệu đó mình có làm một ví dụ về cách xây dựng ứng dụng chat dựa trên dịch vụ của Firebase cung cấp. Tuy nhiên ví dụ đó chỉ là một trong những tính ...

Tác giả: Phạm Văn Khắc

Chào các bạn, vừa rồi mình có tham gia giới thiệu về Firebase - một dịch vụ Cloud Database của Google. Trong buổi giới thiệu đó mình có làm một ví dụ về cách xây dựng ứng dụng chat dựa trên dịch vụ của Firebase cung cấp. Tuy nhiên ví dụ đó chỉ là một trong những tính năng mà Firebase hỗ trợ. Ngoài ra còn rất nhiều ứng dụng, lĩnh vực mà Firebase có thể đóng góp. Ví dụ như trò chơi, ứng dụng quản lý nhà hàng, bản đồ hay thậm chí là Smart Home.

Trong bài này mình muốn giới thiệu một cách khác để sử dụng Firebase vào dự án cụ thể:

Điều khiển thiết bị điện tử trong nhà bằng điện thoại

Trước hết mình muốn giới thiệu về khả năng Firebase làm được gì và áp dụng vào bài này như nào:

  1. Lưu trữ dữ liệu trên mây.
  2. Bạn có thể liên tục (realtime) lắng nghe sự thay đổi trên database đó.
  3. Firebase cho phép bạn lưu nội dung tĩnh (html, javascript, ảnh...).

Đây là video kết quả sau khi mình thực hiện (sẽ có code và hướng dẫn chi tiết bên dưới)

Mình đã sử dụng những công cụ này

  • 1 Mạch Arduino UNO R3
  • 3 Led 5 volt (3 màu khác nhau cho dễ nhìn)
  • 4 dây nối
  • 1 bảng mạch breadboard (bảng mạch để gắn các thiết bị lên)
  • 3 điện trở 240 Ohm (Đỏ-vàng-nâu)

Ngoài ra cần

  • bạn biết sơ qua về NodeJS và cách gọi thư viện (sử dụng require)
  • 1 máy tính có kết nối mạng & đã cài nodejs
  • 1 tài khoản Firebase.com (tạo miễn phí)

Bảng mạch

20160322_222630.jpg

Mình giải thích 1 chút:

  • Sử dụng các PIN 7, 9, 10 để điều khiển các led 1, 2, 3 tương ứng
  • Dây GND (còn gọi là dây tiếp đất) được nối với các led thông qua các điện trở.
  • Chân dài của Led là cực dương (+), chân ngắn là cực âm (-). Nếu lắp ngược đèn sẽ không sáng (nhưng cũng không bị cháy vì chỉ có 5V thôi             </div>
            
            <div class=
0