ESP8266 - lettura wireless sensori e contatori

Discussioni relative all'uso di sensori vari (temperatura, umidità, ....)
miki8989
Messaggi: 299
Iscritto il: 22/01/2016, 6:39

Re: ESP8266 - lettura wireless sensori e contatori

Messaggioda miki8989 » 30/09/2016, 18:14

ciao dottorniù

io gia faccio girare 123solar+metern+domoticz su un solo raspberry2
per evitare di utilizzare troppo la sd ho trasferito il system su di un hd estreno (connesso sulla usb)

per l'alimentazione a batterie ci ho rinunciato.. durano veramente poco, anche attivando lo sleep
sto utilizzando i sonoff moddati con espeasy.

ciao


dottorniù
Messaggi: 36
Iscritto il: 16/03/2016, 23:49

Re: ESP8266 - lettura wireless sensori e contatori

Messaggioda dottorniù » 30/09/2016, 20:13

Io sono fiducioso... I sensori in stand-by hanno consumi molto bassi, certo se riuscissi a disabilitarli completamente sarebbe meglio ma al momento non riesco. La mia idea sarebbe quella di costruire due sensori a batterie uno quello che ho descritto nell'altro post e un'altra con un solo ds18b20 da infilare nel congelatore. Per entrambi avrò bisogno dell'alimentazione a batteria, in settimana mi procurero una 18650 e vediamo come si comporta...

Avatar utente
Flane
Messaggi: 2460
Iscritto il: 16/01/2016, 15:02

Re: ESP8266 - lettura wireless sensori e contatori

Messaggioda Flane » 02/10/2016, 15:03

L'ESP8266 consuma 60-170mA quando è attivo.

Il problema è che per alcune applicazioni si può utilizzare il deepsleep tipo per rilevare la temperatura ogni tot, in quanto lo si riattiva via software a tempo, gli si fà fare quello che deve e poi lo si rimette a nanna, ma se si vuole utilizzarlo ed esempio per leggere gli impulsi del contatore del gas come ho fatto io non è possibile metterlo in deepsleep perchè non sentirebbe l'impulso che arriva e pertanto deve rimanere sempre attivo.
In questo caso è impossibile alimentarlo a batteria.

Qui potete vedere i consumi dell'ESP8266 nelle varie modalità:
ESP8266 Power Consumption
che ovviamente dipendono dallo stato ma anche dall'intensità con cui riceve il segnale wifi
Se la maggior parte del tempo è in deepsleep effettivamente consuma 10microA e quindi può essere alimentato a batteria

dottorniù
Messaggi: 36
Iscritto il: 16/03/2016, 23:49

Re: ESP8266 - lettura wireless sensori e contatori

Messaggioda dottorniù » 04/10/2016, 14:26

Naturalmente, in questo caso, il mio intento è quello di creare un sensore per dati ambientali da mettere fuori casa quindi una lettura ogni 20/30 minuti è più che sufficiente e dunque l'utilizzo con batterie sarebbe ottimale ammesso che queste durino almeno un anno...Nel caso si debba rilevare un dato in tempo reale allora per forza di cose c'è la necessità di disporre di una alimentazione di rete ma rimane sempre la comodità del collegamento wireless e degli assorbimenti estremamente bassi.

Ora sto sperimentando con un paio di stilo in serie ed un deep sleep di venti minuti per capire quanto possono durare.

Intanto ho trovato un modo piuttosto pulito di utilizzare espeasy con metern.

In pratica con nodered installato ed il broker mqtt si fa tutto, l'espeasy invia al broker i dati del sensore secondo la logica che ho spiegato nel post sopra,
in node red poi funziona così:

un nodo si occupa di leggere i messaggi in arrivo dal sensore (MQTT Node)

Immagine

un nodo si occupa di prendere il dato in arrivo dal sensore e ci aggiunge attraverso la funzione concatenate il testo necessario alla corretta formattazione per metern (( Function Node) nodo interessantissimo e dalle funzionalità enormi http://nodered.org/docs/writing-functions#writing-a-function)

Immagine

infine un nodo si occupa di scrivere su /run/shm un file per ogni sensore (edit file node)

Immagine

Nell'insieme appare così, gli altri nodi che si vedono servono per iniettare del codice a mano ( utile per i test) e l'altro verde serve per vedere quali messaggi arrivano ai nodi su cui sono collegati.Ogni volta che il sensore invia un dato viene intercettato, trasformato e poi scritto in ramlog.

Immagine

Una volta impostato node red basta aggiungere un metern se si desidera avere grafico e log oppure un indicators se ci si accontenta della sola lettura, in entrambi i casi nella scheda di configurazione basta aggiungere il comando con la solita formattazione del tipo:

Codice: Seleziona tutto

cat /run/shm/tuo_nome_file | grep unità_di_misura

Avatar utente
Flane
Messaggi: 2460
Iscritto il: 16/01/2016, 15:02

Re: ESP8266 - lettura wireless sensori e contatori

Messaggioda Flane » 04/10/2016, 16:06

Bel lavoro dottorniù :)

Però mi chiedo una cosa:
- perchè complicarsi tanto la vita con software aggiuntivi ed altro, quando basta mettere pochi righe di programma tramite l'IDE di arduino caricando nodemcu sull'ESP, in modo che scriva il dato/i su una pagina web e poi direttamente dalla pagine web metern si legge il valore mediante curl?

L'unica spiegazione che mi posso dare è che con il tuo metodo effettivamente puoi utilizzare direttamente il firmware espeasy ed il deepsleep senza dover mantenere sempre attivo l'esp per poter leggere la pagina web (con i relativi maggiori consumi ed impossibilità d'uso delle batterie) .....

dottorniù
Messaggi: 36
Iscritto il: 16/03/2016, 23:49

Re: ESP8266 - lettura wireless sensori e contatori

Messaggioda dottorniù » 05/10/2016, 0:05

la funzionalità di deep-sleep è una caratteristica hardware di questi moduli quindi è attivabile indipendentemente dal firmware che si utilizza

esempio https://odd-one-out.serek.eu/esp8266-nodemcu-dht22-mqtt-deep-sleep/

diciamo che il firmware espeasy mi ha stupito per la semplicità di utilizzo e per la quantità di funzionalità che mette a disposizione, quindi ho comprato queste schedine proprio per provarlo e con l'intento di trovare un modo per utilizzarlo con metern.... inoltre aggiungo che sono una schiappa con qualsiasi linguaggio di programmazione :D

Tutto qui.... sicuramente sono schede dall'enorme potenzialità! quello suggerito da me è solo uno dei molti modi per poterle utilizzare.

miki8989
Messaggi: 299
Iscritto il: 22/01/2016, 6:39

Re: ESP8266 - lettura wireless sensori e contatori

Messaggioda miki8989 » 05/10/2016, 23:11

ciao dottornù

sono riuscito con espeasy e metern a leggere l'SDM120 in wifi

come base ho preso lo schema di flavio per il collegamento al contatore ad impulsi

collegato all'esp con espeasy al GPIO0, configurato come lettore di impulsi e questo è il risultato
Allegati
Cattura2.PNG
Cattura1.PNG
Cattura1.PNG (12.94 KiB) Visto 9000 volte
Cattura0.PNG

dottorniù
Messaggi: 36
Iscritto il: 16/03/2016, 23:49

Re: ESP8266 - lettura wireless sensori e contatori

Messaggioda dottorniù » 06/10/2016, 14:33

Ciao Miki,

Ottimo a sapersi, avevo intenzione anche io di utilizzare un ESP per il controllo dell'assorbimento del boiler ma io utilizzerò un contatore dismesso che ha soltanto l'uscita ad impulsi.

Con l'sdm sarebbe interessante riuscire ad interfacciarsi con il bus per acquisire tutte le info che mette a disposizione....

dottorniù
Messaggi: 36
Iscritto il: 16/03/2016, 23:49

Re: ESP8266 - lettura wireless sensori e contatori

Messaggioda dottorniù » 07/10/2016, 23:43

.... A proposito del mod bus dell' Sdm... Cercando altro mi sono imbattuto in questo thread dove pare che un certo reaper7 sia riuscito ad interfacciare l'sdm con l'ESP attraverso un adattatore 485to232.... Io non ho modo di testarlo ma forse a te o a qualcun'altro potrebbe interessare.

http://www.esp8266.com/viewtopic.php?p=51796

Avatar utente
Flane
Messaggi: 2460
Iscritto il: 16/01/2016, 15:02

Re: ESP8266 - lettura wireless sensori e contatori

Messaggioda Flane » 09/10/2016, 22:47

Avevo già visto quella discussione.
Ho già un wemos D1 mini con cui faccio delle prove.
Ora mi sono ordinato l'adattatore RS485-RS232, vediamo se riusciamo a tirarne fuori qualcosa


Torna a “Meters hardware”

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti