Tapparelle e IoT

Le board in questo post non sono aggiornate e funzionano male.
Per il momento ho ridisegnato solo la prima board.
Per info: http://h3ron.com/post/sincronizzare-sveglia-di-android-e-tapparelle-di-casa-con-esp8266/

Salve a tutti :slight_smile:

Vorrei un parere sul piccolo progetto che sto realizzando, prima di comprare componenti e incidere PCB.

L'idea è quella di controllare via WiFi le tapparelle di casa (principalmente per usarle come sveglia) e poggiare le basi per un sistema di domotica da agganciare a OpenHAB.


Al connettore J1 collego i 3 fili della tapparella (giù, neutro, sù) da mettere in corto, a J2 un caricatore USB e a J3 il doppio pulsante della tapparella (tipo questo, per intenderci).

Ho tradotto lo schema in questo PCB (perdonate Fritzing):

Il controllore è un ESP-01 (l'ESP8266 con 4 GPIO), da programmare da Arduino IDE utilizzando la libreria Souliss per le logiche e le connessioni.

Allego lo sketch:
tapparella.ino

Consigli? Critiche? Errori?

***EDIT1:
corrette le polarità dei diodi di flyback.

***EDIT2:
Dato che tanto devo fare l'ordine e ho 3 esp8266 in casa, ho disegnato i PCB anche per altre due applicazioni: termostato e luce. Non che siano molto diverse. Ho anche modificato il progetto delle tapparelle per usare delle morsettiere più comuni.

TERMOSTATO



U4 è un sensore di temperatura supportato dalla libreria DallasTemperature (l'ESP-01 non ha ingressi analogici). S1 attiva/disattiva manualmente il riscaldamento. LED1 si accende insieme al relè, LED2 è un led di stato.
A J2 collego i due fili della caldaia.

Allego lo sketch:
termostato.ino

LUCE



Nulla di nuovo: J3 è collegato al pulsante a muro, J2 ai due fili da mettere in corto.

***EDIT3:
ho fatto l'ordine

***EDIT4:
aggiunto lo sketch per il termostato

ho già trovato un errore, avevo messo i diodi al contrario :-[

Ne vedete altri?

Interessante!

In che modo controlli l'ora / imposti l'orario?

Di quello se ne occupa il computer a cui aggancio Souliss. Nello specifico, per i primi giorni sarà il mio smartphone (con l'applicazione Souliss).

In seguito sarà OpenHAB (installato su un Banana Pi), quando avrò più di una tapparella da gestire.

Infatti la mia roadmap personale per adesso prevede di domoticizzare, nell'ordine, anche il termostato, i condizionatori e luci.

Spero di avere il tempo di fare tutto. Fortunatamente almeno lato software (Souliss) la cosa è facile.

Non riesco a capire.

Hai collegato Rx al transistor Q1 che pilota il relè, mentre il Tx ad uno dei due pulsanti.

Ma come fai a collegare Arduino al modulo?

Ma li hai testati quei tipi di collegamenti ?
Perché a parere mio l'Esp8266 non ti si avvia

cyberhs:
Non riesco a capire.

Hai collegato Rx al transistor Q1 che pilota il relè, mentre il Tx ad uno dei due pulsanti.

Ma come fai a collegare Arduino al modulo?

Tx ed Rx funzionano rispettivamente anche da GPIO1 e GPIO3.

Grazie a questo progetto è possibile programmare l'esp8266 con l'IDE di Arduino, con le sue librerie e con le sue funzioni. In pratica l'esp8266 funge da Arduino.

alex16:
Ma li hai testati quei tipi di collegamenti ?
Perché a parere mio l'Esp8266 non ti si avvia

Saresti più specifico nell'indicarmi cosa modificare?

I collegamenti di base sono presi da qui:

i componenti da ordinare ammontavano a €3,30.

Dato che l'ordine superava comunque i €20 (spedizione, IVA, quantità minime) ho aggiunto altri due PCB per sfruttare i componenti inutilizzati.

Spero che funzioni tutto.

Realizzazione molto interessante :slight_smile: ...non conoscevo la possibilità di programmare l'esp8266 con l'IDE di Arduino.
Tienici aggiornati!

Beh... i componenti che ho ordinato dovrebbero arrivare domani.

Nel frattempo ho inciso le basette (tecnica del ferro da stiro):

Qualche minuto fa ho testato il firmware tapparella.ino su breadboard. Il pairing con l'applicazione è andato a buon fine e mi sono divertito ad accendere e spegnere LED (in luogo dei transistor e dei relè).

Sto anche testando la stabilità della connessione, monitorandone lo stato sia con l'applicazione stessa che dalla pagina di amministrazione del router. Per il momento è ancora connesso e non ho notato disconnessioni. Ma è anche vero che sono passati solo 35 min.

Ho assemblato il PCB della tapparella...

non so se è un problema progettuale o se ho sbagliato a infilare/saldare i componenti, ma se collego GPIO2 (che controlla il relè 2) alla basetta, l'ESP impazzisce :frowning:

In compenso se collego tutto i pin tranne GPIO2, funziona tutto regolarmente e riesco a comandare il relè 1 (comandato da RXD) tramite l'app.

Infatti "l'errore" e' la resistenza di PullDown sul GPIO2

leggi qua'
http://forum.arduino.cc/index.php?topic=265682.msg2533542#msg2533542

Questo potrebbe essere risolto (senza cambiare componenti) usando GPIO2 e GPIO1 per i pulsanti, e RXD e TXD per i relè?

...o basta dissaldare R4?

Comunque la scheda impazzisce anche se collego GPIO2 dopo il boot. A connessione già arriva, se faccio il collegamento, si disconnette e si illuminano i led blu. Mi sa che c'è anche qualche corto.

Ho dissaldato R4 e la situazione è migliorata. Cioè una volta acceso l'ESP, tutto funzionava, ma continuavo ad avere problemi col boot.

Alla fine ho dissaldato anche R7 e l'ho sostituito con un LED (perchè sulla breadboard avevo i LED al posto dei transistor e tutto funzionava).

E adesso funziona. Probabilmente avrei potuto sostuire R7 con una resistenza+diodo e lasciar stare R4.
Che ne pensate?

Comunque funziona tutto perfettamente.

Un aggiornamento per chi fosse interessato al progetto:

Ho collegato la board alla tapparella e ai pulsanti a muro. Mi sono accorto che purtroppo la scheda non entra nella cassettina, complice il fatto che ospita anche una presa della corrente.
Poco male. L'ho installata fuori dalla cassettina e userò la stampante 3D per creare una protezione al più presto.

Parlando del software. L'applicazione Souliss non mi ha soddisfatto. Come mostrato in una screenshot in un post precedente, è possibile pianificare azioni. A questo si aggiunge anche la graditissima integrazione con Tasker.
Il problema è che l'app Souliss tenta di inviare i comandi senza prima ristabilire la comunicazione con i dispositivi (cosa che avviene solo se si apre l'app manualmente). In pratica all'esp8266 non arriva niente.

In compenso mi è anche arrivato il Banana Pi (che avevo comprato per trasformarlo in un NAS) e ci ho installato OpenHAB. La configurazione è stata un po' più macchinosa di quello che mi aspettavo, ma nulla di eclatante.

Credo che installerò anche plugin HABmin, in modo da poter programmare le "Rules" (ovvero le automazioni) con l'editor grafico e quindi senza dover imparare la sintassi.

Per adesso trovo molto più comodo usare le API REST di OpenHAB con Tasker (tutorial).

Sono riuscito a configurare Tasker in modo da lanciare il comando "Alza Tapparella" quando suona la sveglia mattutina del mio smartphone. Quindi direi missione compiuta.

Ora penso che ridisegnerò i PCB e aggancerò altri apparecchi al server OpenHAB.

Ho ridisegnato e corretto la board.
Per info: http://h3ron.com/post/sincronizzare-sveglia-di-android-e-tapparelle-di-casa-con-esp8266/