فهرست مطالب:

کنترل دروازه کشویی خودکار با دستیار خانگی و ESP خانه: 5 مرحله (همراه با تصاویر)
کنترل دروازه کشویی خودکار با دستیار خانگی و ESP خانه: 5 مرحله (همراه با تصاویر)

تصویری: کنترل دروازه کشویی خودکار با دستیار خانگی و ESP خانه: 5 مرحله (همراه با تصاویر)

تصویری: کنترل دروازه کشویی خودکار با دستیار خانگی و ESP خانه: 5 مرحله (همراه با تصاویر)
تصویری: TOYOTA NOAH HYBRID S-Z/トヨタ ノア ハイブリッド S-Z 7人乗り 2WD 1.797L 2ZR-FXE 2024, ژوئن
Anonim
با استفاده از دستیار خانگی و ESPHome دروازه کشویی اتوماتیک خود را کنترل کنید
با استفاده از دستیار خانگی و ESPHome دروازه کشویی اتوماتیک خود را کنترل کنید

مقاله زیر بازخوردی در مورد تجربه شخصی من در کنترل دروازه کشویی اتوماتیک است که در خانه خود نصب کرده بودم. این دروازه ، با نام تجاری "V2 Alfariss" ، دارای چند ریموت Phox V2 برای کنترل آن بود. من همچنین یک زنگ درب Google Nest Hello دارم ، که متأسفانه نمی توان آن را به کنترل کننده دروازه کشویی متصل کرد تا از راه دور دروازه را از برنامه تلفن همراه باز کند. برای من ، یکی از راه های حل این محدودیت یافتن راهی برای اتصال کنترل کننده دروازه کشویی خودکار به اینترنت بود. با استفاده از این دروازه متصل جدید ، می توانم به مواردی مانند کنترل دروازه کشویی با تلفن همراه خود پاسخ دهم. من با استفاده از Home Assistant ، ESPhome و چند قطعه الکترونیکی به این مهم دست یافتم.

ایده پشت این مقاله این نیست که چیزی آماده استفاده به شما ارائه دهیم ، بلکه انگیزه دادن به شما است. به یاد داشته باشید ، اگر دقیقاً همان دروازه خودکار را ندارید ، بارگیری و خواندن مستندات فنی مدل خود را فراموش نکنید. آن را تطبیق داده و بهبود دهید. هشدار: مراقب باشید و قبل از باز کردن کنترلر اصلی ، قطع برق را فراموش نکنید. لذت بردن!

تدارکات

  • ابزارها:

    • پیچ گوشتی
    • آهن لحیم کاری
    • چند متری
  • قطعات:

    • Raspberry PI 3 (مجموعه کامل: 2A alim + 32gb sd card)
    • ESP8266 Wemos D1 mini
    • 2 ماژول رله
    • 2 مقاومت 10k
    • PCB برای نمونه سازی
    • سیم ها

مرحله 1: چگونه کار می کند؟

چگونه کار می کند؟
چگونه کار می کند؟

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

  • استفاده از Home Assistant به عنوان مرکزی برای کنترل پورتال و دریافت درخواست از یک کاربر.
  • نصب ESPHome به عنوان سیستم عامل داخل ESP8266.
  • قطعات الکترونیکی:

    • نمونه اولیه PCB برای لحیم کاری قطعات و اتصال آنها
    • دو رله برای شبیه سازی دکمه فشاری برای باز یا بسته شدن دروازه
    • منبع تغذیه 5 ولت قدیمی برای تغذیه ESP8266
    • دو مقاومت برای تقسیم ولتاژ از سنسور باز/بسته
  • اتصال به اینترنت با روتر (نیاز به ویژگی پیکربندی قانون NAT)
  • یک حساب DuckDNS برای اجازه دادن به وضوح نام به دستیار خانگی شما
  • یک تلفن همراه برای نصب برنامه Home Assistant و یک ویجت روی صفحه

جریان

برای درک بهتر به طرحواره نگاه کنید.

  1. از طریق تلفن همراه ، ویجت برنامه تلفن همراه دستیار خانگی را فشار می دهید
  2. یک درخواست به آدرس وب دستیار خانگی شما ارسال می شود (توسط DuckDNS و TLS با اجازه رمزگذاری حل می شود).
  3. روتر اینترنتی شما درخواست را به برنامه Home Assist هدایت می کند
  4. Home Assist اقدام درخواست را به ESPHome ارسال می کند
  5. ESPHome موتور اتوماتیک کشویی را فعال می کند
  6. شامپاین !

مرحله 2: نصب و راه اندازی Home Assistant در Raspberry PI

دستیار خانگی را می توان به عنوان مرکزی برای همه وسایل IOT خانه خود در نظر گرفت. این مکان خوبی برای کنترل همه دستگاه های متصل و افزودن بسیاری از ویژگی ها خواهد بود. ویژگی های اصلی که من بیشتر دوست دارم داشبورد ، API و تنوع افزونه ها است.

نصب و راه اندازی

من به وضوح هیچ ارزش افزوده ای ندارم که به شما نحوه تنظیم و نصب Home Assistant را بگویم. در واقع ، قبل از این پروژه من این نرم افزار را نمی شناختم. مقالات کلیدی عبارتند از:

  • با این مقاله Home Assistant را نصب کنید
  • پیکربندی شبکه برای Home Assistant را می توانید در اینجا پیدا کنید:

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

  • ESPHome را با این برنامه نصب کنید:
  • افزونه DuckDNS را برای دستیار خانگی نصب کنید:
  • افزونه ویرایشگر فایل را نصب کنید (مفید):

بعد از همه این نکات ، شما یک Home Assistant خوب دارید که روی Raspberry PI خود کار می کند. باید بتوانید از طریق HTTP و IP محلی به آن دسترسی داشته باشید یا https://homeassistant.local: 8123 را امتحان کنید.

پیکربندی

DuckDNS را با دامنه خود و با توکن پیکربندی کنید. به عنوان مثال ، می توانید در تصاویر ، قسمتی از پیکربندی من را مشاهده کنید. فراموش نکنید که اصطلاحات "true" را بپذیرید.

lets_encrypt:

accept_terms: true certfile: fullchain.pem keyfile: privkey.pem token: 92f56bb2-2c26-4802-8d4d-xxxxxxxxxxx domain:-nameofyourchoice.duckdns.org ثانیه: 300

تصمیم گرفتم HA را با IP ثابت پیکربندی کنم زیرا ساده تر است و مطمئن هستید که IP پس از راه اندازی مجدد یکسان خواهد بود و سپس قوانین ارسال پورت شما به کار خود ادامه می دهد: https://github.com/home-assistant/ سیستم عامل…

در مورد من ، من یک قطعه پیکربندی را در داخل فایل configuration.yaml اضافه می کنم زیرا DuckDNS https را مدیریت نمی کند ، فقط گواهی اجازه رمزگذاری و به روز رسانی DuckDns:

http:

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

مرحله 3: برد الکترونیکی سفارشی برای افزایش دروازه کشویی اتوماتیک

برد الکترونیکی سفارشی برای افزایش دروازه کشویی اتوماتیک
برد الکترونیکی سفارشی برای افزایش دروازه کشویی اتوماتیک
برد الکترونیکی سفارشی برای افزایش دروازه کشویی اتوماتیک
برد الکترونیکی سفارشی برای افزایش دروازه کشویی اتوماتیک
برد الکترونیکی سفارشی برای افزایش دروازه کشویی اتوماتیک
برد الکترونیکی سفارشی برای افزایش دروازه کشویی اتوماتیک

شاید ، این برای من غیرمعمول ترین قسمت بود زیرا من معمولاً بیشتر در نرم افزارها کار می کنم تا سخت افزارها. من با یک تخته نان و یک مدار بسیار ابتدایی شروع کرده ام ، فقط برای بررسی اینکه آیا می توانم برنامه ای را در داخل Wemos D1 mini بارگذاری کنم و چراغ LED را چشمک بزنم. سپس ، من سیستم عامل ESPhome را تغییر دادم و این مقاله کامل را برای شروع دنبال می کنم:

پس از چند بار تکرار برای یافتن مدار مناسب ، آن را با Fritzing مستند کرده ام. مطمئن شوید که زمان زیادی را برای این مرحله صرف می کنید زیرا وقتی همه چیز لحیم می شود بازگشتی وجود ندارد (برگشت دقیقاً اما آسان نیست). من سعی کردم سنسور ورودی را از دروازه کشویی اتوماتیک شبیه سازی کنم ، اما این یک شکست بود (دلیل آن را بعداً توضیح می دهم). شخصاً ، متوجه شدم که Fritzing ابزار خوبی برای مستندسازی آنچه که شما روی تخته نورد سیم کشی می کنید است.

توجه: در صورتی که نتوانید ESPHome Home Assistant خود را برای اولین راه اندازی اولیه متصل کنید ، نقطه شروع خوبی در اینجا خواهید یافت. پس از بارگذاری سیستم عامل ، می توانید "روی هوا" (OTA) را بارگذاری کنید.

رله برای فعال کردن باز کردن/بستن ماشه

در مشخصات فنی دروازه کشویی اتوماتیک ، مشخص شده است که باید یک مدار بین "START" و "COM" را ببندید تا یک عمل باز یا بسته شدن دروازه (باز شدن کامل) ایجاد شود. یک مدار نزدیک بین "START. P" و "COM" باعث ایجاد/بستن دروازه برای عابران می شود. من از "STOP" استفاده نکردم اما این همان مفهوم است اما برای متوقف کردن دروازه هنگام باز یا بسته شدن.

در مورد انتخاب قطعات الکترونیکی ، تصمیم گرفتم به جای ترانزیستور به سراغ رله بروم. ترانزیستورها خوب هستند اما تضمینی برای نزدیک بودن کامل مدار ندارند. من فکر می کنم آنها می توانند اجازه دهند جریان بسیار کمی در مدار جریان یابد. یکی دیگر از مزایای رله این است که وقتی مدار خود را آزمایش می کنید ، اساساً وقتی تماس با صدای "کلیک" بسته می شود ، می شنوید.

حالت باز بودن سنسور را بدست آورید

در ابتدا ، من در فکر استفاده از برخی سنسورهای مغناطیسی برای تشخیص حالت باز یا بسته شدن دروازه بودم. اما من متوجه شده ام که یک پلاگین وجود دارد که روی "کنترل سنسور" اشاره می کند. واضح است که برای استفاده (توسط افرادی مانند من) ساخته نشده است ، با یک آزمایش کننده تماس دریافتم که می توانم هنگام باز کردن دروازه حالت باز یا بسته را بخوانم. من یک اشتباه بزرگ مرتکب شده ام که فکر می کنم حالت نوعی ولتاژ منطقی TTL (3.3v) بوده است. در این حالت ، می توانید آنها را مستقیماً به Wemos Input وصل کنید. اما در واقع ، هنگامی که دروازه باز می شود ، ولتاژ خروجی 6.3 ولت وجود دارد. برای استفاده از این سیگنال ، باید ولتاژ را با این نوع مدار تقسیم کنید. https://www.learningaboutelectronics.com/Articles/H… بنابراین ، من از دو مقاومت 10 اهم بین خروجی سنسور محدود و ورودی Wemos استفاده کرده ام (مجدداً برای مشاهده طرح به تصاویر پیوست نگاه کنید).

منبع تغذیه ارزان قیمت 5 ولت

برای تغذیه همه این قطعات ، از منبع تغذیه تلفن همراه قدیمی استفاده می کنم. در را باز کردم و کابل را به پیچ کوچک با پیچ تغییر دادم. من همچنین تصمیم گرفتم دو pcb (esp و منبع تغذیه) را با چسب گرم ادغام کنم (بله می دانم ، این کمی کثیف است اما کار می کند:-). تمیزترین چیز تا کنون نیست ، اما کنترل آن آسان تر است و از لمس 220 ولت جلوگیری می کند.

این همه برای بخش سخت افزاری است.

مرحله 4: سیستم عامل ESPHome برای اجرا بر روی نمونه اولیه PCB

منطق داخل ESP8266 از طریق پورتال Home Assistant ESPHome Add-on تزریق می شود. شما منطقی را که ESPHome اجرا می کند کدگذاری می کنید. نوع بسیار کوچک برنامه باید کد با نحو ESPHome باشد. این واقعا آسان است و سرگرم کننده است زیرا فقط با چند خط YAML ، ESP8266 شما به سرعت به یک چیز هوشمند تبدیل می شود. کد منبع کامل در اینجا موجود است: https://gist.github.com/toomone/819112ea1b04937912… اجازه دهید روی بخش مهمی از کد تمرکز کنیم.

کنترل رله ها

