Realizzare un conta-scatti per il contatore del gas con un D1 mini
di Luigi Duchi
19 Aprile 2019
L'angolo dei lettori
Benvenuti nella rubrica "l'angolo dei lettori". Questo spazio è una sezione del blog che permette a chiunque di scrivere un articolo o realizzare un video, effettuare prove e test che riguardano il mondo della tecnologia e proporne la pubblicazione su queste pagine.
Oggi ANTONIO LONGO ci mostrerà un interessante sistema per poter leggere il contatore del gas e riportarne i dati all'interno di Home Assistant.
Per realizzare questo progetto avrai bisogno di:
- Un D1 mini
che potrete acquistare su Amazon QUI
- Un Sensore Reed Switch.
Lo potrete acquistare da Amazon QUI
- Un sensore porte finestre filare
Lo potrete acquistare da Amazon QUI
Infine vi servirà un alimentatore per il d1mini microusb
Lo potrete acquistare da Amazon QUI
INIZIAMO IL PROGETTO:
La prima cosa da fare sarà quella di "flashare" il firmware tasmota sul D1 mini, lo potrete fare con ide di Arduino come abbiamo già mostrato in passato oppure lo potrete fare con un programmino specifico per "flashare" i nodemcu e i d1 mini chiamato EspeasyFlash Tool
Lo potete scaricare QUI (Oggi useremo questo programma)
Sarà quindi necessario scaricare il firmware Tasmota presso questa pagina QUI
Dopo aver estratto la cartella di Espeasy Flash tool, copiate il file sonoff.bin nella cartella appena estratta e connettete il wemos D1 Mini ad una porta usb del pc dove è in esecuzione il programma. Infine Selezionate la porta dov'è connesso il Wemos e cliccate su flash:
Dopo aver terminato la procedura di flash del firmware, dobbiamo indicare la rete a cui il wemos deve connettersi, per questo utilizziamo termite reperibile QUI.
Una volta installato e avviato, disconnettiamo e riconnettiamo l'usb dal wemos. Assicuriamoci che sia selezionata la porta COM in alto, per leggere e mandare i comandi sul wemos.
Successivamente, nella parte in basso della schermata, scrivete questa stringa: ssid1 PIPPO password1 PAROLASEGRETA
Ovviamente al posto di PIPPO inserite il nome della Vostra rete Wifi (obbligatoriamente in 2.4ghz) e al posto di PAROLA SEGRETA inserite la password della vostra rete wifi.
Fate molta attenzione a rispettare sia nella password di rete che nel nome della rete(SSID) le lettere maiuscole e minuscole. Se tutto è andato a buon fine, in inglese, vi dirà che è connesso alla rete wifi e vi restituirà l'indirizzo ip sul quale connettersi.
Prima di passare alla configurazione torniamo per un attimo alla parte Hardware, ovvero saldiamo i pin sulla base del Wemos D1 Mini e colleghiamo il sensore. Il sensore deve essere collegato in questo modo:
Wemos G(ground) ---> Board Sensore GND wemos 3.35 ---> Board Sensore VCC Wemos D0 --> Board Sensore D0
Come nelle figure :
Successivamente in alto al sensore noterete l'ampollina di vetro in atmosfera protetta.
Rompete i collegamenti con una forbice e al posto dell'ampollina saldate i fili del sensore porta finestra dato che l'ampollina è molto delicata e si potrebbe rompere molto facilmente durante l'uso, ma soprattutto risulta poco precisa per il tipo di lavoro che dobbiamo fare.
Dopo aver completato la parte Hardware torniamo alla configurazione Software.
Colleghiamo il Wemos all'alimentazione e attendiamo qualche minuto che si colleghi alla rete.
Indaghiamo a questo punto sul nostro Router o tramite app tipo Fing Network, l'indirizzo di rete assegnato.
Digitate nella barra degli indirizzi di un Browser Web, l'ip appena scoperto, si aprirà la classica interfaccia di tasmota.
Clicchiate su Configuration e successivamente su Configuration Module e sotto Modul Type, selezionate Generic 18.
Infine Selezionate D5 e impostiate Counter1(42) ovvero il contatore a impulsi. Se tutto è andato a buon fine dovreste trovarvi in una situazione del Genere.
Ora Cliccate su Save e il wemos si riavvierà
Tornati sulla pagina principale andate nella console di tasmota cliccando semplicemente su Console ovvero qui:
e digitate in basso i due comandi
teleperiod 10
e successivamente
CounterDebounce 80
ovvero impostiamolo in maniera tale che ogni 10 secondi il wemos trasmetterà al server mqtt il dato che ha conteggiato. Il buttondebounce è il metodo antirimbalzo del sensore magnetico per evitare che legga 1 volta lo stesso valore e per elettromagnetismo lo conteggi 10 volte.
Infine per verificare che tutto sia andato bene passate un magnete a 3/4 cm di distanza dal sensore porte e finestre vedrete che il counter inizierà a conteggiare sulla schermata Principale di Tasmota
Se tutto è andato bene resettate nuovamente il timer andando nella console e digitando Counter1 Reset
Ora colleghiamo il sensore porte finestre al contatore (il mio era già predisposto di nastro biadesivo 3m, se non c'è vi consiglio di metterlo) e attaccatelo sotto al contatore come in figura:
Questo sistema lavora correttamente sui contatori g4 e g3 che sono fatti in maniera molto simile. Sul contatore ci sono 3 rotelle per la parte con la virgola, ognuna delle quali ha un magnete. Quando il magnete incontra il sensore porta-finestra, da l'impulso e viene generato il conteggio.
Ora passiamo ad Home Assistant.
Io ho un file dove ho messo tutti i sensori, chiamato sensor.yaml, ma potete mettere tutto anche in configuration.yaml
e copiate la seguente parte di codice:
- platform: mqtt
name: "Gas Consumato"
state_topic: "tele/gas_meter/SENSOR"
unit_of_measurement: "Metri Cubi"
qos: 0
value_template: '{{ value_json.COUNTER.C1 | multiply(0.01) | round(2) }}'
- platform: template
sensors:
gas:
friendly_name: "Lettura gas attuale"
unit_of_measurement: 'm3'
value_template: "{{ (((states.sensor.gas_consumato.state | float ) | float) + 486.26 | float) | round(2) }}"
Analizzando i sensori, abbiamo creato due sensori: il primo moltiplica per 0.01 il valore letto dal contatore dato che la nostra lettura sarà in centesimale, il secondo valore del sensore non farà altro che aggiungere ai vaolori centesimali letti, il valore della lettura attuale del gas (nel mio caso era 00486.26).
Infine se vorrete richiamarli in un gruppo vi basterà inserire le due entità sensor.gas
e sensor.gas_consumato
se vorrete far partire il contatore dal numero di scatti presente nel vostro contatore andate in console su tasmota e digitate:
counter xxxx dove xxxx saranno i numeri rilevati dal vostro contatore.
Unica nota negativa è che su tasmota non si può mettere la virgola quindi per maggior precisione è meglio lasciare il valore 0 e far fare il conteggio ad Home Assistant che invece inserisce la virgola come si vede da foto:
Ringraziamo nuovamente Antonio Longo per questa splendida guida!
Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.