Ứng dụng fbchat vào smart home

nguyennamdsn | Dec. 16, 2021, 2:13 a.m.

1, Dạo đầu

Thời buổi đi đâu cũng nghe sờ mát hôm, ai âu ti … vân vân và mây mây. Nghe thấy toàn hệ thống to oành, server hoành tráng….

Nhưng smart home hiểu đơn giản là điều khiển thiết bị trong nhà như điều hòa, máy giặt … từ xa và giám sát tình hình trong ngôi nhà. Sao cho giống như mình đang ở nhà thôi mà.

Hôm nay xin phép khoe một ứng dụng smart home đơn giản.

2, Từ đâu mà có ý tưởng?

Ý tưởng bắt nguồn từ thực tiễn cuộc sống. Nhà mình quay lưng hướng tây, buổi chiều nắng rọi nên nóng kinh khủng. Bạn vợ thường đi làm về sớm, bạn ý kêu than mở cửa vào nhà nóng như cái lò. Vậy yêu cầu đó là làm thế nào nhà mát hơn vào buổi chiều lúc bạn vợ đi làm về? Có nhiều giải pháp low tech lẫn high tech nhưng mình đã thử 2 cách.

  • Cài đặt hẹn giờ điều hòa tự bật ( cái này tùy máy mới có )
    • ưu điểm: không cần thay đổi gì, bấm điều khiển cài đặt là xong
    • nhược:
      • chả biết lúc nào bạn vợ về, tùy tình hình công việc có hôm về sớm hôm về muộn, hôm nổi hứng vợ chồng hẹn hò đêm mới về. Thành ra hẹn giờ thì ok nếu giờ giấc cố định, còn không thì phí điện
      • Nếu sáng ra đi làm mà quên hẹn giờ thì chiều tối về lại “nóng như cái lò”
  • Điều khiển từ xa: bật, tắt, cài đặt điều hòa qua internet
    • Cài đặt web server trên raspberry rồi gửi command đến AC ( air conditioner )
    • Sử dụng fbchat để nhận tin nhắn điều khiển, rồi gửi command đến AC.

Chốt lại mình chọn cách ứng dụng fbchat điều khiển từ xa. Vì sao lại chọn cách này mà không phải là web server?

  • Không có IP tĩnh – lý do lớn nhất :((, nước Nhật văn minh hiện đại vậy mà thuê bao optical fiber vẫn chơi dynamic IP.
  • Không thích ngồi tinh chỉnh giao diện web cho mobile.
  • Web server (apache2) chạy nặng lắm, Pi mình còn nghịch trò khác nữa.

3, Thiết kế phần cứng

Như vậy yêu cầu phải điều khiển được AC, có nghĩa là on/off và cài đặt phụ: hướng gió, tốc độ gió … Các việc này phải thực sự đơn giản, và có thể thao tác trên mobile. Vì bạn vợ dùng là chính :)), càng đơn giản càng tốt.

Mô hình:

1

  • Mobile cài đặt facebook messenger
  • Máy tính nhúng có thể chạy linux và python ( ex: raspberry pi ), raspberry có thêm lợi thế có thể lập trình lại board ESP8266 ngay khi cần.
  • Kit MCU ( ex: ESP8266 )
  • IR transmitter ( loại có transistor thì điều khiển được xa )

Cách nối dây khá đơn giản, nên tạm thời bỏ qua. Như vậy là xong vấn đề phần cứng.

4, Thiết kế phần mềm

Cài đặt Raspberry: không cần nói gì nhiều chỉ cần vào đây và làm theo là ok.

Cài đặt fbchat: tham khảo ở đây

Cài đặt Arduino trong raspberry: tham khảo ở đây

Config arduino cho esp8266 ở đây

Cài đặt thư viện IR cho ESP8266 ở đây

User menu:

elif(mess == “?”):
    debug_print(“Parse HELP”)
    Sendfb_rq.put(u’Gửi tin nhắn để điều khiển’)
    Sendfb_rq.put(u’Bật/tắt: on/off’)
    Sendfb_rq.put(u’Nhiệt độ: C16 – C31′)
    Sendfb_rq.put(u’Quạt: Q1-Q3: số 1-3, Q0: tự động’)
    Sendfb_rq.put(u’Hướng gió: H0: tự động, H1 – H4: Hướng gió, H7: tự động đổi hướng’)

Sequence phần Raspberry ( phần trên MCU đơn giản nên không trình bày ở đây)

Khởi tạo

Init

Sequence của các user case khá đơn giản và giống nhau. ví dụ On/Off

command

Tham khảo source ở đây: Source code

5, Hình ảnh hệ thống hoạt động phía user nhìn thấy

demo

1
0

Leave a comment:

Comments: