Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Vì vậy, tôi muốn có một chiếc chuông cửa có các tính năng sau:
- Video từ cửa
- Âm thanh hai chiều
- Hai nút
- Tích hợp với máy tính bảng treo tường hiển thị giao diện người dùng HomeAssistant
Một số tùy chọn đi kèm như Doorbird (đắt tiền và chúng không có tính năng gọi âm thanh hai chiều bằng HTML5) và chuông cửa Ring (nhưng tôi không thích đăng ký, chuông cửa dựa trên đám mây)
Là một nhà phát triển và người mày mò, tôi đã hoàn thành một số dự án nhưng đây là một trong những dự án khó hoàn thành nhất. Tôi đã gặp rất nhiều khó khăn để âm thanh hai chiều hoạt động đến mức các bạn có thể hiểu nhau. Điều này chủ yếu là do có khá nhiều tiếng vang,…. Ý tưởng đến từ DoorPi, nhưng với giao thức SIP, tôi đã có quá nhiều tiếng vang dẫn đến việc không hiểu nhau.
Vì chuông cửa của tôi được bảo vệ hoàn toàn khỏi các yếu tố, chúng tôi có thể làm mặt trước bằng gỗ lasercut.
Quân nhu
- Raspberry Pi 3 B hoặc 3B + (không sử dụng Banana Pi có tích hợp PoE vì nó không hỗ trợ giao diện máy ảnh Raspberry Pi CSI tiêu chuẩn) = € 33, 67
- Thẻ Micro SD = € 2, 69
- Máy ảnh mắt cá Raspberry Pi = € 14, 14
- Bộ điều hợp PoE = € 4, 94
- RaspiAudio Mic + = € 24, 69
- Truy cập vào máy in 3D (và máy cắt laser)
- Các nút cho chuông cửa
- Nhiều thời gian!
Điều này cộng lại tổng cộng là € 80, 13.
Ngoài phạm vi, trạm trong nhà:
- Trang chủ Thiết lập hỗ trợ với Nhà môi giới MQTT
- Máy tính bảng Android treo tường
Bước 1: Thiết lập Raspberry Pi
Tôi thực sự khuyên bạn nên sử dụng ethernet thay vì Wifi. Chất lượng âm thanh của tôi đã được cải thiện rất nhiều nhờ nó. Chúng tôi cũng sẽ sử dụng UV4L vì nó hỗ trợ webrtc và do đó có tích hợp tính năng khử tiếng vọng. Doorpi sử dụng linphone, một ứng dụng khách SIP và tôi không thể làm cho chức năng khử tiếng vọng hoạt động.
-
Tải xuống Raspbian Stretch Lite và cài đặt nó trên thẻ Micro SD. Hãy chắc chắn rằng bạn:
kích hoạt ssh bằng cách tạo một tệp ssh trống trong phân vùng khởi động
- Chạy các lệnh sau:
sudo apt-get cập nhật
sudo apt-get nâng cấp
Máy ảnh
Bật máy ảnh thông qua raspi-config và đảm bảo rằng GPU có ít nhất 192 MB ram.
RaspiAudio
Làm theo hướng dẫn cài đặt của RaspiAudio tại
UV4L
Làm theo hướng dẫn cài đặt của UV4L tại
Điều chỉnh tệp /etc/uv4l/uv4l-raspicam.conf và đảm bảo bạn điều chỉnh các cài đặt sau:
Cài đặt đáng chú ý nhất là probaby --enable-webrtc-video = no: điều này là do chúng tôi sẽ luôn phát trực tuyến video từ uv4l bằng mjpeg được mã hóa h264.
Sử dụng các tệp sau nằm trong / usr / share / uv4l / demo / doorpi /, bạn đã có thể kiểm tra âm thanh và video hai chiều.
- index.html (đổi tên từ index.html5, cần đổi tên do yêu cầu tải lên có hướng dẫn)
- main.js
- signalling.js
Duyệt đến https:// [ip-of-raspberrypi]: 8888 và kiểm tra xem bạn có thể nhận được âm thanh 2 chiều hoạt động hay không.
pi-mqtt-gpio
Cách dễ nhất mà tôi tìm thấy để làm cho các nút chuông cửa hoạt động là gắn chúng vào mâm xôi pi và sử dụng pi-mqtt-gpio để tích hợp nó với HomeAssistant.
Tệp cấu hình của tôi như sau:
mqtt: host: xxxx port: 1883 user: [username] password: [password] topic_prefix: "doorbell" gpio_modules: - name: raspberrypi module: raspberrypi cleanup: yes digital_inputs: - name: button_1 module: raspberrypi pin: 17 on_payload: " Tắt "off_payload:" Bật "pullup: yes pulldown: no - name: button_2 module: raspberrypi pin: 27 on_payload:" Off "off_payload:" On "pullup: yes pulldown: no
Xin lưu ý rằng vì có nhiều chân nối đất hơn như chân 3,3V, tôi chọn sử dụng chân GPIO kéo lên và do đó đảo ngược các tin nhắn MQTT của tôi.
uv4l-raspicam.conf
driver = raspicam |
auto-video_nr = yes |
bộ đệm khung = 4 |
encoding = h264 |
chiều rộng = 1024 |
chiều cao = 768 |
tốc độ khung hình = 10 |
xoay vòng = 270 # phụ thuộc vào thiết lập phần cứng của bạn |
server-option = --port = 9090 |
server-option = --bind-host-address = 0.0.0.0 |
server-option = --use-ssl = yes |
server-option = --ssl-private-key-file = / etc / uv4l / selfsign.key |
server-option = --ssl-certificate-file = / etc / uv4l / selfsign.crt |
server-option = --enable-webrtc-video = no |
server-option = --enable-webrtc-audio = yes |
server-option = --webrtc-vad = yes |
server-option = --webrtc-echo-cancel = yes |
server-option = --webrtc-max-playout-delay = 34 |
server-option = --enable-www-server = yes |
server-option = --www-root-path = / usr / share / uv4l / demo / doorpi / |
server-option = --www-index-file = index.html |
server-option = --www-port = 8888 |
server-option = --www-bind-host-address = 0.0.0.0 |
server-option = --www-use-ssl = yes |
server-option = --www-ssl-private-key-file = / etc / uv4l / selfsign.key |
server-option = --www-ssl-certificate-file = / etc / uv4l / selfsign.crt |
server-option = --www-webrtc-signal-path = / webrtc |
xem rawgistfile1.txt được lưu trữ bằng ❤ bởi GitHub
Bước 2: Hộp chuông cửa
- doorbell-back v1.stl: Hộp in 3D cho mâm xôi pi và bộ chuyển đổi PoE
- chuông cửa trước v1.svg: Tấm mặt cắt bằng laser
- chuông cửa-micro v1.stl: Hộp in 3D chứa mirophone bọc cách âm, dán vào tấm mặt
Vặn pi raspberry vào các giá đỡ vít đi kèm và đặt bộ điều hợp PoE ở trên cùng bên phải. Đặt máy ảnh và micrô vào đúng vị trí (đảm bảo tháo micrô và đảm bảo lỗ của micrô được căn chỉnh tốt với một lỗ trên tấm mặt).
Bước 3: Tích hợp HomeAssistant
Các tệp sau cho phép tích hợp HomeAssistant:
- doorpi.yaml: gói chứa mọi thứ liên quan đến chuông cửa bao gồm nghe tin nhắn MQTT và tự động phát tiếng chuông khi chuông cửa được đẩy
- www / doorpi / doorpi-card.js: thẻ lovelace doorpi cần signalling.js và doorpi-camera-view.js
QUAN TRỌNG: Xin lưu ý rằng bạn phải chạy HomeAssistant với https / ssl vì nếu không chrome sẽ không cho phép bạn truy cập các thiết bị âm thanh.
Bước 4: Vui vẻ gọi điện bằng chuông cửa
Vậy là xong, bây giờ bạn đã có thể gọi cho ai đó qua chuông cửa và HomeAssistant sẽ tự động chuyển sang thẻ chuông cửa. Ở đó bạn có thể quyết định chấp nhận hoặc bỏ qua chuông cửa.