همانطور که قبلاً گفتم ، کنترل کننده دروازه کشویی اتوماتیک می تواند یک عمل باز یا بسته را با یک ضربه کوتاه (مدار بسته) بین دو ورودی انجام دهد. برای انجام این کار ، باید یک بخش سوئیچ را با پیکربندی کمی پیکربندی کنید. به عنوان مثال ، اجازه دهید روی قسمتی تمرکز کنیم که باز شدن قسمتی از دروازه را فعال می کند (باز یا بسته می کند) (برای مثال برای عابر پیاده لازم است).

تعویض:

- پلت فرم: gpio pin: D3 // شماره پینی که سیگنال در شناسه Wemos خروجی می شود: relay restore_mode: ALWAYS_OFF - platform: name name: "Gate Pedestrian Remote" icon: "mdi: walk" turn_on_action: // the منطق باید توسط ESP اجرا شود برای شبیه سازی یک پالس - switch.turn_on: رله - تاخیر: 500ms - switch.turn_off: رله

کد قبلی یک سوئیچ و یک الگو ایجاد می کند. این دو مفهوم به ESPHome اجازه می دهد تا مکانیزم پیشرفته ای را بدون کدگذاری واقعی ارائه دهد. از شما دعوت می کنم اسناد ESPHome را بخوانید تا ویژگی های ارائه شده را عمیق تر کنید. https://esphome.io/cookbook/relay.html و

خواندن وضعیت سنسور بستن باز

سنسور باینری:

- پلت فرم: پین gpio: شماره: D1 معکوس: نام واقعی: شناسه "باز کردن حسگر": open_sensor device_class: garage_door

این قسمت از اسکریپت به برد wemos می گوید که حالت روی سنسور باز در D1 را بخواند. برای پیدا کردن D1 ، فقط باید روی PCB Wemos خود بخوانید. من برای معکوس کردن مقدار سیگنال از پارامتر "معکوس" به true استفاده کرده ام. دلیل واضح آن را به خاطر نمی آورم ، اما فکر می کنم نمایش آن در حالت دائمی و نزدیک به حالت پورتال در داشبورد HA ساده بود.

مجاز کردن تماس API به ESPHome

اگر می خواهید از ویجت دستیار خانگی در تلفن خود استفاده کنید ، باید این قطعه کد کوچک را اضافه کنید:

# API دستیار خانگی را فعال کنید

api: services: - service: open_portal_pedestrian سپس: - switch.turn_on: رله - تاخیر: 500ms - switch.turn_off: رله

به این ترتیب ، تنظیم کننده برنامه Home Assist اقدام برای باز کردن پورتال را لیست می کند. من فقط یکی را برای عابران پیاده انتخاب کرده ام ، زیرا این موردی است که من بیشتر از آن استفاده می کنم.

مرحله 5: دستیار خانگی خود را در معرض دید جهان قرار دهید

دستیار خانه خود را در معرض دید جهان قرار دهید
دستیار خانه خود را در معرض دید جهان قرار دهید
دستیار خانه خود را در معرض دید جهان قرار دهید
دستیار خانه خود را در معرض دید جهان قرار دهید

زیرا ، شما می خواهید بتوانید دروازه کشویی خودکار خود را از هر نقطه روی کره زمین باز کنید و نه فقط از خانه ، باید HA خود را در معرض دید جهان قرار دهید. به هر حال ، حتماً از احراز هویت رمز عبور قوی استفاده کنید. در روتر اینترنتی خود باید یک قانون را برای مسیریابی تمام ترافیک از یک پورت خاص به یک IP خاص و همچنین یک پورت پیکربندی کنید. به عنوان مثال ، پیکربندی را که در روتر ارائه دهنده خود انجام داده ام (با عرض پوزش ، به زبان فرانسوی است) خواهید یافت ، اما متوجه خواهید شد که این پیکربندی واقعا ساده است. این قانون باید به روتر شما بگوید که باید همه پروتکل های موجود در درگاه xxxx را بپذیرد تا به IP Home Assistant با پورت 8123 بروید (اگر آن را تغییر نداده اید).

فقط همین. از پرسیدن سوالات دریغ نکنید زیرا مطمئناً فراموش کرده ام که جزئیات مربوط به بخش خاصی را اضافه کنم. سیستم هر روز بدون مشکل کار می کند. من همچنین این حقیقت را دوست دارم که می توانم حالت تلفن را باز یا بسته کنم.

توصیه شده: