Mục lục:

Kiểm soát cổng trượt tự động của bạn với Home Assistant và ESPHome: 5 bước (có hình ảnh)
Kiểm soát cổng trượt tự động của bạn với Home Assistant và ESPHome: 5 bước (có hình ảnh)

Video: Kiểm soát cổng trượt tự động của bạn với Home Assistant và ESPHome: 5 bước (có hình ảnh)

Video: Kiểm soát cổng trượt tự động của bạn với Home Assistant và ESPHome: 5 bước (có hình ảnh)
Video: Giới hiệu và hướng dẫn lắp đặt hệ thống kiểm soát ra vào cổng Access Control mở cửa 4 cách-APP TUYA 2024, Tháng mười một
Anonim
Kiểm soát Cổng trượt tự động của bạn với Trợ lý Trang chủ và ESPHome
Kiểm soát Cổng trượt tự động của bạn với Trợ lý Trang chủ và ESPHome

Bài viết dưới đây là một số phản hồi về kinh nghiệm cá nhân của tôi khi điều khiển cổng trượt tự động mà tôi đã lắp đặt cho ngôi nhà của mình. Cổng này, có nhãn hiệu "V2 Alfariss", được cung cấp một vài điều khiển từ xa Phox V2 để điều khiển nó. Tôi cũng có chuông cửa Google Nest Hello, rất tiếc không thể cắm vào bộ điều khiển cổng trượt để mở cổng từ xa từ ứng dụng dành cho thiết bị di động. Đối với tôi, một cách để giải quyết hạn chế này là tìm cách kết nối bộ điều khiển cổng trượt tự động với Internet. Với cổng kết nối mới này, tôi có thể trả lời các trường hợp sử dụng như điều khiển cổng trượt bằng điện thoại di động của mình. Tôi đã đạt được điều này bằng cách sử dụng Home Assistant, ESPhome và một số bộ phận điện tử.

Ý tưởng đằng sau bài viết này không phải là cung cấp cho bạn thứ gì đó sẵn sàng để sử dụng, mà là để truyền cảm hứng cho bạn. Hãy nhớ rằng, nếu bạn không có cổng tự động giống hệt nhau, đừng quên tải xuống và đọc tài liệu kỹ thuật cho mô hình của bạn. Thích ứng và cải thiện nó. Cảnh báo: Hãy cẩn thận và đừng quên tắt nguồn điện trước khi mở bộ điều khiển chính. Thưởng thức!

Quân nhu

  • Công cụ:

    • Cái vặn vít
    • Hàn sắt
    • Nhiều mét
  • Các bộ phận:

    • Raspberry PI 3 (trọn bộ: 2A alim + 32gb sd card)
    • ESP8266 Wemos D1 mini
    • 2 mô-đun chuyển tiếp
    • 2 điện trở 10k
    • PCB để tạo mẫu
    • Dây điện

Bước 1: Nó hoạt động như thế nào?

Làm thế nào nó hoạt động?
Làm thế nào nó hoạt động?

Thử thách chính ở đây là kết nối cổng trượt tự động với điện thoại thông minh. Để làm được điều này, chúng ta hãy biến cổng trượt tự động thành một thiết bị IOT. Tất nhiên, có nhiều cách để đạt được điều này. Trong trường hợp của tôi, sau một số thử nghiệm, tôi quyết định sử dụng:

  • Sử dụng Home Assistant làm trung tâm kiểm soát cổng và nhận yêu cầu từ người dùng.
  • Cài đặt ESPHome làm phần sụn bên trong ESP8266.
  • Phần điện tử:

    • Một PCB nguyên mẫu để hàn các thành phần và kết nối chúng
    • Hai rơ le để mô phỏng nút nhấn để mở hoặc đóng cổng
    • Nguồn điện 5V cũ để cấp nguồn cho ESP8266
    • Hai điện trở để phân chia điện áp từ cảm biến đóng / mở
  • Kết nối Internet với bộ định tuyến (cần tính năng cấu hình quy tắc NAT)
  • Tài khoản DuckDNS để cho phép phân giải tên cho Trợ lý gia đình của bạn
  • Điện thoại di động để cài đặt Ứng dụng Trợ lý Home và một tiện ích trên màn hình

Dòng chảy

