با چند برد میکروکنترلر ESP8266، میتوانید یک زنگ درب بیسیم هوشمند بسازید که با راهاندازی خانه هوشمند دستیار خانگی شما کار میکند.
زنگ درب هوشمند یک راه راحت و نوآورانه برای افزایش راحتی و امنیت خانه شما و یافتن افرادی است که در خانه شما هستند، حتی زمانی که در خانه نیستید.
با استفاده از دو برد ESP8266، یک زنگ درب هوشمند Wi-Fi کاملاً کاربردی میسازیم که با نرمافزار اتوماسیون خانه هوشمند Home Assistant ادغام میشود و هر زمان که کسی زنگ در را به صدا درآورد، اعلانهای فشاری را به تلفن هوشمند شما ارسال میکند. این هم به صورت محلی و هم از راه دور کار می کند.
چیزهایی که شما نیاز دارید
برای ساخت زنگ درب هوشمند وای فای DIY به اجزای زیر نیاز دارید.
- ۲ برد میکروکنترلر ESP8266، مانند NodeMCU یا D1 Mini، به عنوان مغز زنگ در خدمت می کنند.
- سوئیچ زنگ در
- منبع تغذیه Micro USB
- DFPlayer Mini (ماژول پخش کننده MP3)
- کارت microSD (۵۱۲ مگابایت یا بزرگتر)
- بلندگوی ۲ وات یا ۳ وات (عرض ۱ یا ۲ اینچی) برای خروجی صدا
- شبکه وای فای ۲.۴ گیگاهرتز
- سرور Home Assistant که روی Raspberry Pi اجرا میشود، یا میتوانید Home Assistant را روی رایانه شخصی x86 نصب کنید.
- سیم های جامپر برای اتصال تمام اجزا
مرحله ۱: سیستم عامل را کامپایل کنید
ما دو فریمور مختلف را کامپایل خواهیم کرد:
- سیستم عامل بلندگوی زنگ هوشمند (گیرنده)
- سیستم عامل سوئیچ زنگ هوشمند (فرستنده)
برای کامپایل سیستم عامل بلندگوی زنگ هوشمند و سوئیچ زنگ هوشمند، مراحل زیر را دنبال کنید:
- اگر قبلاً نصب نشدهاید، ESPHome را در Home Assistant نصب کنید: به Settings > Add-Ons بروید و روی ESPHome کلیک کنید. اسکرین شات توسط Ravi. NAR
- روی Open Web UI و سپس New Device کلیک کنید.
- اسم دستگاه را هر چیزی که می خواهید بگذارید. ما برای این آموزش اسمش را گذاشتیم «بلندگوی هوشمند». روی Next > Skip this step کلیک کنید.
- سپس ESP8266 board را از بین گزینه ها انتخاب کنید و سپس Skip را بزنید.
- این یک پیکربندی جدید به نام smart-bell-speaker را مشاهده خواهد کرد.
- به طور مشابه، یک پیکربندی دیگر ایجاد کنید و نام آن را Smart-bell-switch بگذارید.
- پس از ایجاد تنظیمات، با کلیک بر روی دکمه ویرایش، پیکربندی Smart-bell-speaker را باز کنید.
- سپس کد زیر را در زیر captive_portal قرار دهید: text. uart: tx_pin: GPIO3 rx_pin: GPIO1 baud_rate: پخشکننده 9600df: on_finished_playback: سپس: logger.log: «پخش رویداد به پایان رسید»api: رمزگذاری: ۵ tqYaP1D: «K5Q5TqYa7K XjTg2A9g5nzHPejE=” services: – service: dfplayer_next then: – dfplayer.play_next: – service : dfplayer_previous سپس: – dfplayer.play_previous: – سرویس: dfplayer_play متغیرها: فایل: int سپس: — dfplayer.play: !n fileda;’ – سرویس: dfplayer_play_loop متغیرها: فایل: int loop_: bool سپس: – dfplayer.play: فایل: !lambda ‘return file;’ حلقه: !lambda ‘return loop_;’ – سرویس: dfplayer_play_folder متغیرها: پوشه: int فایل: int سپس: – dfplayer.play_folder: پوشه: !lambda ‘return folder;’ file: !lambda ‘return file;’ – سرویس: dfplayer_play_loop_folder متغیرها: پوشه: int سپس: – dfplayer.play_folder: پوشه: !lambda ‘return folder;’ حلقه: true – سرویس: dfplayer_set_device_tf سپس: — dfplayer.set_device: TF_CARD – سرویس: dfplayer_set_device_usb سپس: — dfplayer dfplayer .set_var ولوم: int سپس: – dfplayer.set_volume: !lambda ‘return volume;’ – سرویس: dfplayer_set_eq متغیرها: پیشتنظیم: int سپس: – dfplayer.set_eq: !lambda ‘return static_cast<:eqpreset>(پیشتنظیم);’ – سرویس: dfplayer_sleep سپس: — dfplayer.sleep — سرویس: dfplayer_reset سپس: – dfplayer.reset – سرویس: dfplayer_start – سرویس: dfplayer_start – سپس: d player_reset – سپس: – dfplayer.pause – سرویس: dfplayer_stop سپس: – dfplayer.stop – سرویس: dfplayer_random سپس: — dfplayer.random — سرویس: dfplayer_volume_up سپس: – dfplayer.volume_up – سرویس: dfplayer_volume_down:-dfplayer_d.
- همچنین، SSID و رمز عبور Wi-Fi را با نام و رمز عبور Wi-Fi خود ویرایش کنید. مطمئن شوید جایی که میخواهید بلندگوی زنگ هوشمند و سوئیچ زنگ هوشمند را نصب کنید، پوشش شبکه Wi-Fi مناسبی دارد. wifi: ssid: “MyWiFiName” رمز عبور: “MyWiFiPassword”
- روی Save و سپس Install کلیک کنید.
- دانلود دستی را انتخاب کنید. با این کار کامپایل سیستم عامل شروع می شود. پس از کامپایل، سیستم عامل را دانلود و در سیستم خود ذخیره کنید.
- اکنون پروژه Smart-bell-switch را باز کنید، اسرار Wi-Fi را تغییر دهید و سپس کد زیر را در زیر captive_portal قرار دهید: binary_sensor: – platform: gpio نام: «Smart Bell Switch» Pin: on_press: – switch.toggle: relay1 internal: Trueswitch: – پلت فرم: gpio نام: “Smart Door Bell” نماد: ‘mdi:bell’ id: relay1 Pin: Pin: Pin: Pin: Pin: Pin: Pin: Pin:
- روی Save و سپس Install کلیک کنید.
- دانلود دستی را انتخاب کنید. پس از کامپایل، سیستم عامل به طور خودکار شروع به دانلود می کند. هر دو سیستم عامل را روی دسکتاپ ذخیره کنید.


