L'evoluzione del termostato: come è nato

L'evoluzione del termostato: come è nato

Dopo alcuni anni di lavoro fruttuoso, abbiamo deciso di presentare al pubblico il nostro primo prodotto per la gestione climatica della smart home: un termostato intelligente per il riscaldamento a pavimento.

Che cos'è questo dispositivo?

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

È possibile gestire non solo il riscaldamento a pavimento elettrico, ma anche la testina termostatica di un riscaldamento a pavimento ad acqua, una caldaia o una sauna elettrica. Inoltre, attraverso nrf, il termostato può comunicare con vari sensori. Attualmente, sono in fase di sviluppo quasi tutti i sensori relativi al clima. Poiché il dispositivo è basato su ESP, abbiamo deciso che non sarebbe stato opportuno limitare le opzioni di personalizzazione degli utenti. Pertanto, abbiamo previsto che l'utente possa impostare 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 al firmware originale non è possibile tramite OTA (Over-the-Air).

Difficoltà incontrate

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

Il case del dispositivo è stata una sfida difficile. Sia in termini di risorse necessarie che di tempo (ci abbiamo messo circa un anno).

Ci sono stati moltissimi opzioni sul mercato. E la più popolare è la stampa 3D. Diamo un'occhiata:
Stampa 3D classica. La qualità lascia a desiderare, la velocità di produzione anche. Abbiamo utilizzato la stampa 3D per prototipi, ma per la produzione non era adatta.

Stampante 3D fotopolimerica. Qui la qualità è di gran lunga migliore, ma entra in gioco il fattore costo. I prototipi stampati su una stampante simile hanno costato circa 4000₽, e questa è solo una parte del case su due. È possibile acquistare la propria stampante, il che ridurrebbe il costo, ma il prezzo resterebbe comunque elevato e la velocità insoddisfacente.

Colata in silicone. Pensavamo fosse l'opzione ottimale. La qualità era a livello, il prezzo alto, ma non critico. Abbiamo persino ordinato un primo lotto di 20 case per test sul campo.

Ma tutto è cambiato per caso. Una sera, ho accidentalmente pubblicato nel chat interno per sviluppatori che c'erano problemi con i case, il prezzo era troppo alto. E il giorno dopo un collega mi ha scritto in privato che un amico di un suo amico aveva TPA (termoplastico automatico). E si poteva realizzare uno stampo per il primo passo. Questo messaggio ha cambiato tutto!

Prima avevo considerato di utilizzare TPA, ma ero frenato non tanto dalla necessità di ordinare un lotto di 5000 unità minimo (anche se ci si può sforzare di trovare anche meno dai cinesi). Ero frenato dal costo dello stampo. Circa 5000 dollari. Non ero pronto a pagare tale somma in un colpo solo. Il costo dello stampo tramite il nostro nuovo collega era ragionevole, variava tra i 2000 e i 2500 dollari. Inoltre, lui è stato disponibile a farci un favore e abbiamo concordato che il pagamento sarebbe avvenuto a rate. Così il problema con i case è stato risolto.

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

Non si contano le revisioni dell'hardware. Secondo le nostre stime, la versione presentata è la settima, escludendo le intermedie. In questa versione abbiamo cercato di risolvere tutti i difetti evidenziati durante i test.

Così, in precedenza pensavo che nel hardware non fosse necessario un 'watchdog'. Ora senza di esso il dispositivo non andrà in produzione: a causa della capricciosità della piattaforma che abbiamo scelto.
Inoltre, il pin analogico su ESP. Pensavo che ogni pin dell'ESP fosse universale. Ma l'ESP ha solo un pin analogico. L'ho scoperto nella pratica, il che ha portato a un rifacimento e una nuova ordinazione delle schede PCB.

Prima versione delle schede PCB

L'evoluzione del termostato: come è nato

L'evoluzione del termostato: come è nato

Seconda versione delle schede PCB

L'evoluzione del termostato: come è nato

L'evoluzione del termostato: come è nato

Penultima versione delle schede PCB, in cui abbiamo dovuto risolvere urgentemente i problemi con il pin analogico

L'evoluzione del termostato: come è nato

L'evoluzione del termostato: come è nato

Per quanto riguarda il software, ci sono state anche molte insidie.

Ad esempio, la disconnessione periodica dell'ESP. Anche se il ping arriva, la pagina non si apre. L'unica soluzione è riscrivere la libreria. Potrebbero esserci altre soluzioni, ma tutte quelle che abbiamo provato non hanno dato risultati.

Il secondo problema significativo, sorprendentemente, è il numero di richieste all'ESP quando si apre la pagina. Utilizzando GET o ajax, ci siamo imbattuti nel fatto che il numero di richieste diventava indecorosamente alto. A causa di ciò, l'ESP si comportava in modo imprevedibile, poteva semplicemente riavviarsi o impiegare diversi secondi per elaborare la richiesta. La soluzione è stata passare ai web socket. Dopo questo cambiamento, il numero di richieste è diminuito drasticamente.

Il terzo problema riguarda l'interfaccia web. Maggiori informazioni al riguardo saranno fornite in un articolo separato che sarà pubblicato successivamente.

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 testato.

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:

L'evoluzione del termostato: come è nato

L'evoluzione del termostato: come è nato

Struttura

Il termostato è composto da tre schede (moduli):

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

Scheda di controllo – è la scheda su cui sono posizionati ESP12, il watchdog hardware e nRF24 per l'interazione 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 firmware del dispositivo, aggiungeremo la possibilità di utilizzare sensori forniti con termostati di produttori terzi.

L'evoluzione del termostato: come è nato

Scheda controllata – è la scheda di alimentazione e gestione del carico. Qui abbiamo posizionato un alimentatore da 750mA, terminali per collegare i sensori di temperatura e relè da 16A per controllare il carico.

L'evoluzione del termostato: come è nato

Display – nella fase di sviluppo abbiamo scelto il display Nextion da 2.4 pollici.

È facile trovare informazioni su di esso online. Da parte mia, aggiungo che è molto comodo quasi per tutti, tranne che per il prezzo. Un display da 2.4 pollici costa circa 1200₽, il che influisce negativamente sul prezzo finale.

Pertanto, è stata presa la decisione di realizzare un'alternativa adatta alle nostre esigenze, ma a un costo inferiore. Tuttavia, sarà necessario programmarlo nel modo tradizionale, e non tramite l'ambiente Nextion Editor. Questo è più complicato, ma siamo pronti ad affrontarlo.

L'alternativa sarà una matrice da 2.4 pollici con touchscreen e una scheda con STM32 a bordo per gestirla e ridurre il carico sull'ESP12. Tutto il controllo avverrà in modo analogo a Nextion via UART, con 32MB di memoria e una scheda flash completa per la registrazione dei log.

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

Ad esempio, ci sono già varianti della 'scheda 2' in diverse esecuzioni:

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

Epifania

Non sono un sviluppatore professionista. Sono riuscito a unire persone per un obiettivo comune. Per la maggior parte, tutti lavorano per un'idea; per creare qualcosa di realmente valido; qualcosa che sarà utile all'utente finale.

Sono sicuro che a qualcuno non piacerà il design del case; a qualcun altro – 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, perché. Se non ci sono domande come quelle sopra nel testo, saremo felici di discutere nei commenti.

La critica costruttiva è positiva, e siamo grati per essa.

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

  1. Per tutte le domande: gruppo Telegram LytkoG
  2. Segui le novità: canale informativo Telegram Lytko News

E sì, ci divertiamo a fare ciò che facciamo.

Fonte: habr.com

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