Evoluzione del termostato: come è successo

Evoluzione del termostato: come è successo

Dopo diversi anni di lavoro fruttuoso, è stata presa la decisione di presentare al pubblico il nostro primo prodotto per la gestione del clima in una casa intelligente: un termostato intelligente per il riscaldamento a pavimento.

Che dispositivo è?

È un termostato intelligente per qualsiasi riscaldamento a pavimento elettrico fino a 3kW. Viene gestito tramite un'app, una pagina web, HTTP, MQTT, quindi si integra facilmente con tutti i sistemi di smart home. Per i più popolari, svilupperemo plugin.

Si può gestire non solo il riscaldamento a pavimento elettrico, ma anche la testina termostatica per il riscaldamento a pavimento ad acqua, la caldaia o la sauna elettrica. Inoltre, grazie al nrf, il termostato potrà comunicare con vari sensori. Attualmente sono in fase di sviluppo quasi tutti i sensori legati al clima. Poiché il dispositivo è basato su ESP, abbiamo ritenuto inappropriato privare gli utenti delle capacità di personalizzazione. Pertanto, faremo in modo che l'utente possa passare il dispositivo in modalità sviluppatore e installare un altro firmware, ad esempio, con supporto per HomeKit o progetti di terze parti.

*dopo l'installazione di firmware di terze parti con supporto per HomeKit o altri progetti popolari, il ritorno alla versione originale non è possibile tramite OTA (Over-the-Air).

Difficoltà incontrate

Dire che non ce ne sono state sarebbe stupido. Cercherò di descrivere i problemi più complessi emersi e come li abbiamo risolti.

Il design del corpo per il dispositivo è stata una sfida difficile. Sia per il consumo di risorse che per il tempo impiegato (circa un anno di sviluppo).

C'erano moltissimi opzioni sul mercato. E la più popolare è la stampa 3D. Facciamo un calcolo:
Stampa 3D classica. La qualità è insoddisfacente e anche la velocità di produzione. Abbiamo utilizzato la stampa 3D per i prototipi, ma per la produzione non era adatta.

Stampante 3D a fotopolimeri. Qui la qualità è di gran lunga migliore, ma il prezzo sale. I prototipi stampati con una stampante del genere sono costati circa 4000₽, e questo è solo una parte del corpo su due. È possibile acquistare la propria stampante, il che ridurrebbe il costo, ma rimarrebbe comunque astronomico e la velocità insoddisfacente.

Stampaggio in silicone. Abbiamo considerato questa l'opzione ottimale. La qualità era a livello adeguato, il prezzo alto, ma non critico. È stata persino ordinata la prima partita di 20 corpi per test sul campo.

Ma tutto è cambiato per caso. Una sera, ho pubblicato casualmente nella chat interna per sviluppatori che c'era un problema con i corpi e che il prezzo era un po' alto. E il giorno dopo un collega mi ha scritto in privato, dicendo che un amico di un suo amico aveva un TPA (termoplastico automatico). E si poteva realizzare uno stampo a compressione per lui nella prima fase. Questo messaggio ha cambiato tutto!

Anche prima stavo considerando di utilizzare il TPA, ma ciò che mi fermava era non tanto la necessità di ordinare una quantità minima di 5000 pezzi (anche se, sforzandomi, si può trovare qualcosa di meno attraverso i cinesi). Ciò che mi fermava era il prezzo dello stampo. Circa 5000 dollari. Non ero pronto a spendere questa somma tutta in una volta. Inoltre, la cifra per lo stampo attraverso il nostro nuovo collega non era esorbitante, variava intorno ai 2000-2500 dollari. Inoltre, lui si è reso disponibile e abbiamo concordato che il pagamento sarebbe stato rateizzato. Così il problema con i corpi è stato risolto.

La seconda e non meno importante difficoltà con cui ci siamo scontrati è stata l'hardware.

Non si contano le revisioni dell'hardware. Secondo i miei modestissimi calcoli, la variante presentata è la settima, escluse le versioni intermedie. In essa abbiamo cercato di risolvere tutti i difetti emersi durante i test.

Così, in precedenza pensavo che nel 'watchdog' hardware non ci fosse bisogno. Ora, senza di esso, il dispositivo non può andare in produzione: a causa della capricciosità della piattaforma da noi scelta.
Inoltre, l'ingresso analogico sull'ESP. Prima pensavo che ogni pin dell'ESP fosse universale. Ma l'ESP ha solo un pin analogico. Ho dovuto scoprirlo sul campo, il che ha portato a modifiche e riordini delle schede.

Prima versione delle schede

Evoluzione del termostato: come è successo

Evoluzione del termostato: come è successo

Seconda versione delle schede

Evoluzione del termostato: come è successo

Evoluzione del termostato: come è successo

Penultima versione delle schede, dove abbiamo dovuto risolvere urgentemente problemi con il pin analogico

Evoluzione del termostato: come è successo

Evoluzione del termostato: come è successo

Per quanto riguarda il software, qui c'erano anche molti problemi.

Ad esempio, l'ESP che si disconnette periodicamente. Sebbene il ping arrivi a lei, la pagina non si apre. L'unica soluzione è riscrivere la libreria. Forse ce ne sono altre, ma tutte quelle che abbiamo provato non hanno dato risultati.

Il secondo problema significativo, strano a dirsi, è il numero di richieste all'ESP all'apertura della pagina. Utilizzando GET o ajax, abbiamo riscontrato che il numero di richieste diventava indecorosamente alto. Di conseguenza, l'ESP si comportava in modo imprevedibile, poteva semplicemente riavviarsi o impiegare diversi secondi per elaborare la richiesta. La soluzione è stata passare ai websocket. Dopo ciò, il numero di richieste è diminuito drasticamente.

Il terzo problema è l'interfaccia web. Maggiori informazioni su di essa saranno fornite in un articolo separato, che verrà pubblicato in seguito.

Per ora posso solo dire che l'opzione più ottimale al momento è utilizzare VUE.JS.

Questo framework è il più adatto tra tutti quelli che abbiamo provato.

Le opzioni dell'interfaccia possono essere visualizzate ai seguenti link

adaptive.lytko.com
mobile.lytko.com

Sviluppo del termostato

Superate tutte le difficoltà, siamo arrivati a questo risultato:

Evoluzione del termostato: come è successo

Evoluzione del termostato: come è successo

Struttura

Il termostato è composto da tre schede (moduli):

  1. Scheda di controllo;
  2. Scheda controllata;
  3. Scheda del display.

Controllo è la scheda su cui sono posizionati ESP12, il 'watchdog' hardware e nRF24 per lavorare con i futuri sensori. All'avvio, il dispositivo supporta il sensore digitale DS18B20. Tuttavia, abbiamo previsto la possibilità di collegare sensori analogici di produttori terzi. In uno dei futuri aggiornamenti del software del dispositivo, aggiungeremo la possibilità di utilizzare sensori forniti con i termostati di produttori esterni.

Evoluzione del termostato: come è successo

Controllata è la scheda di alimentazione e gestione del carico. Qui abbiamo posizionato un alimentatore da 750mA, terminali per collegare sensori di temperatura e un relè da 16A per la gestione del carico.

Evoluzione del termostato: come è successo

Display Durante la fase di sviluppo, abbiamo scelto il display Nextion da 2.4 pollici.

Puoi facilmente trovare informazioni su di esso su internet. Aggiungo che è comodo per quasi tutti, tranne che per il prezzo. Il display da 2.4 pollici costa circa 1200₽, il che non influisce positivamente sul prezzo finale.

Pertanto, è stata presa la decisione di realizzare un'analoga per le nostre esigenze, ma a un prezzo inferiore. Tuttavia, sarà necessario programmarlo in modo classico, non dall'ambiente Nextion Editor. Questo è più complesso, ma siamo pronti ad affrontarlo.

L'analogo sarà costituito da una matrice da 2.4 pollici con touch screen e da una scheda con STM32 a bordo per gestirlo e ridurre il carico sull'ESP12. Tutto il controllo sarà simile a Nextion via UART, con 32MB di memoria e una scheda flash completa per la registrazione dei log.

La struttura modulare consente di cambiare facilmente uno dei moduli, ottenendo così un dispositivo completamente diverso.

Ad esempio, sono già disponibili varianti della "scheda 2" in diverse versioni:

  • Opzione 1 – per il riscaldamento a pavimento. Alimentazione 220V. Il relè gestisce qualsiasi carico dopo di sé.
  • Opzione 2 – per il riscaldamento a pavimento ad acqua o per la valvola del radiatore. Alimentazione 24V in corrente alternata. Controllo della valvola a 24V.
  • Opzione 3 – alimentazione 220V. Controllo di una linea separata, per esempio di una caldaia o di una sauna elettrica.

Postfazione

Non sono un sviluppatore professionista. Sono riuscito a unire persone con un obiettivo comune. Per lo più, tutti lavorano per un'idea; per creare qualcosa di veramente significativo; qualcosa che sarà utile per l'utente finale.

Sono certo che a qualcuno non piacerà il design del case; a qualcuno – l'aspetto della pagina. È un vostro diritto! Ma abbiamo percorso tutto questo cammino da soli, attraverso le continue critiche su ciò che facciamo, e soprattutto – sul perché. Se non ci sono domande simili a quelle sopra nel testo, saremo felici di discutere nei commenti.

La critica costruttiva è qualcosa di positivo, e siamo grati per essa.

Storia della nascita dell'idea qui. Per chi fosse interessato:

  1. Per qualsiasi domanda: gruppo su Telegram LytkoG
  2. Rimanere aggiornati: canale informativo Telegram Lytko News

E sì, ci godiamo quello che facciamo.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster