#1 As_Needed Dom 26 Ago, 2018 02:00
Ciao a tutti quelli che leggeranno! Come da titolo voglio aprire un topic per parlare un po' di questo progetto che ho in mente da un po' di tempo, di installare anche qui in Australia una stazione meteo ( Wifi questa volta) e di poi inserirla nella rete meteo.
A riguardo ho già in casa una NodeMcu v1.0, in pratica è una scheda che monta il modulo Wifi ESP 8266, e garantisce una decente connessione wifi per lo scopo. La stazione meteo sarà molto semplice, per via dell impossibilità per ora di installare pluviometro e anemometro e quindi fornirà solo i seguenti dati:
Temperatura attuale ed estremi
Umidità e estremi
Pressione
Lo scopo del progetto non è di fare un sito web, ma semplicemente di creare il file che Linea meteo richiede con i dati dentro
Per la temperatura e l'umidità il sensore stavolta utilizzato sarà uno dei più accurati, ed è l SHT35
https://www.tindie.com/products/clo...erature-sensor/
Quindi in poche parole sarà una piccola stazione meteo ma molto accurata
Intanto ho già fatto il test per mettere i dati online, con il sensore BMP180
Il link per accedere è il seguente:
http://weatherclayton.ddns.net:4700/
Ecco una foto pure del modulo con il sensore in allegato.
Un saluto a tutti! Spiegherò più dettagli più avanti.
Descrizione: |
|
Dimensione: |
1.78 MB |
Visualizzato: |
File visto o scaricato 80 volta(e) |

|
____________
Stazione Meteo Autocostruita ---->
http://www.lineameteo.it/stazione-m...duino-df41.html
Lineameteo Stazione Professionale su Instructables ----> https://www.instructables.com/Perso...ation-LineaMet/
Ultima modifica di As_Needed il Dom 02 Set, 2018 03:17, modificato 7 volte in totale
-
-
Guru Socio Ordinario
-
- Utente #: 1789
- Registrato: 15 Ott 2014
- Età: 28
- Messaggi: 7489
-
174 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Altro
- Località: Melbourne, Australia
-
#2 green63 Dom 26 Ago, 2018 08:08
Splendido Eugenio
chissà che stavolta non riesca a metterci mano anch'io e a realizzarlo, mi piacerebbe proprio riuscirci magari anche in forma un poco più evoluta, ad esempio dotandola anche di datalogger e migliori possibilità di visione/analisi dei dati
Mauro
____________ "La misura della reale temperatura dell'aria è l'arduo tentativo di misurare un misurando non misurabile" (Mauro)
"Quando parli con me di raffronti tra stazioni "vicine" sappi che per me 50 metri sono troppi" (Mauro)
-
-
Utente Senior
-
- Utente #: 1338
- Registrato: 28 Set 2012
- Età: 62
- Messaggi: 3037
-
321 Punti
- Preferenza Meteo: Freddofilo
- Stazione Meteo: Davis Vantage Pro2 e Altro
- Località: Marina di Montemarciano (AN)
-
#4 green63 Dom 26 Ago, 2018 11:02
Si potrebbe pure fare, io perché adesso non ho proprio pure tempo per fare qualcosa di complesso, nel caso di datalogger, la mia stazione a Gualdo Tadino ne ha uno , usando una microSD
Pure qui si potrebbe mettere un adattatore esterno microSD.

comprensibilissimo! cmq proverò a seguire le tue spiegazioni e a realizzare intanto la versione base, poi si vedrà
____________ "La misura della reale temperatura dell'aria è l'arduo tentativo di misurare un misurando non misurabile" (Mauro)
"Quando parli con me di raffronti tra stazioni "vicine" sappi che per me 50 metri sono troppi" (Mauro)
-
-
Utente Senior
-
- Utente #: 1338
- Registrato: 28 Set 2012
- Età: 62
- Messaggi: 3037
-
321 Punti
- Preferenza Meteo: Freddofilo
- Stazione Meteo: Davis Vantage Pro2 e Altro
- Località: Marina di Montemarciano (AN)
-
#6 green63 Dom 26 Ago, 2018 11:35
Ti volevo chiedere Mauro : il link attuale della stazione meteo lo visualizzi bene e veloce ?
http://149.167.185.170
Comunque poi quando ho tempo ed hai tempo ti volevo chiedere alcune domande riguardo all installazione della stazione meteo, farò qualche foto di dove potrei installarla

direi di si, si apre subito, mi pare tutto ok
per l'installazione lo sai, sono sempre a disposizione anche se in questi ultimi giorni sono stato spesso assente causa lavori di ristrutturazione dell'attività
____________ "La misura della reale temperatura dell'aria è l'arduo tentativo di misurare un misurando non misurabile" (Mauro)
"Quando parli con me di raffronti tra stazioni "vicine" sappi che per me 50 metri sono troppi" (Mauro)
-
-
Utente Senior
-
- Utente #: 1338
- Registrato: 28 Set 2012
- Età: 62
- Messaggi: 3037
-
321 Punti
- Preferenza Meteo: Freddofilo
- Stazione Meteo: Davis Vantage Pro2 e Altro
- Località: Marina di Montemarciano (AN)
-
#9 As_Needed Mar 28 Ago, 2018 15:01
Grazie Andrea
Comunque gli ho dato un DNS adesso al sito
http://weatherclayton.ddns.net:4700/
In ogni caso, poi il sito che adesso ho linkato, diventerà semplicemente quelle righe che servono a lineameteo per caricare i dati che mi avevi detto una volta
Una cosa di questo genere:
DATA ORA&v0=LATITUDINE=LONGITUDINE&v0=CLAYTON SOUTH&v0=52m s.l.m.&v0=TEMPERATURA&v0=UMIDITà&v0=PRESSIONE& etc...
Corretto ?
P.S.
Ho già modificato il sito come richiesto per lineameteo, puoi darci un'occhiata se vuoi Andrea e dirmi se è okay
____________
Stazione Meteo Autocostruita ---->
http://www.lineameteo.it/stazione-m...duino-df41.html
Lineameteo Stazione Professionale su Instructables ----> https://www.instructables.com/Perso...ation-LineaMet/
Ultima modifica di As_Needed il Dom 02 Set, 2018 03:16, modificato 5 volte in totale
-
-
Guru Socio Ordinario
-
- Utente #: 1789
- Registrato: 15 Ott 2014
- Età: 28
- Messaggi: 7489
-
174 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Altro
- Località: Melbourne, Australia
-
#11 Gab78 Mar 28 Ago, 2018 16:59
Noto solo adesso: grande Eugenio!
____________ I love Appennino...
-
-
Guru Socio Sostenitore
-
- Utente #: 874
- Registrato: 30 Ott 2010
- Età: 47
- Messaggi: 12211
-
4170 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Davis Vantage Vue, Ventus W83x e Altro
- Località: San Giovanni Profiamma - 270 m s.l.m. - frazione di Foligno (PG)
-
#13 As_Needed Dom 02 Set, 2018 03:14
Okay intanto ho aggiornato il codice dopo diversi problemi, e ho inserito nella stringa dei dati richiesti la data e l'orario, richiesti tramite un server NTP
Questo è il nuovo link
http://weatherclayton.ddns.net:4700/
Adesso manca di acquistare il preciso SHT35 e testarlo
Questo per il momento è il brutto codice che uso  Lo devo ordinare molto molto meglio
#include <ESP8266WiFi.h>
#include <WifiUDP.h>
#include <String.h>
#include <Wire.h>
#include <NTPClient.h>
#include <Time.h>
#include <TimeLib.h>
#include <Timezone.h>
#include <Adafruit_BMP085.h>
// Define NTP properties
#define NTP_OFFSET 60 * 60 // In seconds
#define NTP_INTERVAL 60 * 1000 // In miliseconds
#define NTP_ADDRESS "209.115.181.107" // "ca.pool.ntp.org" // change this to whatever pool is closest (see ntp.org)
#define CALIBRATION 850
// Set up the NTP UDP client
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, NTP_ADDRESS , NTP_OFFSET, NTP_INTERVAL);
WiFiServer server(80);
IPAddress ip(10, 0, 0, 140);
IPAddress gateway(10, 0, 0, 138);
IPAddress subnet (255 , 255, 255, 0);
const char* ssid = "Internet Name"; // Your ssid
const char* password = "Internet Password"; // Your Password
String date;
String t;
const char * days[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"} ;
const char * months[] = {"Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov", "Dec"} ;
Adafruit_BMP085 bmp;
byte giornoSalvato; // variabile per memorizzare lo stato del giorno attuale
float minTemp;
float maxTemp;
void setup ()
{
Serial.begin(115200); // most ESP-01's use 115200 but this could vary
timeClient.begin(); // Start the NTP UDP client
server.begin();
maxTemp = -100;
minTemp = 100;
// Connect to wifi
Serial.println("");
Serial.print("Connecting to ");
Serial.print(ssid);
WiFi.config(ip, gateway, subnet);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to WiFi at ");
Serial.print(WiFi.localIP());
Serial.println("");
delay(1000);
giornoSalvato = 0;
Wire.pins(4, 5); // NodeMCU v1.0 SDA=>D2 SCL=>D1
Wire.begin();
// Initialize the sensor (it is important to get calibration values stored on the device).
bmp.begin();
}
void loop()
{
float pressure = bmp.readPressure() + CALIBRATION;
float pressurehpa = pressure / 100;
float tp = bmp.readTemperature();
if (minTemp < tp) {
minTemp = tp;
}
if (maxTemp > tp) {
maxTemp = tp;
}
date = ""; // clear the variables
t = "";
// update the NTP client and get the UNIX UTC timestamp
timeClient.update();
unsigned long epochTime = timeClient.getEpochTime();
// convert received time stamp to time_t object
time_t local, utc;
utc = epochTime;
// Then convert the UTC UNIX timestamp to local time
TimeChangeRule usEDT = {"EDT", First, Sun, Apr, 2, +540}; //UTC - 5 hours - change this as needed
TimeChangeRule usEST = {"EST", First, Sun, Oct, 2, +600}; //UTC - 6 hours - change this as needed
Timezone usEastern(usEDT, usEST);
local = usEastern.toLocal(utc);
/*date += days[weekday(local)-1];
date += ", ";*/
if (day(local) < 10) // add a zero if minute is under 10
date += "0";
date += day(local);
date += "/";
if (month(local) < 10) // add a zero if minute is under 10
date += "0";
date += month(local);
date += "/";
date += year(local);
if (hour(local) < 10) // add a zero if minute is under 10
t += "0";
t += hour(local);
t += ":";
if (minute(local) < 10) // add a zero if minute is under 10
t += "0";
t += minute(local);
t += ":";
if (second(local) < 10) // add a zero if minute is under 10
t += "0";
t += second(local);/*
t += " ";
t += ampm[isPM(local)];*/
if (giornoSalvato != day(local))
{
giornoSalvato = day(local);
Serial.println(giornoSalvato);
maxTemp = tp;
minTemp = tp;
}
// Display the date and time
/* Serial.println("");
Serial.print("Local date: ");
Serial.print(date);
Serial.println("");
Serial.print("Local time: ");
Serial.print(t);*/
WiFiClient client = server.available();
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.print(date);
client.print(" ");
client.print(t);
client.print("&v0=-37.938906&v0=145.129615&v0=Clayton South(VIC)&v0=52m s.l.m.&v0=");
client.print(tp, 1);
client.print("&v0=");
client.print("UMIDITA");
client.print("&v0=");
client.print(pressurehpa, 1);
client.print("&v0=");
client.print("ND");
client.print("&v0=");
client.print("ND");
client.print("&v0=");
client.print("ND");
client.print("&v0=");
client.print(minTemp, 1);
client.print("&v0=");
client.print(maxTemp, 1);
client.print("&v0=");
client.print("ND");
client.print("&v0=");
client.print("ND");
client.println("</html>");
}
____________
Stazione Meteo Autocostruita ---->
http://www.lineameteo.it/stazione-m...duino-df41.html
Lineameteo Stazione Professionale su Instructables ----> https://www.instructables.com/Perso...ation-LineaMet/
Ultima modifica di As_Needed il Lun 03 Set, 2018 01:08, modificato 5 volte in totale
-
-
Guru Socio Ordinario
-
- Utente #: 1789
- Registrato: 15 Ott 2014
- Età: 28
- Messaggi: 7489
-
174 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Altro
- Località: Melbourne, Australia
-
Questo argomento è stato utile?
Questo argomento è stato utile?
Condividi Argomento |
|
 |
Inserisci un link per questo argomento |
URL |
|
BBCode |
|
HTML |
|
Argomenti Simili
Argomenti Simili
Lista Permessi
|
Non puoi inserire nuovi Argomenti Non puoi rispondere ai Messaggi Non puoi modificare i tuoi Messaggi Non puoi cancellare i tuoi Messaggi Non puoi votare nei Sondaggi Non puoi allegare files Puoi scaricare gli allegati Non puoi inserire eventi calendario
|
|
|
|
|