Nhìn vào lược đồ để hiểu rõ hơn.

  1. Từ điện thoại di động của bạn, bạn nhấn vào tiện ích ứng dụng dành cho thiết bị di động Trợ lý Home
  2. Một yêu cầu được gửi đến địa chỉ Web Trợ lý tại nhà của bạn (được DuckDNS và TLS giải quyết bằng cách mã hóa).
  3. Bộ định tuyến Internet của bạn định tuyến yêu cầu đến ứng dụng Trợ lý gia đình
  4. Home Assistant gửi yêu cầu hành động đến ESPHome
  5. ESPHome kích hoạt động cơ Cổng trượt tự động
  6. Rượu sâm banh !

Bước 2: Cài đặt và thiết lập Home Assistant trên Raspberry PI

Home Assistant có thể được coi là một trung tâm cho tất cả những thứ IOT trong nhà của bạn. Nó sẽ là một nơi tốt để kiểm soát tất cả các thiết bị được kết nối và thêm rất nhiều tính năng. Các tính năng chính mà tôi thích nhất là bảng điều khiển, API và sự đa dạng của các tiện ích bổ sung.

Cài đặt

Tôi rõ ràng không có bất kỳ giá trị bổ sung nào để cho bạn biết cách thiết lập và cài đặt Trợ lý gia đình. Thực ra, trước khi có dự án này, tôi không biết phần mềm này. Các bài chính là:

  • Cài đặt Home Assistant bằng bài viết này
  • Bạn có thể tìm thấy cấu hình mạng cho Trợ lý gia đình tại đây:

    github.com/home-assistant/operating-system…

  • Cài đặt ESPHome bằng cái này:
  • Cài đặt Tiện ích bổ sung DuckDNS cho Trợ lý tại nhà:
  • Cài đặt plugin File Editor (hữu ích): https://github.com/home-assistant/hassio-addons/tr..

Sau tất cả những điểm này, bạn đã có một Trợ lý gia đình tuyệt vời đang chạy trên Raspberry PI của mình. Bạn phải có thể truy cập nó thông qua HTTP và IP cục bộ hoặc thử https://homeassistant.local: 8123.

Cấu hình

Định cấu hình DuckDNS với miền của bạn và với mã thông báo. Ví dụ, bạn có thể thấy trong hình, một phần cấu hình của tôi. Đừng quên accept_terms với "true".

let_encrypt:

accept_terms: true certfile: fullchain.pem keyfile: privkey.pem token: 92f56bb2-2c26-4802-8d4d-xxxxxxxxxxxx miền: - nameofyourchoice.duckdns.org giây: 300

Tôi quyết định định cấu hình HA bằng IP tĩnh vì nó đơn giản hơn và bạn chắc chắn rằng IP sẽ giống nhau sau khi khởi động lại và sau đó các quy tắc chuyển tiếp cổng của bạn sẽ tiếp tục hoạt động: https://github.com/home-assistant/ vận hành-hệ thống…

Trong trường hợp của tôi, tôi thêm một phần cấu hình bên trong tệp config.yaml vì DuckDNS không quản lý https, chỉ là chứng chỉ hãy mã hóa và cập nhật DuckDns:

http:

ssl_certificate: /ssl/fullchain.pem ssl_key: /ssl/privkey.pem base_url:

Bước 3: Bảng điện tử tùy chỉnh để tăng cường cổng trượt tự động

Bảng điện tử tùy chỉnh để tăng cường cổng trượt tự động
Bảng điện tử tùy chỉnh để tăng cường cổng trượt tự động
Bảng điện tử tùy chỉnh để tăng cường cổng trượt tự động
Bảng điện tử tùy chỉnh để tăng cường cổng trượt tự động
Bảng điện tử tùy chỉnh để tăng cường cổng trượt tự động
Bảng điện tử tùy chỉnh để tăng cường cổng trượt tự động

Có lẽ, đó là phần bất thường nhất đối với tôi vì tôi thường chỉnh sửa nhiều thứ về phần mềm hơn là phần cứng. Tôi đã bắt đầu với một breadboard và một mạch rất cơ bản, chỉ để kiểm tra xem tôi có thể tải lên một chương trình bên trong Wemos D1 mini và nhấp nháy đèn LED hay không. Sau đó, tôi đã thay đổi phần sụn cho ESPhome và làm theo bài viết bắt đầu hoàn hảo này:

Sau một số lần lặp lại để tìm đúng mạch, tôi đã ghi lại nó bằng Fritzing. Hãy chắc chắn dành thời gian cho bước này vì không thể quay lại khi mọi thứ đã được hàn (không chính xác nhưng không dễ dàng quay lại). Tôi đã cố gắng mô phỏng cảm biến đầu vào từ Cổng trượt tự động nhưng đây là một thất bại (tôi sẽ giải thích lý do sau) Cá nhân, tôi thấy rằng Fritzing là một công cụ tốt để ghi lại những gì bạn kết nối trên breadboard.

Lưu ý: Bạn sẽ tìm thấy một điểm khởi đầu tốt ở đây trong Câu hỏi thường gặp về ESPhome nếu bạn không thể kết nối ESPHome với Trợ lý tại nhà cho lần khởi chạy đầu tiên. Sau khi phần sụn được tải lên, bạn sẽ có thể tải lên "qua mạng" (OTA).

Rơ le để kích hoạt kích hoạt mở / đóng

Trong thông số kỹ thuật cổng trượt tự động, có quy định rằng bạn phải đóng một mạch giữa "START" và "COM" để kích hoạt một hành động mở / đóng cổng (mở hoàn toàn). Mạch đóng giữa "START. P" và "COM" kích hoạt hành động mở / đóng cổng dành cho người đi bộ. Tôi không sử dụng "STOP" nhưng đây là khái niệm tương tự nhưng để dừng cổng khi mở hoặc đóng.

Về sự lựa chọn linh kiện điện tử, tôi đã quyết định sử dụng rơ le thay vì bóng bán dẫn. Các bóng bán dẫn rất đẹp nhưng chúng không đảm bảo rằng mạch được đóng hoàn toàn. Tôi nghĩ rằng họ có thể cho một số dòng điện rất thấp đi trong mạch. Một lợi ích khác của rơ le là khi bạn kiểm tra mạch của mình, về cơ bản bạn nghe thấy khi tiếp điểm gần với âm thanh "sáo".

Nhận trạng thái cảm biến mở

Lúc đầu, tôi đã nghĩ đến việc sử dụng một số cảm biến từ tính để phát hiện trạng thái đóng hoặc mở cổng. Nhưng tôi đã nhận ra rằng có một phích cắm đề cập đến "cảm biến giới hạn" trên bộ điều khiển. Rõ ràng là không được tạo ra để sử dụng (bởi những người đam mê như tôi), tôi thấy với một trình kiểm tra liên lạc rằng tôi có thể đọc trạng thái mở hoặc đóng khi tôi mở cổng. Tôi đã mắc một sai lầm lớn khi nghĩ rằng trạng thái là một số loại điện áp logic TTL (3.3v). Trong trường hợp này, bạn có thể cắm trực tiếp chúng vào Wemos Input. Nhưng thực tế khi mở cổng thì có điện áp ra 6,3v. Để sử dụng tín hiệu này, bạn phải chia điện áp với loại mạch này https://www.learningaboutelectronics.com/Articles/H… Giải pháp khá đơn giản vì điện áp cần phải được chia cho hai. Vì vậy, tôi đã sử dụng hai điện trở 10 Kohms giữa đầu ra cảm biến giới hạn và đầu vào Wemos (một lần nữa, hãy xem các hình ảnh đính kèm để biết một giản đồ).

Bộ nguồn 5v giá rẻ

Để cung cấp năng lượng cho tất cả các thành phần này, tôi sử dụng một bộ nguồn điện thoại di động cũ. Tôi đã mở nó và thay đổi phích cắm sang cáp cắm nhỏ có vít. Tôi cũng quyết định hợp nhất hai pcb (esp và nguồn điện) bằng keo nóng (vâng tôi biết, điều này hơi bẩn nhưng nó hoạt động:-). Không phải là thứ sạch nhất bao giờ hết nhưng dễ dàng hơn để xử lý và tránh chạm vào 220v.

Đó là tất cả đối với phần cứng.

Bước 4: Phần mềm cơ sở ESPHome để chạy trên nguyên mẫu PCB

Logic bên trong ESP8266 được đưa vào cổng Trợ lý Trang chủ ESPHome Add-on. Bạn viết mã logic mà ESPHome thực thi. Loại ứng dụng rất nhỏ phải là mã với cú pháp ESPHome. Nó thực sự dễ dàng và thật thú vị vì chỉ với vài dòng YAML, ESP8266 của bạn nhanh chóng trở thành một thứ thông minh. Mã nguồn đầy đủ có sẵn tại đây: https://gist.github.com/toomone/819112ea1b04937912… Hãy tập trung vào phần quan trọng của mã.

Điều khiển rơ le

Như tôi đã nói trước đây, bộ điều khiển cổng trượt tự động có thể kích hoạt hành động mở hoặc đóng chỉ với một xung ngắn (đóng mạch) giữa hai đầu vào. Để làm được điều đó, bạn cần cấu hình một phần switch với cấu hình nhỏ. Ví dụ: hãy tập trung vào phần kích hoạt (mở hoặc đóng) việc mở một phần cổng (cần cho người đi bộ chẳng hạn).

chuyển:

- platform: gpio pin: D3 // số PIN nơi tín hiệu sẽ được xuất ra trên id Wemos: relay restore_mode: ALWAYS_OFF - platform: tên mẫu: biểu tượng "Gate Pedestrian Remote": "mdi: walk" turn_on_action: // the logic được thực thi bởi ESPHome để mô phỏng một xung - switch.turn_on: relay - delay: 500ms - switch.turn_off: relay

Đoạn mã trước đó sẽ tạo một công tắc và một mẫu. Hai khái niệm này cho phép ESPHome cung cấp một số cơ chế nâng cao mà không cần mã hóa thực. Tôi mời bạn đọc tài liệu của ESPHome để hiểu sâu hơn về các tính năng được cung cấp. https://esphome.io/cookbook/relay.html và

Đọc trạng thái cảm biến đóng mở

binary_sensor:

- platform: gpio pin: number: D1 ngược: true name: "Open sensor" id: open_sensor device_class: garage_door

Phần này của tập lệnh yêu cầu bảng wemos đọc trạng thái trên cảm biến mở trên D1. Để tìm thấy D1, bạn chỉ cần đọc trên Wemos PCB của mình. Tôi đã sử dụng tham số "inverted" thành true để đảo ngược giá trị tín hiệu. Tôi không nhớ lý do rõ ràng nhưng tôi nghĩ rằng thật đơn giản để hiển thị đóng hoặc mở tương ứng với trạng thái cổng trên bảng điều khiển HA.

Cho phép gọi API tới ESPHome

Nếu bạn muốn có thể sử dụng tiện ích Trợ lý gia đình trên điện thoại của mình, bạn cần thêm đoạn mã nhỏ sau:

# Bật API Trợ lý Trang chủ

api: services: - service: open_portal_pedestrian rồi: - switch.turn_on: relay - delay: 500ms - switch.turn_off: relay

Bằng cách này, trình cấu hình ứng dụng Trợ lý gia đình sẽ liệt kê hành động để mở cổng. Tôi chỉ chọn hành động dành cho người đi bộ vì đây là hành động tôi sử dụng nhiều nhất.

Bước 5: Đưa Trợ lý Home của bạn ra thế giới

Đưa Trợ lý Home của bạn ra thế giới
Đưa Trợ lý Home của bạn ra thế giới
Đưa Trợ lý Home của bạn ra thế giới
Đưa Trợ lý Home của bạn ra thế giới

Bởi vì, bạn muốn có thể mở Cổng trượt tự động của mình từ bất cứ nơi nào bạn đang ở trên hành tinh chứ không chỉ từ nhà bạn, bạn phải phơi bày HA của mình với thế giới. Nhân tiện, hãy đảm bảo sử dụng xác thực mật khẩu mạnh. Trên bộ định tuyến Internet của bạn, bạn phải cấu hình một quy tắc để định tuyến tất cả lưu lượng đến từ một cổng cụ thể đến một IP cụ thể và cả một cổng. Ví dụ: bạn sẽ tìm thấy cấu hình tôi đã thực hiện trên bộ định tuyến của nhà cung cấp của mình (xin lỗi, nó bằng tiếng Pháp) nhưng bạn sẽ nhận thấy rằng cấu hình thực sự đơn giản. Quy tắc phải yêu cầu bộ định tuyến của bạn chấp nhận tất cả giao thức trên cổng xxxx để chuyển sang IP Trợ lý gia đình với cổng 8123 (nếu bạn không thay đổi nó).

Đó là tất cả. Đừng ngần ngại đặt câu hỏi vì tôi chắc chắn đã quên thêm chi tiết vào phần cụ thể. Hệ thống đang hoạt động hàng ngày mà không có vấn đề gì. Tôi cũng thích thực tế là tôi có thể có trạng thái mở hoặc đóng cổng thông tin từ điện thoại của mình.

Đề xuất: