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)
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)
infine un nodo si occupa di scrivere su /run/shm un file per ogni sensore (edit file node)
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.
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: