"Manifesto per la stazione Meteo Perfetta"

PROGETTO E CHIAMATA ALL' ADUNATA DI QUELLI BRAVI

Buongiorno a tutti.
Premetto che questo topic aperto da uno come me che sta ancora al "copia ed incolla artistico" è pretenzioso. Ma vedere quanto fervore ruota attorno a questo controller e quante persone condividono il loro sapere mi sta ispirando non poco. Le mie conoscenze, tuttavia, mi permettono solo di pensare a progetti più grandi. Ed è per questo che lancio semplicemente il sasso sperando che quelli bravi prendano le redini della cosa.
Tutti realizzano la propria stazione meteo con arduino! Ma sono, la maggior parte, esercizi di scuola.
vorrei qui creare invece (farvi creare sarebbe più corretto!! Io non sono mica capace!) il

PROTOTIPO DELLA STAZIONE METEO

Perfetta e Scalabile

Diciamo che voglio farmi promotore di un "Manifesto per la stazione Meteo Perfetta".

Queste le mie prime considerazioni partendo da una serie di tutorials sketch e progetti che allego in fondo a questo post cosí da cominciare a condividere tutte le fonti (e magari coinvolgere i relativi autori nel progetto!).

Perfetta significa:

  1. uno sketch flessibile, con quante più funzioni possibili portate fuori dal loop e richiamate solo all' occorrenza.
    2)utilizzo di millis() e RTC.
    3)Pochi delay() che bloccano il loop.
    4)Utilizzo di componenti adeguati e di qualità che valorizzino gli sforzi: non strafacciamo, ma lasciamo da subito il DHT11 a casa! ritengo che pochi euro di differenza sui sensori siano ben investiti per avere qualcosa di davvero funzionale.

Scalabile significa:

  1. Prevediamo già, ad esempio, un upgrade da un semplice 16x2 ad un TFT lcd per dare colore ed un aspetto più cool... e magari un po' di grafica. (Io ho trovato molto semplice il passaggio - alla fine basta praticamente sostituire seria-tft-lcd... ma i comandi sono quelli e vanno negli stessi punti dello sketch. Mettiamoli entrambi commentando una delle due alternative!
  2. prevediamo fin da subito un menu con più pagine ed una pulsantiera.
    3)prevediamo già che questo progetto sia la base di altri come Irrigazione/serra automatizzata che a particolari condizioni climatiche ed in determinati momenti della giornata, eseguano delle funzioni: aprire e chiudere elettrovalvole, accendere luci. Insomma aggiungiamo (fino ad esaurimento porte) sensori terreno, ph, pioggia ecc. insomma controlliamo dei relay.
  3. se un sensore non viene collegato la voce sul display rimane ma il valore sarà "ND".
  4. i dati rilevati possono essere collezionati e/o inviati via WiFi con un modulo ESP8266
  5. il controllo del progetto può avvenire via Serial/Touch/pulsantiera e Bluetooth attraverso un modulo HC-05 ed una App su Android o IPhone.

Componenti commerciali e ampiamente diffusi del progetto (* in fondo i link ad ebay con quelli che ho preso io cercando il prezzo più basso da rivenditori cinesi)

Controller:

Arduino UNO/Mini/Mega

Display:

LCD keypad shield

oppure TFT touch display shield

oppure interfaccia I2C per l' LCD


Real Time Clock
RTC


Sensori

Temperatura e umidità: DHT22 oppure AM2320
Pressione Barometrica: BMP 280 (o BMP180?)
Sensore pioggia
Sensore umidità del terreno
Fotoresistenza

sensori addizionali previsti:
anemometro
direzione vento
Sensore ph del terreno (questo costa molto!)

Io sono alle prime armi ed in attesa ("dalla Cina col furgone") di un cargo di componenti, mentre studio, leggo e adatto i codici dei progetti e cerco di imparare le basi.

questi i primi progetti dalla rete che mi hanno ispirato e che pensavo di riunire assieme come base:

http://www.dallaf.it/simo/wp/2014/11/06/arduino-postazione-meteo-a-carica-solare/

ADDonS:

Qui si potebbe prendere ispirazione per la parte degli add on con dei relays che attivano elettrovalvole ad eempio o altre cose, attraverso uno
shift register 74HC595
.
Il tutto controllabile poi da remoto grazie ad un ESP8266 o un NRF24L01 o un HC-05 ispirandosi

Raccolgo inoltre altri topic e link che ho reperito finora e che possono essere spunto per nuovo codice da integrare:

http://forum.arduino.cc/index.php?topic=221226.0

stazione agrometereologica: Progetto stazione agrometereologica - Generale - Arduino Forum

Grow Box: easy Grow Box control - consigli - Generale - Arduino Forum

Qui c'è un modello che comprende anche il progetto del box realizzato con una stampante 3D --> How to measure wind? (part 1)

direzione del vento --> How to measure wind? (part 2)

Pluviometro --> How to build an USB pluviometer

Una Semplice alimentazione con pannello Solare/solar power bank --> An autonomous solar weather station (* geniale usare il power bank... ma non sarà mai stagno e capace di resistere alla pioggia se non isolato con un pannellino in plexiglass siliconato (stressa cosa e a maggior ragione, se mettiamo un dispaly!) .
Inoltre isolerei quella porta USB almeno con un giro di nastro e inserirei l' arduino con la PCB in un'altra box dalla quale facciamo uscire solo i fili per i sensori che stanno in quella realizzata con la stampante 3D. se Usiamo un arduino NANO potremmo entrare in una di queste: http://www.ebay.it/itm/1PC-5-Assorted-Waterproof-Electronic-Enclosure-Project-PCB-DIY-Box-Case-Cover-/321879339132?var=&hash=item4af180f07c:m:m9nTi4IXCL7-dqlJaCN5ODg
e quella con il coperchio trasparente (85x58x33) potrebbe contenere controller su PCB e display.... e chiamiamo un cinese per riuscire a stipare tutto dentro.... se fatto bene ed a prova di bomba potremmo immergere tutto in una resina o gomma isolante per circuiti integrati ed impianti elettrici tipo:

Prochima: http://www.prochima.it/inclusioni-elettroniche-prochima-potting.html

o Raytech: Raytech TECHNO GEL GUM - YouTube

controllo con bluetooth e modulo HC-06: http://grapesteam.altervista.org/?doing_wp_cron=1464701468.8246030807495117187500

nella mente è tutto chiaro. Giaà scrivendo si confondono un po' le idee.... poi non conoscendo che elementi base di programmazione tutte queste restano solo chiacchiere.... ma almeno ho raccolto diverse fonti con sketch e tutorial in un unico post che saranno utili a qualcun altro che finirà qui per realizzare il proprio progetto.

SEGUE ALTRO POST CON ALTRI LINK E ELENCO PARTI

(* appendice al post precedente)

Dalla Cina col Cargone

Link alle pagine di ebay attualmente presenti con alcuni componenti a buon mercato (e due mesi di attesa per la consegna!)

LCD 16x2 shield con 6 pulsanti:
http://www.ebay.it/itm/172179753600?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

TFT 2.4" Touch screen Shield:
http://www.ebay.it/itm/322079526361?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

interfaccia I2C per LCD:
http://www.ebay.it/itm/162029018321?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

modulo wireless NRF24L01:
http://www.ebay.it/itm/161988772137?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Modulo Wifi ESP8266 (occhio all' alimentazione! arduino forse non ce la fa ad alimentarlo da solo per questione di milliampere delle porte e serve un doppio circuito perché funziona a 3.3V ):

Modulo serialo Bluetooth HC-05:
http://www.ebay.it/itm/131623606703?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Real Time Clock DS3231 (2x) con batteria al litio (credo sia NON ricaricabile quella che danno di serie qui.... ma dura una vita!):
http://www.ebay.it/itm/271367847543?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Sensore Temperatura ed umidità DHT22:
http://www.ebay.it/itm/DHT22-AM2302-Digital-Temperature-and-Humidity-Sensor-Replace-SHT11-SHT15-I0-/321902583294?hash=item4af2e39dfe:g:2gAAAOSwYHxWLM~4

Sensore Temperatura Alternativo AM2320(molto preciso e più economico del DHT22):

Sensore pressione atmosferica BMP 280:

o in alternativa Sensore pressione Atmosferica BMP 180:
http://www.ebay.it/itm/272037013401?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Sensore umidità del terreno:
http://www.ebay.it/itm/161966123364?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Sensore pioggia:
http://www.ebay.it/itm/272233631244?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

box dedicati stagni:
http://www.ebay.it/itm/1PC-5-Assorted-Waterproof-Electronic-Enclosure-Project-PCB-DIY-Box-Case-Cover-/321879339132?var=&hash=item4af180f07c:m:m9nTi4IXCL7-dqlJaCN5ODg

[il primo moderatore che (dopo almeno 2 ore che scrivo e copio ed incollo... metto pure il grassetto! :smiley: ) mi da un link con una cosa identica già fatta ha un morto sulla coscienza!!! ahaahahah ]

Questo argomento mi riguarda :slight_smile:

Io ho già finito una stazione meteo completa! Questi punti li soddisfo abbastanza bene adesso dopo l'utilizzo di webbino (sukko ne sa qualcosa :slight_smile: )

Perfetta significa:

  1. uno sketch flessibile, con quante più funzioni possibili portate fuori dal loop e richiamate solo all' occorrenza.
    2)utilizzo di millis() e RTC.
    3)Pochi delay() che bloccano il loop.
    4)Utilizzo di componenti adeguati e di qualità che valorizzino gli sforzi: non strafacciamo, ma lasciamo da subito il DHT11 a casa! ritengo che pochi euro di differenza sui sensori siano ben investiti per avere qualcosa di davvero funzionale.

Mi manca solo di montarla fuori, ma la mia stazione ha:
DS18B20 (Temperatura)
DHT22 (Umidità)
BMP180(Pressione)
RTC DS3231 (Orologio)
WS2300-16 (Pluviometro)
TX20 (Anemometro)
Display tft 1.8" piccolino a colori!
http://www.tweaking4all.com/hardware/arduino/sainsmart-arduino-color-display/

Il tutto mandato in rete, puoi vedere QUI tutti i dati che riesco a vedere e gli estremi seguendo le varie pagine. Sono entrato da poco nella rete meteo nazionale di lineameteo in test Stazioni Rete Linea Meteo, visto che ancora la stazione meteo SI TROVA IN CASA, per cui i dati che leggi sono quelli della mia cantina :slight_smile:

Difficile adesso spiegare lo sketch che ti metto in allegato, anche se poi farò un tutorial pdf che pubblicherò pure qui e chissà che il post non vada in Megatopic? :slight_smile:

Ovviamente ho fatto il circuito stampato, ti pubblico gli schemi, pcb e sch, spero ti siano utili!
Per pluviometro e anemometro ho usato dei connettori rj11 per questo sono collegati in quel modo nell'sch. Poi nel pcb due fili del display non sono collegati perché ho usato Arduino Mega.
Ovviamente poi ho stampato la mia shield, se vuoi dai un'occhiata anche QUI! girandoti qualche pagina. :slight_smile:
Ciao!

P.S. Se vuoi sensori con i coxxxxx di temperatura, prendi il sensirion sht15 oppure l sht75 :wink: Con quelli ci puoi misurare l'umidità e scartare il dht22. Il DS18B20 a poco prezzo è il più preciso :wink: C'è una certa persona non qui dentro, che ha fatto moltissimi test e ne ha trovati di precisissimi, il dht22 non è un mago della precisione con la temperatura!
Per la pressione assolutamente il bmp180

Stazione_meteo_completa_e_pulita.ino (64 KB)

So you already provided the project "as needed"!!! ahaahahahah
Barely perfect.

Grazie della risposta e piacere! Beh il tuo lavoro è praticamente definitivo! E di certo non alla mia portata! Posso suggerire idee, ma NON sarei in grado di scrivere uno sketch come il tuo. Sono finito sui siti indiani e cinesi a guardarmi meteo con display tft ed invece "eccolo qua'"..... come i nascondini di Banderas!!!
Abbiamo anche un prototipo di Shield!
E che figata il void loop() esattamente come dicevo io. due // ed un sensore "sparisce" per magia dal progetto!
Ripeto: Le mie conoscenze purtroppo non mi permettono che alcuni piccoli adattamenti o personalizzazioni ad uno sketch come il tuo. Su questo topic posso fare da osservatore e suggerire al massimo qualcosa di meno tecnico e più pratico.

// internet e previsioni

Quindi sul sito lineameteo tu carichi da arduino tutti i dati e loro te li elaborano fornendo la previsione? hanno anche una API (o altro) per ricevere la previsione? perche' se cosí fosse, potresti aggiungere una serie di icone con la previsione. So che ci sono diversi programmi che convertono BMP in HEX o vettori pronti da usare. immagina: sul display si alternano (o con un pulsante scegli) il rilevamento attuale o le previsioni grafiche a tre giorni!

//riflessione ed esperienze sui sensori

Ho dato un' occhiata al sensore temperatura SHT75..... beh con quello che costa deve venire la signorina di mediaset a sussurrarmi con voce sexy la temperatura all' orecchio!!!!
Io ho provato un TMP36GZ ed un Dallas DS18B20 come il tuo ed entrambi hanno dato gli stessi valori di altri due termometri che ho in casa (uno digitale ed uno analogico con errore+-0,5 ma ad occhio eravamo li'!). Credo che il DHT22 dia valori decimali della temperatura.
per l' umidita' il DHT11 che ho provato differisce troppo dal digitale che ho: quasi 10% di scarto mi sembra tanto.
ho comprato anche un DS18B20 con copertura in acciaio waterproof e filo di 1m che potrebbe sostituire quello che hai fatto tu. penso che tu lo conosca!

http://www.ebay.it/itm/Acciaio-resistente-allacqua-Temperatura-Digital-termica-Sonda-DS18B20-1M-QJ1D-/131606777156?hash=item1ea4600d44:g:89AAAOSwVL1V-o1a

Non ho invece ancora RTC(in arrivo), Anemometro e pluviometro(giusto un sensore pioggia). Aspetto di aver realizzato e perfezionato tutto il resto (che è low cost) e poi aggiungerò i pezzi più costosi....

che potrei ordinare già avendo il tuo sketch già fatto! :smiley: Solo che facendo cosí perderebbe senso arduino per me! Se devo clonare un lavoro di un altro tanto vale che vada al negozio a comprarne una già fatta! Mi compro solo i sensori che mi merito!!! ahahahah

// DISPLAY
Con tutti i dati che hai da visualizzare mi sembra che il 16x2 non possa essere una scelta. E anche io "investirei" un paio di euro in più per un display a colori.

Una domanda: ma quanto, secondo te, possono essere lunghi al massimo i fili dei sensori per non avere problemi? Perché anemometro e pluviometro devono stare all' esterno esterno (tipo sul tetto!) per dare valori veritieri.... andare a leggere le condizioni meteo dal display posto nel sottotetto sarebbe scomodo!!!
Penso che tu debba cominciare a pensare (sei senz'altro uno di quelli bravi a cui facevo riferimento) a sdoppiare il tuo progetto. Immagina: una sensor box esterna (sul tetto!) con un altro arduino e collegata wireless (con un modulo a 433 o wifi con ESP8266) all' unità interna col display. Pensavo di suggerire una NodeMCU (NodeMCU Documentation) ... ma poi ho letto questo: http://internetofhomethings.com/homethings/?p=424
insomma va bene per qualcosa di più semplice come l' automazione delle serrande e la domotica in generale.

PS: Senti: non scendere in cantina domani e dopodomani perché ho visto dalle previsioni che piove li sotto!! :smiley:

Innanzitutto grazie dei complimenti! Hai visto alla fine c'è chi li fa i progetti e non si nota :smiley:

Cerco di rispondere per passi :slight_smile:

// Internet
Allora, il mio sito funziona così: ho scritto alcune pagine htm che poi sono andato a copiare nella micro sd che è dentro la ethernet shield. Oltre le pagine htm, c'è UN file txt, dove ci sono i miei dati in una certa sequenza che volevano quelli di lineameteo, per poi prendere quei dati da lì e spedirli nella loro rete!
Quindi Arduino si occupa semplicemente di caricare i dati su quel foglio di testo, il resto lo fanno loro :slight_smile:
Vari grafici sul loro sito sono gestiti interamente da loro, in pratica con i miei dati ci fanno quello che vogliono :slight_smile:
Le previsioni non sono fatte con i miei dati, ma sono fatte con le mie coordinate :wink: Una stazione meteo non può prevedere il tempo :wink: Per quello ci sono i modelli matematici. Le previsioni sono fornite da CentroMeteo per la posizione esatta della mia stazione meteo :slight_smile:
Aggiungere nel sito icone per la previsione purtroppo lo escluderei e spiego subito perché. Con Arduino già è tanto quello che ho fatto, aggiungere delle immagini rallenterebbe non di poco il sito! Questo perché Arduino ha un hardware limitato, se invece si utilizzasse Raspbarry come webserver, allora cambierebbe il tutto :wink: Anzi si potrebbe fare un sito mooolto più elaborato. Ovviamente senza scartare Arduino che si occupa dei dati e display e tutto il resto, soltanto che la parte di webserver la gestirebbe raspbarry, un po' come lineameteo gestisce i miei dati! Però per ora non saprei proprio come fare.

// menu multipagina
Per quanto riguarda questa parte credo che sia da modificare solo la parte relativa al display nel mio codice :slight_smile: E fare in modo di aggiungere il tuo, con vari allarmi e roba varia che vuoi. Per utilizzare il mio codice, comunque devo necessariamente spiegarti bene la parte relativa all'utilizzo di questa fantastica libreria che è WEBBINO! Creata da SukkoPera, utente di questo forum :slight_smile: Nelle pagine htm ci sono dei tag tipo $TEMPERATURA$ e tu gli devi dire cosa significa :slight_smile:

Preferisco anche solo la femmina sexy di mediaset che sinceramente non so dove le trovano :slight_smile: Però per un paio d'ore, poi torno su Arduino :smiley:

L'SHT 75 è una bestia, ma anche il 15 :wink: Costicchiano però :smiley:
Il DHT22 per l'umidità è una bomba :wink: Per la temperatura come ho detto, il meglio a poco prezzo è il Dallas.
Per la parte wifi sì, sarebbe bello avere i sensori tutti wifi e poi magari utilizzare la ethernet shield per la connessione sempre, però almeno eviti tutti i cablaggi dei sensori :wink: Sarebbe un upgrade da fare!
Tipo una cosa così:
Sensori fuori che comunicano con un modulo a 433MHz i dati ad Arduino Mega che poi li spedisce in rete con l'ethernet shield. Oppure utilizzando Raspbarry, arduino si occuperebbe solo di ricevere i dati e poi raspbarry li utilizzerebbe. A quel punto il display dei dati potrebbe anche un vero e proprio monitor :slight_smile: Se fai gestire la parte visiva a Raspbarry.

P.S. Sempre piove, non ne posso più :smiley:

Dimenticavo anche che essendo su lineameteo sono pure nell'app!

Ciao!

Una roba del genere!

Vorrei esser in grado di programmare bene arduino o Raspberry.... Questa potrebbe davvero essere il core di una casa domotica che "sente" tutto attorno a se. Ma se già incontri problemi di spazio con questi sensori..... penso che la mia idea sia campata in aria!
Una casa in montagna ad esempio attiva automaticamente la pompa della caldaia cosí non si gelano le tubature. Una serra viene automaticamente coperta o l' irrigazione smette di funzionare se piove troppo.

Allora quelli esterni vanno piazzati dentro uno schermo solare per forza! DHT22 e DS18B20! Una cosa di questo genere

Lo schermo solare è quello costruito con dei piatti e li dentro io ho messo una staffa a L dove piazzare i sensori.

Il BMP180 può essere tranquillamente lasciato all'interno dell'abitazione :wink: e volendo misurerà anche la temperatura interna, visto che rileva anche la temperatura. Però se vuoi pure l'umidità, a sto punto usi un altro dht22 sia per temp che per umidità. Per il resto va tutto bene. Infatti sì l'idea è bella, una centralina dentro una scatola stagna fissata al palo, dove poi escono fuori dalla scatola i fili dei sensori, con l'Arduino dentro quella scatola stagna che ricevi i dati di pluvio/anemometro/temperatura/umidità
e poi all'interno della casa un altro Arduino con un ethernet shield che prende quei dati dall'esterno, più altri dati tipo, ora, relays, pressione, display, etc e manda in rete quelli che vuoi!
Se è un problema trovare un posto per l'Arduino interno, puoi tranquillamente usare i power line e portare il segnale ovunque, anche se sei lontano dal modem, basta avere una presa lì vicino!

P.S. Comunque non incontro problemi di spazio con Arduino Mega... il punto è che Arduino da webserver che è lento.

purtroppo nello studiare il tuo sketch affiora tutta la mia ignoranza e gia' dalle prime righe mi comincio a perdere completamente..... come le dichiarazioni EEPROM ad esempio e quel webbino che devo leggere ancora.....
:frowning:

lucderan:
purtroppo nello studiare il tuo sketch affiora tutta la mia ignoranza e gia' dalle prime righe mi comincio a perdere completamente..... come le dichiarazioni EEPROM ad esempio e quel webbino che devo leggere ancora.....
:frowning:

Posso capire che sembra difficile, ma fidati che non lo è! La cosa migliore infatti è cominciare a scrivere il codice, partendo dalle basi basi, alla fine cominci a capire il tuo codice veramente dopo parecchio tempo, anche quando lo scrivi tu! Per Webbino puoi chiedere all'utente SukkoPera, visto che è la sua libreria, è molto semplice in realtà il suo utilizzo. Ma quella alla fine è la parte finale :wink:

Le dichiarazioni Eeprom devi studiarti come si usa la eeprom.h, anch'essa molto semplice.

Ciao As_Needed! e ciao a tutti quelli che leggeranno!

Sono stato molto impegnato col lavoro negli scorsi giorni. Ma ieri sera ho dato una ripulita allo sketch del menu per i nostri display tft...
Ho messo una home più tre pagine (con tanti colori e parole a cavolo cosí per demo) e una serie di funzioni tipo blink etc...ci sono infatti tre led di status -rosso giallo verde - che corrispondono alle rispettive pagine e che poi faccio anche lavorare nelle funzioni demo che vengono richiamate) il menu si naviga con soli tre pulsanti. Uno si sposta di pagina (select) e gli altri due chiamano delle sottofunzioni. c'é anche uno speaker in modo da sentire un beep alla pressione dei tasti.
ci ho ficcato anche la lettura del DHT11 ma trovi nello zip la libreria completa e già ci sono (commentati) i sensori DHT alternativi. Ho aggiunto anche un bel po' di colori in modo che si possa personalizzare tutto a seconda dei gusti

Ripeto che sono una P##pa che passa il tempo la domenica ed ha ordinato arduino solo il primo maggio!

Il menu scorre bene con lo SWITCH-CASE. Certo necessita Arduino Mega per avere la shield come la ho io e poter mettere sensori, switch, led e speaker. Ma alla fine va bene anche per chi ha solo l' uno. E usando dei jumper M/F invece che intestare la shield diretta sull' arduino restano alcuni pin liberi che possono essere usati.

Non c'é il touch screen ma i pulsanti volutamente in modo da renderlo più standard e non ho fatto uso della SD library in modo da avere altri pin a disposizione....

Insomma una base da cui si può partire integrando le proprie modifiche.
..... ma ora ve come lo carico qui??!?! :slight_smile:

Ecco Lo Sketch in zip del MENU tre pagine per TFT LCD con Homepage, tre tasti di navigazione,3 led di status, speaker e sensori della famiglia DHT. Nella cartella ci sono anche le librerie necessarie!
Con poche modifiche e un po' di copia incolla si aggiungono o si tolgono facilmente pagine, funzioni e pulsanti.

WARNING

Se vi esplode casa usando questo sketch è perché siete schiappe come me. Compratevi gli elettrodomestici da UNIEuro! :smiley:

_2_4tft_LCD_con_multipage_menu_e_DHT11.zip (513 KB)

Beh carino :slight_smile: Questo si potrebbe implementare benissimo nel mio sketch :wink: Magari col tempo riusciamo a fare veramente una stazione meteo perfetta :slight_smile: Ci vuole però che siano wifi i sensori, come dicevamo e magari anche far fare da webserver a una cosa come raspbarry

Ciao!
Sono contento che potrà esserti utile. Praticamente l'ho rivisto tutto da capo cercando di standardizzarlo. Ho messo pure delle variabili stringa cosí parte delle modifiche ai testi te le fai in testa al codice.

Il colore del display cambia a seconda che faccia caldo, freddo o ci sia una temperatura mite. Ho pensato fosse simpatico avere a colpo d'occhio l' informazione. E poi lo rende ancora "più cool" con niente!!!!

Il modulo wifi ESP8266-01 l' ho appena ricevuto. Volevo mettermici ieri, poi ho avuto, diciamo, un contrattempo. Mi affascina quel cosetto!È grande come una falange e ci si potrebbero addirittura attaccare tutti i sensori in seriale. C'è sul mercato un Analog Input Expander dedicato che porta gli input analogici ad 8. qui la versione fino a 4 dove si leggono i valori di tre potenziometri collegati:

  • seguendo il link suggerito si trova la nuova a 8 e ci sono pure i link a github e tutto il resto.

Tutto il sistema Sensori-ESP si potrebbe alimentare con una piccola batteria al litio ricaricata da un pannellino solare.

faccio queste considerazioni perché comunque leggendo in giro e confrontando le schede tecniche, Arduino non ce la fa ad alimentare bene la ESP8266 e le cose si complicano leggermente. Allora visto che ce la può fare anche da sola ad inviarci 8 letture, e comunque andrebbe studiata e compresa per attaccarla ad arduino, a questo punto si mette da sola! Altro non serve per i sensori se non risolvere sempre la questione dei voltaggi!
Da li partono i dati "grezzi". Arduino li legge e li elabora mostrandoli a schermo e sparandoli in rete.

C'é però sempre la questione della portata: per distanze maggiori servirà un'antenna esterna . Sull' ESP8266-01 che ho io (il base base) non c'è il connettore per un'antenna esterna che è invece prevista in versioni superiori: le v. 02-05-07 che sarebbero da preferire. E poi c'é la ESP 12 che invece ha già le porte analogiche necessarie ed è un controller completo solo da programmare (con firmware per IDE arduino direi), ma, almeno quelle che vedo, non prevede antenna esterna.

Tu come che strade prenderesti? Per me meno c'é fuori esposto alle intemperie e meglio è. Io alla fine resinerei tutto lasciando liberi solo il pacco batterie ed i connettori per i sensori e l' antenna esterna. cosí é a prova di bomba e si cambiano comunque sensori o batteria in caso di guasto.

alla prossima

PS: Come va il tempo in cantina? piove ancora??? ahahahah

Infatti il problema maggiore è la distanza! Penso che bisogni prevedere un ESP a lunga portata, o comunque a portata maggiore, oppure dei moduli a 433MHz.... poi ne esistono anche altri. Insomma c'è da studiare!
E' carino il display, anzi, se ne potrebbe mettere anche uno più grande alimentato esternamente, tipo quelli della 4D system!
http://www.4dsystems.com.au/product/uLCD_43DT_AR/

costano lo so :slight_smile:

Comunque io direi che idealmente dovrebbe essere così

Sul palo dove è installata la stazione meteo c'è una scatola stagna abbastanza grande dove dentro ci dovrà essere un ESP o comunque un modulo che arrivi a lunga distanza e che esca solo l'antenna fuori e alimentato tutto a batteria come dici. Poi all'interno un altro Arduino che gestisce quei dati con un display anche, che però anch esso deve comunicare a lunga distanza, in modo tale da potersi portare il display ovunque e avere comunque i dati di fuori a portata di mano. E poi ci vorrebbe un raspbarry per gestire il webserver, in modo tale da poter creare un sito molto più complesso.
Idealmente sarebbe così, sarebbe da ragionarci :slight_smile:

Comunque sì, qualche volta ancora piove ahah

Tra i sensori suggerisco il BME280 che, rispetto al BMP280, fornisce anche l'umidità oltre a temperatura e pressione.

Ne sto usando uno da circa un mese collegato con un nodeMCU che mi butta i dati su ThingSpeak.

Ho letto quanto ti proponi di fare. La mia idea personale sarebbe quella di un RaspberryPi che collezioni i dati (usando una versione locale di ThingSpeak) di diversi sensori sparsi in giro non solo per il meteo.
Le azioni in base ai dati meteo possono essere svolte dal RaspberryPi oppure da altri Arduino che interrogano il RaspberryPi.
Il cloud l'userei solo come backup oppure per visualizzare i dati da remoto altrimenti se per qualche motivo cade la connessione gli altri dispositivi non sanno cosa fare.

Il RaspberryPi potrebbe anche ospitare la sua camera, il vecchio modello fa 5Mpx, il nuovo 8Mpx, meglio di moltissime webcam.

Ho anche delle idee per dei sensori remoti wireless a batteria. Per adesso sto giocando con il low power, la trasmissione potrebbe avvenire con i nordic nrf24 oppure con quelli a 433MHz, dipende da chi consuma meno e dalle distanze raggiungibili.

Beh è una bella idea, infatti bisogna trovare la soluzione migliore in modo tale da avere una "console" con un display, fatta su misura, in cui vengono visualizzati i dati e poi ci vuole quel RaspberryPi per fare da webserver e magari anche da webcam come dici! Sarebbe davvero un idea carina. Ovviamente i sensori devono essere tutti wifi.
Per la temperatura esterna e umidità esterna io direi di mettere o l'SHT15 o l'SHT75
Per la pressione magari di mettere quello che dici tu, in modo tale da avere con un solo sensore tutti i dati interni, ovvero umidità, temperatura e pressione che sarebbe quella esterna. Per anemometro e pluviometro i direi di prendere quelli di marche note, oppure costruirselo, ma sarebbe non poco complicato almeno per me.

O c'è anche questo per la temperatura e umidità

Forse il più preciso di tutti, ed è anche semplicissimo da collegare con il bus i2c

Per me l'altissima precisione non è importante, sto in città e già la temperatura d'inverno è più calda di diversi gradi rispetto a quella di riferimento dell'aeroporto.
In ogni caso cambia poco, si tratta sempre di sensori I2C, nel codice i cambiamenti sono minimi.

Bei sensori i Sensirion....

Ho anche una stazione meteo commerciale giocattolo, una wh1080 e la prima sfida per me è realizzare un sensore esterno che possa competere con in bassi consumi della wh1080. Vorrei anche intercettare i dati, il codice già esiste ma va ad 868MHz e il modulo che ho è di quelli a 3.3v e con i piedini a spazio più stretto, i cavi dupont che ho non ci entrano.

Ho anche altri sensori, le ciofeche di DHT11, un DHT22, alcuni DS18B20, alcuni sensori di luce, alcuni di pressione e via dicendo. Alcuni li vorrei mettere in parallelo per confrontarne le prestazioni.
Per adesso ho in parallelo un DHT11 e un DS18B20 che comparo con il sensore di temperatura interno dell'ATMEGA328p. Il peggiore è il DHT11 anche in temperatura.

La precisione conta a patto di installare la stazione come si deve, con uno schermo solare ben costruito o uno davis passivo :wink: La davis vantage pro2, una stazione meteo professionale, ha l'sht11, che è peggio dell'sht 25, quindi con quello già la battiamo :slight_smile: Poi anemometro e pluviometro davis, sono ottimi strumenti, ma costicchianno...
Il DS18B20 a poco prezzo non si batte come temperatura. Il DHT22 come umidità è perfetto, quasi come un sensirion di alta gamma :wink:

A bé, io ho avuto modo di maneggiare dei sensori della Lastem che da soli costano quanto una intera stazione meteo.
Però, come hai scritto, non ha senso avere un anemometro da un migliaio di euro e poi metterlo in un balcone. ci sarebbero delle linee guida internazionali.... ma intanto mi dedico al sensore wireless.

L'idea è quella del sensore con trasmettitore, batteria e pannelino solare.
Devo comparare l'Arduino a 8MHz e 3.3V con quello a 16MHz e 5V. LE due tensioni hanno i loro vantaggi e svantaggi. Ovviamente quello a 3.3V consuma meno ma se il risparmio viene annnullato dagli altri componenti allora non conviene.
Per i 433MHz e credo anche per gli 860, andare a 3.3V significa avere meno potenza e quindi minore portata.
Gli NRF24 a 2.4GHz vanno solo a 3.3V per cui è ininfluente.
Nulla vieta di realizzare 2 versioni.
Per adesso ho preso un Arduino mini, ho rimosso la resistenza del LED power, tagliato la pista dell'LDO (ma qui non so se è inutile o meno) e caricato lo sketch powerDownWakePeriodic della libreria Low-Power di rocketscream. Si può fare anche senza libreria, gli esempi sono tanti. L'idea è di usare il risveglio via watchdog, che ha un massimo di circa 8 secondi, per 7 cicli, quindi effettuare le misure, accendere la radio, trasmettere, spegnere le radio e riiniziare il ciclo.

Visto che serve il LowPower ho provato delle board della TI con MSP430, le Launchpad, che già sono predisposte per operare in low-power (i led hanno dei jumper per disabilitarli ad esempio) e che si programmano in similArduino tramite un IDE chiamato Energia. Ma non sono riuscito a far comunicare un NRF24 con Launchpad con uno collegato ad Arduino mentre fra Arduini non ho avuto problemi.

Ciao As-needed! Piacere Zoomx!

Che ne dite di partire da un progetto base davvero ben strutturato che definisca uno standard e poi crescere?

E se deve essere uno standard, deve anche essere basic ed economico, accessibile a tutti e con parti non troppo costose se pur capace di dare misurazioni buone. In modo che chiunque ci possa poi costruire sopra il suo personale sistema. Ma intanto ha giá TUTTO quello che serve in questo progetto.

Un buon progetto iniziale su cui, a seconda delle esigenze e tasche, andare a fare degli upgrade, secondo me è la strada giusta. se lo scopo é condividere il progetto con tante persone.

Poi si implementa il pannello solare, i dati sparati in rete, fino al punto di farlo comunicare col Raspberry in un progetto molto più esteso di casa domotica.

Questo é, credo, ciò che fa di un progetto un buon progetto che diventa popolare. Ed era questo il mio intento aprendo il thread.

@Zoomx

Leggo sul sito Adafruit che questo BME280 ha un errore di +- 1 grado c per la temperatura. é un bel po'.
Mentre, se non sbaglio, quelli che propone As_needed hanno entrambi +- 0,5 c ..

ricordiamo pure che l' esp8266-01 ha solo 2 GPIO.

Questo BME280 come "tutto in uno" sarebbe molto pratico su ESP8266 avendo anche lui l'alimentazione a 3.3v. Ed il tutto entra nell' ovetto kinder... mi sa batteria ricaricabile inclusa!!!

Ricordiamo sempre:

Qualità più che accettabile e senza compromessi.
Prezzo popolare
Estetica
Cloud Ready (gia sono due pezzi separati praticamente!)
Scalabilità: da 20 euro a 2000 lo sketch è quasi lo stesso!
popolarità e disponibilità sul mercato dei componenti.
Semplicità di realizzazione senza studiare altri linguaggi. D'altro canto c' è da considerare che ci sono un po' di rotture da affrontare che invece non ci sarebbero con la NodeMCU.

@Zoomx tu che la hai e ci stai lavorando su cosa pensi? So che si puö programmare con la stessa IDE arduino. vero?