فهرست مطالب:
- تدارکات
- مرحله 1: رزبری پای را راه اندازی کنید
- مرحله 2: جعبه زنگ در
- مرحله 3: ادغام HomeAssistant
- مرحله 4: خوشحال می شوم که زنگ در بزنید
تصویری: Smart Doorbell for HomeAssistant: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
بنابراین ، من می خواستم یک زنگ در با ویژگی های زیر باشد:
- فیلم از درب
- صدای دو طرفه
- دو دکمه
- ادغام با رایانه لوحی دیواری که رابط کاربری HomeAssistant را نشان می دهد
برخی از گزینه ها مانند Doorbird (گران قیمت و دارای تماس صوتی دو طرفه با استفاده از HTML5) و زنگ درب (اما من از اشتراک ، زنگ درب ابری را دوست ندارم) آمد.
من به عنوان یک توسعه دهنده و کارگر حرفه ای ، برخی از پروژه ها را به اتمام رسانده ام ، اما این یکی از سخت ترین پروژه ها بود. من خیلی مشکل داشتم تا صدای دو طرفه را به جایی برساند که بتوانید یکدیگر را درک کنید. این عمدتا به این دلیل است که انعکاس بسیار زیادی وجود دارد ،…. این ایده از DoorPi می آید ، اما با پروتکل SIP ، من انعکاس زیادی داشتم که منجر به عدم درک یکدیگر شد.
از آنجا که زنگ درب من کاملاً از عوامل محافظت می شود ، می توانیم قسمت جلویی را با چوب برش لیزری بسازیم.
تدارکات
- Raspberry Pi 3 B یا 3B+ (از موز Pi با PoE استفاده نکنید زیرا از رابط استاندارد دوربین Raspberry Pi CSI پشتیبانی نمی کند) = 33 یورو ، 67 یورو
- کارت Micro SD = 2 ، 69 یورو
- دوربین رزبری پای ماهی = 14 ، 14 یورو
- آداپتور PoE = 4 ، 94 یورو
- RaspiAudio Mic + = 24 ، 69 یورو
- دسترسی به چاپگر سه بعدی (و برش لیزری)
- دکمه هایی برای زنگ در
- زمان زیاد!
این مبلغ در مجموع 80 ، 13 یورو جمع می شود.
خارج از محدوده ، ایستگاه داخلی:
- راه اندازی HomeAssistant با کارگزار MQTT
- تبلت اندرویدی دیواری
مرحله 1: رزبری پای را راه اندازی کنید
من به شدت به شما توصیه می کنم به جای Wifi از اترنت استفاده کنید. کیفیت صدای من به دلیل آن بسیار بهبود یافته است. ما همچنین از UV4L استفاده خواهیم کرد زیرا از webrtc پشتیبانی می کند و بنابراین دارای لغو اکو داخلی است. Doorpi از linphone ، یک سرویس گیرنده SIP استفاده می کند و من نتوانستم لغو اکو را فعال کنم.
-
Raspbian Stretch Lite را بارگیری کرده و روی کارت Micro SD نصب کنید. مطمئن شوید که شما:
با ایجاد یک فایل ssh خالی در پارتیشن بوت ssh را فعال کنید
- دستورات زیر را اجرا کنید:
sudo apt-get update
sudo apt-get upgrade
دوربین
دوربین را از طریق raspi-config فعال کنید و مطمئن شوید که پردازنده گرافیکی حداقل 192 مگابایت حافظه رم دارد.
RaspiAudio
راهنمای نصب RaspiAudio را در https://www.raspiaudio.com/raspiaudio-aiy دنبال کنید
UV4L
از راهنمای نصب UV4L که در https://www.linux-projects.org/uv4l/installation/ یافت می شود پیروی کنید.
فایل /etc/uv4l/uv4l-raspicam.conf را تنظیم کرده و مطمئن شوید که تنظیمات زیر را انجام داده اید:
قابل توجه ترین تنظیمات probaby --enable-webrtc-video = no است: این به این دلیل است که ما همیشه ویدیو را از uv4l با استفاده از h264 کدگذاری شده mjpeg پخش می کنیم.
با استفاده از فایل های زیر واقع در/usr/share/uv4l/demos/doorpi/، می توانید صدا و تصویر دو طرفه را از قبل آزمایش کنید.
- index.html (تغییر نام آن از index.html5 ، به دلیل نیاز به بارگذاری دستورالعمل مورد نیاز برای تغییر نام)
- main.js
- signalling.js
به https:// [ip-of-raspberrypi]: 8888 بروید و آزمایش کنید که آیا می توانید صدای دو طرفه را فعال کنید.
pi-mqtt-gpio
ساده ترین راه برای کارکردن دکمه های زنگ درب این است که آنها را به تمشک pi وصل کرده و از pi-mqtt-gpio برای ادغام آن با HomeAssistant استفاده کنم.
فایل پیکربندی من به شرح زیر است:
mqtt: host: port xxxx: 1883 کاربر: [نام کاربری] رمز عبور: [رمز عبور] topic_prefix: "doorbell" gpio_modules: - name: raspberrypi module: raspberrypi cleanup: yes digital_inputs: - name: button_1 ماژول: raspberrypi pin: 17 on_payload: " خاموش "off_payload:" On "pullup: yes pulldown: no - name: button_2 ماژول: raspberrypi pin: 27 on_payload:" Off "off_payload:" On "pullup: yes pulldown: no
توجه داشته باشید که از آنجا که پین های زمینی بیشتری به عنوان پین های 3.3V در دسترس هستند ، من از پین های GPUO pullup استفاده می کنم و پیام های MQTT خود را وارونه می کنم.
uv4l-raspicam.conf
راننده = raspicam |
auto-video_nr = بله |
frame-buffers = 4 |
رمزگذاری = h264 |
عرض = 1024 |
ارتفاع = 768 |
نرخ فریم = 10 |
چرخش = 270 #بسته به تنظیم سخت افزار شما |
server-option = --port = 9090 |
server-option = --bind-host-address = 0.0.0.0 |
server-option = --use-ssl = بله |
server-option = --ssl-private-key-file =/etc/uv4l/selfsign.key |
server-option = --ssl-certificate-file =/etc/uv4l/selfsign.crt |
server-option = --enable-webrtc-video = شماره |
server-option = --enable-webrtc-audio = بله |
server-option = --webrtc-vad = بله |
server-option = --webrtc-echo-cancellation = بله |
server-option = --webrtc-max-playout-delay = 34 |
server-option = --enable-www-server = بله |
server-option = --www-root-path =/usr/share/uv4l/demos/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 = بله |
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-signaling-path =/webrtc |
view rawgistfile1.txt با ❤ توسط GitHub میزبانی شده است
مرحله 2: جعبه زنگ در
- doorbell-back v1.stl: جعبه چاپ سه بعدی برای تمشک pi و آداپتور PoE
- doorbell-front v1.svg: صفحه برش لیزری
- doorbell-micro v1.stl: جعبه چاپ سه بعدی حاوی میروفون پیچیده شده با عایق صدا ، چسبیده به صفحه
پی تمشکی را در پیچ های متصل شده پیچ کنید و آداپتور PoE را در بالا سمت راست قرار دهید. دوربین و میکروفون را در جای خود قرار دهید (مطمئن شوید که میکروفون را جدا کرده و مطمئن شوید که سوراخ میکروفون به خوبی با یک سوراخ در صفحه صورت تراز شده است).
مرحله 3: ادغام HomeAssistant
فایل های زیر امکان ادغام HomeAssistant را فراهم می کند:
- doorpi.yaml: بسته ای که حاوی همه چیز مربوط به زنگ در است ، از جمله گوش دادن به پیامهای MQTT و اتوماسیون برای نواختن زنگ در هنگام فشار دادن زنگ درب
- www/doorpi/doorpi-card.js: کارت lovelace doorpi که به signalling.js و doorpi-camera-view.js نیاز دارد
مهم: توجه داشته باشید که باید HomeAssistant را با https/ssl اجرا کنید زیرا در غیر این صورت کروم به شما اجازه دسترسی به دستگاه های صوتی را نمی دهد.
مرحله 4: خوشحال می شوم که زنگ در بزنید
تمام شد ، اکنون باید بتوانید از طریق زنگ درب منزل با شخصی تماس بگیرید و HomeAssistant به طور خودکار به کارت زنگ در می رود. در آنجا می توانید تصمیم بگیرید که زنگ خانه را بپذیرید یا نادیده بگیرید.
توصیه شده:
Raspberry Pi DIY Smart Doorbell که می تواند افراد را تشخیص دهد ، ماشین ها و غیره: 5 مرحله
Raspberry Pi DIY Smart Doorbell که می تواند افراد ، اتومبیل ها و غیره را تشخیص دهد: این طرح با موضوع steampunk با دستیار خانه و سیستم صوتی چند اتاق ما برای ارتباط با بقیه خانه های هوشمند DIY ما ادغام می شود. به جای خرید زنگ درب (یا Nest ، یا یکی از رقبای دیگر) من درب هوشمند خودمان را ساختم
DIY Smart Doorbell: Code، Setup and HA Integration: 7 Step (with Pictures)
DIY Smart Doorbell: Code، Setup and HA Integration: در این پروژه ، به شما نشان خواهم داد که چگونه می توانید بدون تغییر هیچ یک از عملکردهای فعلی یا قطع سیم ، زنگ خانه عادی خود را به یک زنگ هوشمند تبدیل کنید. من از یک تخته ESP8266 به نام Wemos D1 mini استفاده خواهم کرد. در ESP8266 جدید هستید؟ به معرفی من توجه کنید
اتوماسیون خانگی با NodeMCU ، HomeAssistant و MQTT: 6 مرحله
اتوماسیون خانگی با NodeMCU ، HomeAssistant و MQTT: آیا می خواهید تغییر دکوراسیون خانه خود را در خانه هوشمند آغاز کنید؟ و همچنین این کار را ارزان انجام دهید؟ NodeMCU و HomeAssistant در اینجا در این مورد کمک می کنند. توصیه می کنم این ویدیو را تماشا کنید ، شاید دنبال کردن آن برای شما آسان تر باشد. در غیر این صورت ، مراحل زیر را دنبال کنید
مانیتور اتاق برای HomeAssistant: 6 مرحله
Room Monitor for HomeAssistant: پس از تهیه Raspberry Pi با Home Assistant برای مدیریت فضاهای مختلف ، متوجه شدم که یکی از اطلاعات اساسی هر فضا دما و رطوبت است. ما می توانیم یکی از چندین سنسور موجود در بازار سازگار با Home Assist را خریداری کنیم
کنترل Homeassistant با صدای خودکار: 4 مرحله
Control Homeassistant With Autovoice: من از این افزونه با hass.io استفاده می کنم https://github.com/notoriousbdg/hassio-addons