Realizzare un conta-scatti per il contatore del gas con un D1 mini

Realizzare un conta-scatti per il contatore del gas con un D1 mini

di Luigi Duchi

19 Aprile 2019

L'angolo dei lettori

Luigi Duchi

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

Realizzare un conta-scatti per il contatore del gas con un D1 mini

che potrete acquistare su Amazon QUI

- Un Sensore Reed Switch.

Realizzare un conta-scatti per il contatore del gas con un D1 mini

Lo potrete acquistare da Amazon QUI

- Un sensore porte finestre filare

Realizzare un conta-scatti per il contatore del gas con un D1 mini

Lo potrete acquistare da Amazon QUI

Infine vi servirà un alimentatore per il d1mini microusb

Realizzare un conta-scatti per il contatore del gas con un D1 mini

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:

Realizzare un conta-scatti per il contatore del gas con un D1 mini

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.

Realizzare un conta-scatti per il contatore del gas con un D1 mini

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 :

Realizzare un conta-scatti per il contatore del gas con un D1 mini
Realizzare un conta-scatti per il contatore del gas con un D1 mini

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.

Realizzare un conta-scatti per il contatore del gas con un D1 mini

Ora Cliccate su Save e il wemos si riavvierà

Tornati sulla pagina principale andate nella console di tasmota cliccando semplicemente su Console ovvero qui:

Realizzare un conta-scatti per il contatore del gas con un D1 mini

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

Realizzare un conta-scatti per il contatore del gas con un D1 mini

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:

Realizzare un conta-scatti per il contatore del gas con un D1 mini
Realizzare un conta-scatti per il contatore del gas con un D1 mini

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:

Realizzare un conta-scatti per il contatore del gas con un D1 mini

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.

Luigi Duchi

Luigi Duchi

Nato a Grosseto il 24 Dicembre 1982 perito elettrotecnico che lavora nel mondo della domotica e installazione di impianti elettrici, impianti di allarmi, videosorveglianza e automazioni in genere. Appassionato da sempre di tecnologia e aperto alla conoscenza di nuove soluzioni.

Disqus loading...