Posta gli aggiornamenti delle condizioni meteo a servizi come Weather Underground
usage: python -m pywws.toservice [options] data_dir service_name
options are:
-h or --help display this help
-c or --catchup upload all data since last upload
-v or --verbose increase amount of reassuring messages
data_dir is the root directory of the weather data
service_name is the service to upload to, e.g. underground
Diverse organizzazioni consentono alle stazioni meteorologiche di caricare i dati utilizzando un semplice HTTP ‘POST’ o ‘GET’ richiesta, con i dati codificati come una sequenza di coppie key=value separate dal carattere &.
Questo modulo permette a pywws di caricare letture a queste organizzazioni. E ‘altamente personalizzabile utilizzando i file di configurazione. Ogni ‘servizio’ richiede un file di configurazione e di due modelli in pywws/services (Che non dovrebbe essere necessario modificare dall’utente) e una sezione in weather.ini contenente i dati specifici dell’utente, quali l’ID del sito e la password.
Attualmente ci sono sei servizi per i quali i file di configurazione sono stati scritti.
ente | nome del servizio | file di configurazione |
---|---|---|
UK Met Office | metoffice | ../../pywws/services/metoffice.ini |
Open Weather Map | openweathermap | ../../pywws/services/openweathermap.ini |
PWS Weather | pwsweather | ../../pywws/services/pwsweather.ini |
Stacja Pogody | stacjapogodywawpl | ../../pywws/services/stacjapogodywawpl.ini |
temperatur.nu | temperaturnu | ../../pywws/services/temperaturnu.ini |
Weather Underground | underground | ../../pywws/services/underground.ini |
wetter.com | wetterarchivde | ../../pywws/services/wetterarchivde.ini |
Se non lo hai già fatto, visitate il sito web dell’organizzazione e creare un account per la vostra stazione meteo. Prendere nota di qualsiasi ID del sito e la password che vi vengono dati.
Interrompere qualsiasi software Pywws che è in esecuzione, quindi esegui toservice per creare una sezione in weather.ini:
python -m pywws.toservice data_dir service_name
service_name è un nome (singola parola) del servizio, ad esempio metoffice, data_dir è la directory dei dati meteo, come al solito.
Modificare weather.ini e trovare la sezione corrispondente al nome del servizio, ad esempio [underground]. Copiare i dettagli del tuo sito in questa sezione, ad esempio:
[underground]
password = secret
station = ABCDEFG1A
Ora si può verificare la configurazione:
python -m pywws.toservice -vvv data_dir service_name
Questo dovrebbe mostrare la stringa di dati che viene caricata. Qualsiasi inconveniente dovrebbe generare un messaggio di errore.
Ora potete caricare il vostri ultimi 7 giorni di dati, se il servizio lo supporta. Modifica il tuo file status.ini e cancella la riga relativa nella sezione last update, quindi eseguire di nuovo toservice con l’opzione ‘catchup’:
python -m pywws.toservice -cvv data_dir service_name
Questo può durare 20 minuti o più, a seconda della quantità di dati.
Modificare nuovamente il file weather.ini e aggiungere un elenco dei servizi per nella sezione [live], [logged], [hourly], [12 hourly] o ``[daily]`, a seconda di quante volte si desidera inviare i dati. Ad esempio:
[live]
twitter = []
plot = []
text = []
services = ['underground_rf']
[logged]
twitter = []
plot = []
text = []
services = ['metoffice', 'stacjapogodywawpl']
[hourly]
twitter = []
plot = []
text = []
services = ['underground']
Si noti che la sezione [live] viene utilizzata solo quando si esegue LiveLog. È una buona idea di ripetere qualsiasi servizio selezionato in [live] nella sezione [logged] o [hourly] nel caso in cui si passa all’ esecuzione di Hourly.
Riavviare il programma pywws (Hourly o LiveLog) e visitare il sito web appropriato per vedere gli aggiornamenti per la tua stazione meteo.
Creare un account: https://register.metoffice.gov.uk/WaveRegistrationClient/public/register.do?service=weatherobservations
API: http://wow.metoffice.gov.uk/support?category=dataformats#automatic
Esempio della sezione``weather.ini``:
[metoffice]
site id = 12345678
aws pin = 987654
Creare un account: http://openweathermap.org/login
Esempio della sezione``weather.ini``:
[openweathermap]
lat = 51.501
long = -0.142
alt = 10
user = Elizabeth Windsor
password = corgi
id = Buck House
Il comportamento predefinito è di usare il nome utente per identificare la stazione meteo. Tuttavia, è possibile per un utente di avere più di una stazione meteo, in modo che non vi sia un non documentato name nell’API che possono essere utilizzate per identificare la stazione. Questo appare come id, weather.ini. Assicuratevi di non scegliere un nome che è già in uso.
Creare un account: http://www.pwsweather.com/register.php
API basete su protocollo WU: http://wiki.wunderground.com/index.php/PWS_-_Upload_Protocol
Esempio della sezione``weather.ini``:
[pwsweather]
station = ABCDEFGH1
password = xxxxxxx
Creare un account: http://www.wunderground.com/members/signup.asp
API: http://wiki.wunderground.com/index.php/PWS_-_Upload_Protocol
Esempio della sezione``weather.ini``:
[underground]
station = ABCDEFGH1
password = xxxxxxx
Funzioni
ApplicationLogger(verbose[, logfile]) | |
main([argv]) |
Classi
SafeConfigParser([defaults, dict_type, ...]) | |
ToService(params, status, calib_data, ...) | Carica dati meteo a servizi meteorologici quali Meteo |
datetime | datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) |
timedelta | Differenza tra due valori datetime. |
Carica dati meteo a servizi meteorologici come Weather Underground.
Parametri: |
|
---|
Codificare un record di dati meteo.
Il parametro data contiene i dati da codificare. Dovrebbe essere un record di dati ‘calibrato’, memorizzato in pywws.DataStore.calib_store.
Parametri: | data (dict) – the weather data record. |
---|---|
Ritorna: | urlencoded data. |
Tipo di ritorno: | |
string |
Carica un set di dati meteo.
Il parametro coded_data contiene i dati da caricare. Dovrebbe essere una stringa url codificata.
Parametri: | coded_data – the data to upload. |
---|---|
Ritorna: | success status |
Tipo di ritorno: | |
bool |
Riceve i record di dati meteo da caricare .
Questo metodo restituisce i record meteo più recenti oppure tutti i record di un oggetto datetime, secondo il valore di start.
Parametri: | start – datetime of first record to get, or None to get |
---|
solo i dati più recenti.
Parametri: | live_data (dict) – a current ‘live’ data record, or None. |
---|---|
Ritorna: | yields weather data records. |
Tipo di ritorno: | |
dict |
Ottiene data e ora del primo ‘catchup’ record per inviare.
Tipo di ritorno: | |
---|---|
datetime |
Caricare uno o più record di dati meteorologici.
Questo metodo carica o il più recente record di dati meteo, o tutti i record dopo l’ultimo caricamento (fino a 7 giorni), secondo il valore di catchup.
Imposta il valore di configurazione last update il timestamp del record più recente correttamente caricato.
Parametri: | catchup (bool) – upload all data since last upload. |
---|---|
Ritorna: | success status |
Tipo di ritorno: | |
bool |