uart:
tx_pin: GPIO3
rx_pin: GPIO1
baud_rate: 9600
dfplayer:
on_finished_playback:
then:
logger.log: 'Playback finished event'
api:
encryption:
key: "kQ5tP73N1pOl6XDYtq5RY15IaPsXjTg2A9g5nzHPejE="
services:
- service: dfplayer_next
then:
- dfplayer.play_next:
- service: dfplayer_previous
then:
- dfplayer.play_previous:
- service: dfplayer_play
variables:
file: int
then:
- dfplayer.play: !lambda 'return file;'
- service: dfplayer_play_loop
variables:
file: int
loop_: bool
then:
- dfplayer.play:
file: !lambda 'return file;'
loop: !lambda 'return loop_;'
- service: dfplayer_play_folder
variables:
folder: int
file: int
then:
- dfplayer.play_folder:
folder: !lambda 'return folder;'
file: !lambda 'return file;'
- service: dfplayer_play_loop_folder
variables:
folder: int
then:
- dfplayer.play_folder:
folder: !lambda 'return folder;'
loop: true
- service: dfplayer_set_device_tf
then:
- dfplayer.set_device: TF_CARD
- service: dfplayer_set_device_usb
then:
- dfplayer.set_device: USB
- service: dfplayer_set_volume
variables:
volume: int
then:
- dfplayer.set_volume: !lambda 'return volume;'
- service: dfplayer_set_eq
variables:
preset: int
then:
- dfplayer.set_eq: !lambda 'return static_cast<dfplayer::EqPreset>(preset);'
- service: dfplayer_sleep
then:
- dfplayer.sleep
- service: dfplayer_reset
then:
- dfplayer.reset
- service: dfplayer_start
then:
- dfplayer.start
- service: dfplayer_pause
then:
- dfplayer.pause
- service: dfplayer_stop
then:
- dfplayer.stop
- service: dfplayer_random
then:
- dfplayer.random
- service: dfplayer_volume_up
then:
- dfplayer.volume_up
- service: dfplayer_volume_down
then:
- dfplayer.volume_down
wifi:
ssid: "MyWiFiName"
password: "MyWiFiPassword"

