
După câțiva ani de muncă fructuoasă, am decis să supunem opiniei publice primul nostru produs pentru gestionarea climatului în casele inteligente - termostatul inteligent pentru gestionarea încălzirii prin pardoseală.
Ce este acest dispozitiv?
Este un termostat inteligent pentru orice sistem de încălzire prin pardoseală electrică de până la 3 kW. Acesta este controlat prin aplicație, pagină web, HTTP, MQTT, ceea ce îl face ușor de integrat în toate sistemele de case inteligente. Pentru cele mai populare, vom dezvolta pluginuri.
Se poate controla nu doar încălzirea prin pardoseală electrică, ci și head-ul de termostatare pentru încălzirea prin pardoseală cu apă, boilerul sau sauna electrică. De asemenea, cu ajutorul nrf, termostatul va putea comunica cu diverse senzori. În prezent, sunt în dezvoltare aproape toți senzorii relevanți pentru climă. Deoarece dispozitivul este bazat pe ESP, am decis că nu este potrivit să limităm utilizatorilor opțiunile de personalizare. Prin urmare, vom face astfel încât utilizatorul să poată trece dispozitivul în modul dezvoltator și să instaleze un alt firmware, de exemplu, cu suport pentru HomeKit sau proiecte terțe.
*după instalarea firmware-urilor terță parte cu suport pentru HomeKit sau alte proiecte populare, revenirea la versiunea originală nu este posibilă prin OTA (Over-the-Air).
Dificultățile întâmpinate
A spune că nu au fost dificultăți ar fi fost o nebunie. Voi încerca să descriu cele mai dificile probleme apărute și cum le-am rezolvat.
Carcasa dispozitivului a fost o sarcină complexă. Atât din punct de vedere al resurselor, cât și al timpului de dezvoltare (aproape un an).
Existau numeroase opțiuni pe piață. Cea mai populară este imprimarea 3D. Să facem o estimare:
Imprimarea 3D clasică. Calitatea lasă de dorit, iar viteza de producție este, de asemenea, scăzută. Am folosit imprimarea 3D pentru prototipuri, dar pentru producție nu era viabilă.
Imprimanta 3D fotopolimerică. Aici calitatea este mult superioară, dar intră în joc efectul prețului. Prototipurile imprimate pe o astfel de imprimantă au costat aproximativ 4000₽, iar aceasta este doar o parte din carcasă din două. Poți cumpăra propria imprimantă, ceea ce va reduce costul, dar prețul va rămâne totuși exorbitant, iar viteza nesatisfăcătoare.
Turnarea în silicon. Am considerat că aceasta este cea mai optimă opțiune. Calitatea era la nivel, prețul ridicat, dar nu critic. Chiar a fost comandată prima partidă de 20 de carcase pentru teste de teren.
Dar totul s-a schimbat dintr-o întâmplare. În una dintre serile acelea, am publicat accidental în chatul intern pentru dezvoltatori că există o problemă cu carcasele, prețul fiind prea mare. Și a doua zi, un coleg mi-a scris în privat că are un prieten care are o TPA (imprimantă 3D). Și putem, în prima etapă, să fabricăm un matriță pentru ea. Acest mesaj a schimbat totul!
Chiar și înainte, am luat în considerare utilizarea TPA, dar mă oprea nu faptul că trebuia să comand o cantitate minimă de 5000 de bucăți (deși cu puțin efort puteam găsi chiar și mai puțin prin chinezi). Mă oprea prețul matriței. Aproape 5000 de dolari. Această sumă nu eram pregătit să o plătesc dintr-o dată. Suma pentru matriță prin noul nostru coleg era însă accesibilă, variind între 2000 și 2500 de dolari. În plus, el a fost deschis la negociere și ne-am înțeles că plata va fi în rate. Astfel, problema cu carcasele a fost rezolvată.
A două și nu mai puțin importantă dificultate cu care ne-am confruntat este hardware-ul.
Numărul reviziilor hardware-ului este incalculabil. Potrivit unor calcule modeste, varianta prezentată este a șaptea, fără a conta cele intermediare. În aceasta am încercat să rezolvăm toate deficiențele evidențiate în urma testelor.
Așadar, anterior credeam că un „watchdog” hardware nu este necesar. Acum, fără el, dispozitivul nu va intra în producție, din cauza capriciilor platformei alese de noi.
De asemenea, un intrare analogică pe ESP. Credeam că fiecare pin al ESP-ului este universal. Dar ESP are doar un pin analogic. Am aflat acest lucru pe parcurs, ceea ce a dus la reproiectarea și reordonarea plăcilor de circuit imprimat.
Prima versiune a plăcilor de circuit imprimat


A doua versiune a plăcilor de circuit imprimat


Penultima versiune a plăcilor de circuit imprimat, unde a fost necesară rezolvarea urgentă a problemelor cu pinul analogic


În ceea ce privește software-ul, aici au fost multe capcane
De exemplu, deconectarea periodică a ESP-ului. Deși ping-ul ajunge la ea, pagina nu se deschide. Soluția este una – rescrierea bibliotecii. Este posibil să existe și altele, dar toate cele pe care le-am încercat nu au dat rezultate.
A doua problemă semnificativă, ciudat, este numărul de solicitări către ESP la deschiderea paginii. Folosind GET sau ajax, ne-am confruntat cu faptul că numărul de solicitări devenea extrem de mare. Din cauza acestui lucru, ESP se comporta imprevizibil, putea pur și simplu să se repornească sau să proceseze o solicitare timp de câteva secunde. Soluția a fost trecerea la web socket-uri. După aceasta, numărul de solicitări a scăzut considerabil.
A treia problemă – acesta este interfața web. Mai multe informații despre acesta vor fi într-un articol separat, care va fi publicat mai târziu.
Deocamdată voi spune doar că cel mai optim variant în acest moment este să folosești VUE.JS.
Acest framework este cel mai potrivit dintre toate cele pe care le-am testat.
Opțiunile interfeței pot fi vizualizate la linkurile de mai jos
Dezvoltarea termostatului
Depășind toate dificultățile, am ajuns la următorul rezultat:


Construcția
Termostatul este format din trei plăci (module):
- Controler;
- Modul de control;
- Placa de afișare.
Controler – placa pe care sunt situate ESP12, watchdog-ul hardware și nRF24 pentru a colabora cu viitoarele senzori. La început, dispozitivul suportă senzorul digital DS18B20. Dar am prevăzut posibilitatea de a conecta senzori analogici de la alți producători. Și într-o viitoare actualizare a software-ului dispozitivului, vom adăuga posibilitatea de a utiliza senzori care sunt furnizate împreună cu termostatele de la alți producători.

Modul de control – placa de alimentare și gestionare a sarcinii. Acolo am plasat un alimentator de 750mA, terminale pentru conectarea senzorilor de temperatură și un releu de 16A pentru gestionarea sarcinii.

Display – în etapa de dezvoltare am ales de 2.4 inci.
Despre el se poate găsi ușor informații pe internet. Din partea mea, adaug că este convenabil pentru aproape toată lumea, cu excepția prețului. Un afișaj de 2.4 inci costă în jur de 1200₽, ceea ce nu are un impact pozitiv asupra prețului final.
Așa că s-a luat decizia de a realiza un analog pentru nevoile noastre, dar cu un preț mai mic. Adevărat, va trebui să-l programăm în mod clasic, nu din mediul Nextion Editor. Este mai complicat, dar suntem pregătiți pentru asta.
Analogul va fi o matrice de 2.4 inci cu touchscreen și o placă cu STM32 la bord pentru a-l gestiona și a reduce sarcina asupra ESP12. Toată gestionarea va fi similară cu Nextion prin UART, la fel și memoria de 32MB și un card flash complet pentru înregistrarea jurnalelor.
Construcția modulară permite înlocuirea ușoară a unuia dintre module și rezultatul este un dispozitiv complet diferit.
De exemplu, există deja variante ale „plăcii 2” în mai multe execuții:
- Opțiunea 1 – pentru podea încălzită. Alimentare de 220v. Reléul controlează orice sarcină după sine.
- Opțiunea 2 – pentru podea încălzită cu apă sau pentru un robinet de radiator. Alimentare de 24v curent alternativ. Controlul robinetului la 24v.
- Opțiunea 3 – alimentare de 220v. Controlați o linie separată, de exemplu un cazan sau o saună electrică.
Cuvânt înainte
Eu nu sunt un dezvoltator profesionist. Am reușit să unesc oamenii cu un scop comun. În cea mai mare parte, toți lucrează pentru idee; pentru a face ceva cu adevărat valoros; ceva ce va fi util utilizatorului final.
Sunt sigur că unora nu le va plăcea designul carcasei; altora – aspectul paginii. Este dreptul vostru! Dar am parcurs tot acest drum singuri, printr-o critică constantă a ceea ce facem și, cel mai important — de ce. Dacă nu există întrebări de genul celor de mai sus, ne-ar face plăcere să discutăm în comentarii.
Critica constructivă este bună și îi suntem recunoscători.
Povestea originilor ideii . Pentru cei interesați:
- Pentru orice întrebări: grupul de Telegram
- Urmăriți știrile: canalul de informații Telegram
Și da, ne bucurăm de ceea ce facem.
Sursa: habr.com
