Mascota HectorziN
Blogul lui HectorziN

Am transformat acest M5Stack Dial în telecomanda perfectă pentru Home Assistant cu ESPHome

Dacă folosești Home Assistant și ai avut vreodată impresia că proiectele cu ESP32 sau ESPHome sunt prea complicate, articolul acesta probabil îți va schimba părerea. Când vedem dispozitive personalizate pe internet, e ușor să credem că în spate se află sute de linii de cod și cunoștințe avansate de programare. În realitate, lucrurile stau cu totul altfel. Astăzi există proiecte open source foarte bine puse la punct, care îți permit să pornești de la o bază complet funcțională și să o adaptezi treptat nevoilor tale. În acest articol îți voi arăta cum am transformat un M5Stack Dial într-un controler fizic pentru Home Assistant, folosind ESPHome, pornind de la proiecte deja existente și făcând doar modificările necesare pentru a-l adapta felului meu de a folosi automatizarea casei.

Pe YouTube împărtășesc mai multe tutoriale, teste practice și proiecte reale de casă inteligentă. Abonează-te pe YouTube

Am transformat acest M5Stack Dial în telecomanda perfectă pentru Home Assistant cu ESPHome

Video asociat pe YouTube

Video

Ce este M5Stack Dial?

M5Stack DialM5Stack Dial este un dispozitiv bazat pe un ESP32-S3 care combină mai multe elemente foarte interesante într-un format cu adevărat compact:

  • Ecran tactil circular de 1,28 inci.
  • Encoder rotativ.
  • Buton integrat.
  • WiFi.
  • Cititor RFID.
  • Pini GPIO de extensie.
  • Alimentare prin USB sau direct din partea din spate.

Tocmai această combinație îl face un candidat perfect pentru a deveni o telecomandă fizică dedicată controlului Home Assistant.

În loc să scoți mereu telefonul, poți avea un controler mereu la îndemână, pe masă sau montat pe perete.

De ce să folosești un controler fizic?

Deși Home Assistant are o interfață excelentă, există acțiuni pe care le facem tot timpul.

De exemplu:

  • Pornirea sau oprirea luminilor.
  • Schimbarea luminozității.
  • Creșterea sau scăderea volumului muzicii.
  • Modificarea temperaturii aerului condiționat.
  • Deschiderea sau închiderea jaluzelelor.

Toate aceste acțiuni cer să scoți telefonul, să-l deblochezi, să deschizi Home Assistant și să apeși de mai multe ori pe ecran.

Cu un controler fizic este suficient să rotești un buton sau să apeși o tastă.

Poate părea o diferență mică, dar după câteva zile de utilizare te obișnuiești foarte repede și apoi e greu să revii la vechiul obicei.

Primul pas: verificarea funcționării hardware-ului

Înainte să instalez orice firmware personalizat, am decis să folosesc firmware-ul de exemplu oferit de ESPHome Device Builder.

Rolul lui este foarte simplu:

  • să verifice că ecranul funcționează;
  • să confirme că encoderul răspunde corect;
  • să se asigure că butonul funcționează;
  • să confirme că dispozitivul poate comunica cu Home Assistant.

Nu are o interfață spectaculoasă și nici nu încearcă să controleze toată casa.

Pur și simplu ne ajută să ne asigurăm că hardware-ul este configurat corect înainte să începem să modificăm ceva.

Este un pas foarte recomandat, pentru că elimină multe dubii atunci când instalăm mai târziu un firmware mai complex.

Primul firmware cu adevărat util

M5Stack Dial custom component for ESPHome

Repository-ul complet este pe github al autorului și YouTuber-ului SmartHome yourself

După ce am verificat că Dial-ul funcționează, a venit momentul să instalez un firmware gândit pentru Home Assistant.

Acest proiect permite controlul diferitelor tipuri de entități prin simpla modificare a câtorva linii din fișierul de configurare.

De exemplu, putem adăuga:

  • Lumini.
  • Climatizare.
  • Jaluzele.
  • Playere multimedia.
  • Ventilatoare.
  • Intrări numerice (inpup_numbers)
  • Încuietori
  • senzori numerici (number).
  • Comutatoare.
  • Temporizatoare (timer).

Interesant este că nu programăm o aplicație de la zero.

În majoritatea cazurilor, pur și simplu indicăm ce entitate din Home Assistant vrem să controlăm.

De exemplu:

  • o lumină;
  • un aparat de aer condiționat;
  • un player multimedia.

După configurare, Dial-ul afișează automat interfața potrivită și putem folosi encoderul pentru a modifica luminozitatea, volumul sau temperatura, în funcție de dispozitivul selectat.

Aici mulți descoperă că lucrul cu ESPHome este mult mai simplu decât își imaginau.

Firmware-ul meu personalizat

Smart Home Button. A Circular HMI for Home Assistant by Jason

Acesta se bazează pe proiectul excelent al lui Jason.

După ce am folosit acel firmware câteva zile, mi-am dat seama că funcționează foarte bine.

Totuși, îmi doream o interfață mai rafinată vizual și o experiență de utilizare mai plăcută.

Căutând prin proiecte diferite, am găsit un firmware dezvoltat inițial pentru un alt scop.

Proiectul acela fusese gândit în principal pentru controlul unei benzi LED folosind GPIO-urile lui M5Stack Dial.

În loc să-l folosesc ca atare, am decis să fac un fork și să-l adaptez complet pentru Home Assistant.

Rezultatul este firmware-ul pe care îl folosesc acum.

Nu este scris de la zero.

O parte din muncă era deja făcută datorită proiectului original, dar a fost modificată pentru a se potrivi unei utilizări complet diferite.

Repository-ul modificat este pe propriul meu github.

Printre altele, include:

  • o interfață mai curată;
  • animații mai îngrijite;
  • ecrane optimizate pentru utilizarea de zi cu zi;
  • integrare cu Home Assistant.

În prezent permite controlul mai multor lumini, al climatizării și al altor dispozitive compatibile.

Ca orice proiect deschis, va continua să evolueze în timp.

Alimentare fără utilizarea USB-ului

Unul dintre detaliile care îmi plac cel mai mult la M5Stack Dial este că nu suntem obligați să lăsăm cablul USB conectat.

După configurare îl putem alimenta direct din partea din spate, folosind doar două fire.

Asta face mult mai ușoară o instalare permanentă.

De exemplu:

  • montat pe un suport imprimat 3D;
  • instalat pe un perete;
  • integrat în interiorul unei piese de mobilier.

Rezultatul este mult mai curat și oferă senzația unui dispozitiv complet finisat.

Mult mai mult decât un ecran

Un alt aspect foarte interesant al Dial-ului este că are pini GPIO accesibili din partea din spate.

Asta înseamnă că putem conecta hardware suplimentar precum:

  • senzori;
  • relee;
  • benzi LED;
  • butoane;
  • alte dispozitive compatibile cu ESP32.

Asta deschide ușa către proiecte mult mai complexe.

Deși în acest articol ne-am concentrat pe Home Assistant, hardware-ul permite dezvoltarea multor alte idei.

Trebuie să știi să programezi?

Probabil aceasta este întrebarea cea mai des întâlnită.

Răspunsul este că depinde cât de departe vrei să mergi.

Dacă vrei doar să folosești unul dintre proiectele existente, nu ai nevoie de cunoștințe avansate de programare.

Cea mai mare parte a muncii constă în:

  • modificarea unor entități;
  • schimbarea numelor;
  • adaptarea unor parametri mici;
  • compilarea firmware-ului.

Totul plecând de la o bază complet funcțională.

Inteligența artificială te poate ajuta și ea

Un alt avantaj pe care îl avem astăzi este că instrumentele bazate pe inteligență artificială ne pot ajuta să înțelegem proiecte care acum câțiva ani păreau inaccesibile.

Dacă găsești o parte din cod pe care nu o înțelegi, poți cere o explicație sau chiar ajutor pentru a face o modificare concretă.

Asta nu înseamnă că totul va funcționa automat.

Va trebui mereu să testezi, să compilezi și să corectezi erori.

Dar reduce mult bariera de intrare pentru cine abia începe.

Resurse folosite

Firmware M5 dial for ESPHome

https://github.com/SmartHome-yourself/m5-dial-for-esphome

Proiect original

https://www.hackster.io/JasonFang/smart-home-button-a-circular-hmi-for-home-assistant-872133

Fork-ul meu adaptat pentru Home Assistant

https://github.com/hectorzin/m5stack-dial-home-assistant

Concluzie

După ce am folosit acest proiect o vreme, cred că cea mai importantă concluzie nu este că M5Stack Dial este un dispozitiv bun.

Partea cu adevărat interesantă este să vezi că a începe cu ESPHome este mult mai accesibil decât pare.

Nu trebuie să dezvolți un proiect de la zero.

Poți porni de la un firmware care funcționează deja, să înțelegi pas cu pas cum este construit, să modifici părți mici și să-l adaptezi exact nevoilor tale.

Așa învață majoritatea comunității.

Și, probabil, este și cea mai simplă modalitate de a începe dacă vrei să faci trecerea de la Home Assistant la lumea ESP32.

Întrebări frecvente

Este compatibil cu Home Assistant?

Da. Atât firmware-ul de exemplu, cât și proiectele folosite în acest articol sunt gândite să se integreze cu Home Assistant prin ESPHome.

Trebuie să știu să programez?

Nu neapărat. Poți începe folosind proiecte deja create și făcând doar mici modificări.

Poate fi alimentat fără cablul USB?

Da. După configurare, M5Stack Dial poate fi alimentat prin conectorul din spate, folosind două fire.

Ce dispozitive pot controla?

Lumini, climatizare, jaluzele, playere multimedia și practic orice entitate compatibilă cu Home Assistant.

Pot modifica firmware-ul?

Da. Atât proiectul original, cât și fork-ul meu sunt deschise și pot fi adaptate pentru a adăuga funcții noi sau pentru a modifica interfața în funcție de nevoile tale.

Unde cumperi

Dacă te interesează M5Stack Dial v1.1, iată opțiunile de cumpărare disponibile:

Video asociat

CUPOANE ALIEXPRESS