binary_sensor:
- platform: gpio
name: "Smart Bell Switch"
pin:
number: 4
mode: INPUT_PULLUP
inverted: True
on_press:
- switch.toggle: relay1
internal: True
switch:
- platform: gpio
name: "Smart Door Bell"
icon: 'mdi:bell'
id: relay1
pin:
number: 2
mode: OUTPUT
inverted: True
مرحله ۲: فایل های صوتی MP3 را روی کارت MicroSD آپلود کنید
یک کارت microSD با ظرفیت کوچک (تا ۵۱۲ مگابایت کار می کند) بردارید. آن را به رایانه شخصی خود وصل کنید. صداهای زنگ مورد علاقه خود را از اینترنت دانلود کنید، یا می توانید صدای خود یا صدای خود را ضبط کنید و آنها را به عنوان فایل MP3 در کارت microSD ذخیره کنید. مطمئن شوید که این فایل ها را ۱.mp3، ۲.mp3 و غیره نام گذاری کنید.
مرحله ۳: نرم افزار را روی میکروکنترلر ESP8266 فلش کنید
برای فلش کردن سیستم عامل، NodeMCU یا D1 Mini را با استفاده از کابل micro USB به کامپیوتر متصل کنید و سپس مراحل زیر را دنبال کنید:
- ابزار ESPHome-Flasher را دانلود و راه اندازی کنید.
- پورت COM را انتخاب کنید و سپس بر روی Browse کلیک کنید تا فایل سیستم عاملی را که در مرحله قبل دانلود کرده اید انتخاب کنید.
- روی Flash ESP کلیک کنید. منتظر بمانید تا فریمور فلش شود.
- پس از اتمام، دستگاه به طور خودکار به شبکه Wi-Fi متصل می شود.

برای فلش کردن فریمور روی دو برد ESP8266 نیز همین مراحل را دنبال کنید.
مرحله ۴: سیم کشی برد ESP8266 با DFPlayer و بلندگو
برای سیمکشی DFPlayer با ESP8266 که فریمور بلندگوی هوشمند زنگ را روی آن فلش کردهاید، به نمودار زیر مراجعه کنید.

می توانید از سیم های جامپر برای ایجاد این اتصالات استفاده کنید و از آهن لحیم کاری برای اتصال بلندگو به DFPlayer (ماژول پخش کننده MP3) استفاده کنید.
هنگامی که همه چیز وصل شد، از دو سیم جامپر (نر به ماده) استفاده کنید و آنها را به برد سوئیچ زنگ هوشمند ESP8266 وصل کنید. شما باید یک سیم را به پایه D2 در برد NodeMCU یا D1 Mini ESP8266 و سیم دیگر را به پایه ۳ ولت یا ۳.۳ ولت وصل کنید. سپس دو سر دیگر را همانطور که در نمودار زیر نشان داده شده است به سوئیچ زنگ سنتی خود وصل کنید.

قبل از ادامه، مطمئن شوید که سیم کشی را دوباره چک کنید.
مرحله ۵: دستگاه ها را به Home Assistant اضافه کنید
باید هر دو دستگاه را به Home Assistant اضافه کنیم. برای انجام آن، این مراحل را دنبال کند:
- به Settings > Devices & Services بروید.
- سوئیچ زنگ هوشمند و بلندگوی زنگ هوشمند (در صورت روشن بودن) را در لیست دستگاه های کشف شده مشاهده خواهید کرد.
- روی پیکربندی > ارسال کلیک کنید.
- یک منطقه را از منوی کشویی انتخاب کنید و روی Finish کلیک کنید.
- به همین ترتیب، دستگاه بلندگوی زنگ هوشمند را روشن و به «دستیار خانگی» خود اضافه کنید.


مرحله ۶: ایجاد اتوماسیون برای صدای زنگ سفارشی و اعلانهای فشاری
برای فعال کردن اعلانهای فشاری برای زنگ درب هوشمند Wi-Fi خود، باید یک اتوماسیون در Home Assistant ایجاد کنید. برای ایجاد، یکی، مراحل زیر را دنبال کنید:
- در Home Assistant به Settings > Automations and Scenes بروید.
- روی Create Automation > Create new automation کلیک کنید.
- روی Add Trigger کلیک کنید و Device را انتخاب کنید.
- سوئیچ زنگ هوشمند را انتخاب کنید و سپس در منوی کشویی Trigger، Smart Door Bell روشن شده را انتخاب کنید.
- روی Add Action کلیک کنید و Call Service را انتخاب کنید.
- ESPHome: smart_speaker_dfplayer_play را از منوی کشویی انتخاب کنید.
- در فایل، برای هر صدای زنگ MP3 که می خواهید پخش شود، عدد ۱، ۲ یا ۳ را تایپ کنید.
- سپس روی ذخیره کلیک کنید.
- به اتوماسیون یک نام بدهید و سپس دوباره روی Save کلیک کنید.
- برای دریافت اعلانهای فشاری بر روی تلفن خود، برنامه Home Assistant را در تلفن هوشمند خود نصب کنید، وارد Home Assistant شوید و سپس روی Add Action در پنجره اتوماسیون کلیک کنید.
- خدمات تماس را انتخاب کنید و اعلانها را انتخاب کنید: از طریق mobile_app_YourPhone اعلان ارسال کنید.
- پیامی را که می خواهید در اعلان دریافت کنید تایپ کنید و روی ذخیره کلیک کنید.




اگر اکنون دکمه زنگ در را فشار دهید، صدای زنگ از بلندگوی زنگ هوشمند پخش می شود. اگر اتوماسیون کار می کند، می توانید گزارش ها را برای جزئیات بیشتر بررسی کنید.

زنگ درب هوشمند را هوشمندتر کنید
ساختن زنگ درب هوشمند Wi-Fi خودتان با استفاده از بردهای میکروکنترلر ESP8266 و Home Assistant یک پروژه پر ارزش و مقرون به صرفه است.
هنگامی که عملکرد اصلی زنگ در هوشمند Wi-Fi DIY به درستی کار می کند، می توانید یک دوربین مدار بسته IP اضافه کنید و با استفاده از Frigate NVR با Home Assistant یکپارچه شوید تا اتوماسیون پیشرفته خانه ایجاد کنید و امنیت خانه را بهبود بخشید. همچنین می توانید یک سنسور PIR یا یک حسگر خازنی لمسی را به جای سوئیچ زنگ درب سنتی ادغام کنید. امکانات با Home Assistant بی پایان است.