نماد سایت گیلان پلاس رسانه هوش مصنوعی و کارآفرینی گیلان

با یک نمایشگر ۷۰ هزارتومانی، خانواده را از جلسه بودنم باخبر می‌کنم

خلاصه

با یک برد ESP32 و نمایشگر ارزان، سیستم «On Air» ساختم که وضعیت جلساتم را از گوگل‌کالندر می‌خواند و به‌صورت زنده روی صفحه نشان می‌دهد تا هم‌خانه‌ها بدانند کی مزاحم نشوند.

مقدمه

کار در خانه راحت است تا وقتی کسی وسط جلسه در را باز نکند! با این پروژه ۳ ساعته، یک چراغ هوشمند ساختم که خودش وضعیت تماسم را اعلام می‌کند.

آنچه لازم دارید

مرحله ۱: تقویم را به Home Assistant بیاورید

در مسیر Settings > Devices & Services > Add Integration، Google Calendar را اضافه کنید. هر تقویم به‌صورت یک موجودیت (entity) جدا نمایش داده می‌شود.

سنسورهای الگویی که بسازید

نام سنسور | کاربرد
عنوان جلسه | نمایش نام جلسه
ساعت شروع | استخراج ساعت شروع
ساعت پایان | استخراج ساعت پایان
در جلسه‌ام؟ | باینری‌سنسور خود تقویم
امروز جلسه دیگری دارم؟ | بررسی وجود رویداد بعدی در همان روز

کد نمونه برای ساعت شروع:

{% set s = state_attr('calendar.your_mail_com','start_time') %}
{% if s %}
  {% set dt = as_datetime(s) %}
  {{ dt.strftime('%H:%M') }}
{% else %}-{% endif %}

مرحله ۲: ESPHome را پیکربندی کنید

فایل YAML دستگاه را طوری بسازید که چهار متغیر زیر را از Home Assistant دریافت کند:

منطق نمایش

وضعیت رنگ صفحه متن
در جلسه‌ام قرمز On Air تا ۱۴:۳۰
جلسه‌ای نیست و امروز جلسه دیگری دارم آبی Free بعدی: ۱۶:۰۰
جلسه‌ای نیست و امروز دیگر جلسه‌ای ندارم سبز Free امروز تمام شد!

نصب و تست نهایی

۱. دستگاه را فلش کنید.
۲. در Home Assistant، از قسمت Services، سرویس esphome.your_device_reload را اجرا کنید تا متغیرها فوراً به‌روز شوند.
۳. یک رویداد آزمایشی در تقویم بسازید و ببینید صفحه چگونه تغییر می‌کند.

ایده‌های بعدی

همین حالا می‌توانید تمام کدها را از مخزن گیت‌هاب پروژه دانلود و شروع به ساخت کنید.

خروج از نسخه موبایل