- Posts: 3
- Thank you received: 0
- Sint Wind PI - Documentation
- Forum
- Volo Libero Monte Cucco
- Sint Wind PI
- Aiuto per configurazione server
Postate qui domande o segnalate problemi / bug che riscontrate,
Aiuto per configurazione server
Da poco ho acquistato una stazione pce e il raspberry pi da 512 mb e scoperto il vostro bellissimo sito.
Ho installato grazie alle vostre istruzioni questo utilissimo sistema, ma nonostante abbia seguito alla lettera le vostre istruzioni non riesco a plottare i grafici.
Il problema è sicuramente nella configurazione del file relativo all'invio su daatabase mysql. Ho creato la query rapidamente e modificato il file config...infatti il sistema non mi da nessun errore e mi conferma il collegamento al database...ma nonostante tutto questo la schermata collegata non si aggiorna (file swpi_dashboard.php).
Ho controllato tutto mille volte, ho verificato i parametri ma nulla...
Avete qualche soluzione da seguire che non è riportata nelle istruzioni?
Mi servirebbe una dritta da chi utilizza il doppio sistema mysql e file txt..
Grazie e un saluto a tutti..
n.b.: ho scaricato la versione server 2
Please Log in to join the conversation.
Di che grafici parli ?
Nella versione "di serie" i grafici vengono generati dai file swpi_plot....php ma è una cosa che esempio anche io ho abbandonato per utilizzare il più comodo WeatherUndergroung con wgraph.
Esistono poi anche altre soluzioni .. ma li vedi i relativi post sul forum.
TT
Please Log in to join the conversation.
In realtà non riesco a capire se il sistema riesca a prendere i dati dal famoso database. Nel sistema tramite configurazione web ho impostato in modalità true solo il data logger ed in false il sistema ftp...i dati in questo caso vengono letti dal sint wind pi...quindi se non ho sbagliato nulla si deduce che il tutto funziona correttamente...resta da capire allora perchè il flie swpi_plot.php non legga nulla...è questo aspetto che mi manda in confusione.
La sd è stata preparata come da istruzioni, la query è stata cerata attraverso il pannello su sql di aruba (la parte definita dai caratteri // però non l'ho cancellata dal file swpi_logger.php) e il tutto (file config e relativi file php) è stato inserito in una cartella sul mio sito internet seconde questo percorso: www.miosito.it/swpi/swpi_logger.php
ah...ma se si decide solo per l'opzione dinamica il file meteo.txt non dovrebbe aggiornarsi perchè i dati li legge dal database..giusto? Invece ame il file meteo.txt si aggiorna sempre...forse sono io che non capisco una mazza...
dimenticavo...se carico il file swpi_dashboard.php...gli strumenti non mi danno nessun risultato, mentre la versione html continua a funzionare correttamente..
grazie ancora...
Please Log in to join the conversation.
1) Controlla che i dati vengano loggati correttamente usando phpmyadmin
2) Controlla che config.php sia impostato correttamente
TT
Please Log in to join the conversation.
Please Log in to join the conversation.
Come tutti in progetti Open Source la documentazione è il codice. Prova a vedere sul codice la formula.
Please Log in to join the conversation.
Please Log in to join the conversation.
allora ho reinstallato tutto..ed ho notato che non avevo sincronizzato l'orario di sistema con quello della PCE, il resto come ti dicevo era stato impostato correttamente...ora riesco a plottare i grafici..
per adesso appronto il mio sito e spero presto vi invierò l'indirizzo per una valutazione...
2 curiosità:
la prima riguarda i template meteodesk..ho notato che se carico tutto il materiale nella directory swpi...non vengono plottati più i grafici..qualcuno ha avuto lo stesso problema?
la seconda riguarda la lettura del vento..noto discrepanze tra la PCE e le letture riportate sulle dashborad che risultano essere spesso inferiori..
Grazie ancoa a per la grande disponibilità...proverò le altre potenzialità del sistema sint nei prossimi giorni..
Please Log in to join the conversation.
alegrechi wrote: 1) non ho alcun problema, ho solo deciso di non usare questo metodo!
Comunque i passi da fare per utilizzare quel plugin sono i seguenti:
1) Prendere il plugin da questa pagina e copiarlo nella cartella /swpi/plugins
github.com/mattiarossi/swpi-plugins/blob/master/wugraphslog.py
2) configurarlo con i propri parametri del server, nella sezione
self.wugraphs_dbhost = "localhost"
self.wugraphs_dbport = 3306
self.wugraphs_user = "user"
self.wugraphs_password = "pass"
self.wugraphs_schema = "weather"
self.wugraphs_table = "wugraphs"
3) creare nel tuo database una cartella per wugraph nel formato giusto. Per farlo usa la query che trovi all'inizio del plugin stesso, togliendo i commenti. (CREATE TABLE `wugraphs` .....)
4) dopo aver ricontrollato che i parametri del punto 2 son corretti, riavviare swpi.
seconda domanda: teoricamente non c'è alcuna modifica da fare, basta avere nella stessa cartella il file html con la dashboard e il file meteo.txt aggiornato. E anche la cartella /js/ con dentro le librerie necessarie.
Ciao ale,
non riuscendo a venire a capo di nulla con le dashboard html ho pasticciato un pò e ho creato una dashboard lcd ibrida che pesca tempo e data da meteo.txt e gli altri dati dal database.
La vedete qui: www.macpiu.altervista.org/meteo/swpi_dashboard_lcd.php
In realtà non so se la vedete, perchè rilevo proprio l'errore che sul browser su cui lavoro sul server altervista la vedo, ma se apro un'altro browser o su altri pc non la vedo. Non capisco dove sia il problema, anche se IE mi dà questo errore:
Dettagli errore pagina Web
Agente utente: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E; Tablet PC 2.0; AskTbORJ/5.15.25.36191)
Timestamp: Thu, 23 Jan 2014 14:32:58 UTC
Messaggio: Script error
Linea: 0
Carattere: 0
Codice: 0
URI: macpiu.altervista.org/meteo/js/steelseries-min.js
Messaggio: 'steelseries' è nullo o non è un oggetto
Linea: 265
Carattere: 3
Codice: 0
URI: www.macpiu.altervista.org/meteo/swpi_dashboard_lcd.php
Ultima cosa, per configurare il plugin di swpi con cui vado a inviare direttamente i dati a wugraphs senza passare da WU le impostazioni che indico sotto sono corrette?
self.wugraphs_dbhost = "localhost" ---> lo lascio così
self.wugraphs_dbport = 3306 ---> lo lascio così
self.wugraphs_user = "user" ---> lo user usato per il login al database
self.wugraphs_password = "pass" ---> password per il login al database
self.wugraphs_schema = "weather" ---> lo lascio così
self.wugraphs_table = "wugraphs" ---> lo lascio così
Please Log in to join the conversation.
mi sembra ottima la tua dashboard ibrida, io la visualizzo bene senza alcun errore! (Chrome).
Una cosa: perchè hai scelto di prendere data e ora da meteo.txt? Mi pare che ci siano anche nel db... o sbaglio?
Per l'ultima domanda ti confermo che dovrebbe andare bene come dici.
Please Log in to join the conversation.
Please Log in to join the conversation.
alegrechi wrote: Ciao Fisico,
mi sembra ottima la tua dashboard ibrida, io la visualizzo bene senza alcun errore! (Chrome).
Una cosa: perchè hai scelto di prendere data e ora da meteo.txt? Mi pare che ci siano anche nel db... o sbaglio?
Per l'ultima domanda ti confermo che dovrebbe andare bene come dici.
ciao ale,
ho seguito la procedura per attivare il log su wugraphs, ma il log di swpi mi da questo errore:
[25/01/2014-23:07:16] Calculating Meteo data and statistics
[25/01/2014-23:07:16] loading plugins
[25/01/2014-23:07:16] Checking internet connetion ...
[25/01/2014-23:07:16] Starting plugin : <module 'wugraphslog' from './plugins/wugraphslog.py'>
[25/01/2014-23:07:17] Internet ok
[25/01/2014-23:07:17] Logging data ...
[25/01/2014-23:07:17] Error connecting to Wugraphs db : (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
Dove sbaglio?
Please Log in to join the conversation.
Please Log in to join the conversation.
Please Log in to join the conversation.
alegrechi wrote: 1) non ho alcun problema, ho solo deciso di non usare questo metodo!
Comunque i passi da fare per utilizzare quel plugin sono i seguenti:
1) Prendere il plugin da questa pagina e copiarlo nella cartella /swpi/plugins
github.com/mattiarossi/swpi-plugins/blob/master/wugraphslog.py
2) configurarlo con i propri parametri del server, nella sezione
self.wugraphs_dbhost = "localhost"
self.wugraphs_dbport = 3306
self.wugraphs_user = "user"
self.wugraphs_password = "pass"
self.wugraphs_schema = "weather"
self.wugraphs_table = "wugraphs"
3) creare nel tuo database una cartella per wugraph nel formato giusto. Per farlo usa la query che trovi all'inizio del plugin stesso, togliendo i commenti. (CREATE TABLE `wugraphs` .....)
4) dopo aver ricontrollato che i parametri del punto 2 son corretti, riavviare swpi.
seconda domanda: teoricamente non c'è alcuna modifica da fare, basta avere nella stessa cartella il file html con la dashboard e il file meteo.txt aggiornato. E anche la cartella /js/ con dentro le librerie necessarie.
Niente da fare... il log di swpi continua a darmi questo errore:
[28/01/2014-23:17:30] Error connecting to Wugraphs db : (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
Ho provato a modificare user e password (ho messo quelli per accedere al mio sito altervista piuttosto che quelli per accedere al database) nella configurazione del plugin ma sempre stesso errore. Tra l'altro ho notato che nella cartella swpi/plugins si è creato oltre al file wugraphslog.py anche il file wugraphslog.pyc
Please Log in to join the conversation.
User e password sono quelle del db su altervista.
Anche con questi dati però può essere che non funzioni perchè il server altervista potrebbe non accettare connessioni dirette esterne al database.
Please Log in to join the conversation.
Please Log in to join the conversation.
swpi -> logger php -> DB
La connessione logger -> DB avviene all'interno dello stesso server (su altervista)
mentre nel secondo caso:
swpi -> DB
E su alcuni host potrebbe non funzionare per motivi di sicurezza. Non so nel caso di altervista, non ti conviene che provare. Al limite guarda anche tra le impostazioni se c'è qualcosa del tipo "abilita connessioni esterne al db".
Please Log in to join the conversation.
Come saprete altervista mette a disposizione un db chiamato di prassi my_mionome a cui si accede con user e password forniti per accedere al proprio pannello altervista.
I dati da completare sono questi:
self.wugraphs_dbhost = "localhost"
self.wugraphs_dbport = 3306
self.wugraphs_user = "user"
self.wugraphs_password = "pass"
self.wugraphs_schema = "weather"
self.wugraphs_table = "wugraphs"
Le ho provate tutte, ma niente.
Ho messo come dbhost sia www.altervista.org sia mionome.altervista.org ma niente. Poi ho rimesso localhost perchè leggendo la documentazione altervista sembrerebbe che funzioni così.
Ho messo come user sia mionome, sia my_mionome
Ho messo la password e poi ho provato a lasciare il campo con "" oppure con " ", come suggeriscono sempre sul pannello di controllo di altervista.
Ho modificato schema come "my_mionome".
Ho provato un pò di combinazioni di tutte queste opzioni... forse non le ho combinate tra loro proprio tutte. Sta il fatto che non mi funziona e mi da sempre lo stesso errore:
Error connecting to Wugraphs db : (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
Ora domando, non si può pensare di utilizzare con la tabella di wugraphs lo stesso sistema usato per METEO, cioè passando da swpi_logger? Alternativamente, non si può pensare di far popolare la tabella wugraphs a partire dalla tabella METEO? Sono idee, seocndo voi possono aver senso?
Please Log in to join the conversation.
Please Log in to join the conversation.
Please Log in to join the conversation.
ho modificato swpi_logger. Ho inserito in coda al file la duplicazione del codice che scrive nella tabella METEO per scrivere nella tabella wugraphs. Insultatemi pure per l'ingenuo ottimismo... non funziona. Dipedne dalla diversa struttura dei campi?
<?php
require("config.php");
class Meteo {
public $winDayGustMin = null;
public $uv = null;
public $TempInMin = null;
public $cloud_base_altitude = null;
public $PressureMax = null;
public $UmOutMin = null;
public $wind_dir_ave = null;
public $hum_in = null;
public $temp_out = null;
public $winDayMin = null;
public $wind_chill = null;
public $UmOutMax = null;
public $temp_in = null;
public $illuminance = null;
public $abs_pressure = null;
public $rain_rate_24h = null;
public $winDayGustMax = null;
public $dew_point = null;
public $TempOutMin = null;
public $UmInMin = null;
public $winDayMax = null;
public $UmInMax = null;
public $rain_rate = null;
public $wind_ave = null;
public $rain = null;
public $rel_pressure = null;
public $last_measure_time = "";
public $wind_dir = null;
public $wind_dir_code = "";
public $hum_out = null;
public $wind_gust = null;
public $idx = "";
public $temp_apparent = null;
public $rain_rate_1h = null;
public $PressureMin = null;
public $TempInMax = null;
public $TempOutMax = null;
}
$swpipwd1 = $_POST['pwd'];
if ($swpipwd1 != $swpipwd)
{
die('Wrong password ');
}
//carica i valori nella classe Meteo.
$e = new Meteo();
$e->last_measure_time = $_POST['last_measure_time'];
$e->idx = $_POST['idx'];
$e->wind_dir_code = $_POST['wind_dir_code'];
$e->wind_dir = $_POST['wind_dir'];
$e->wind_ave = $_POST['wind_ave'];
$e->wind_gust = $_POST['wind_gust'];
$e->temp_out = $_POST['temp_out'];
$e->hum_out = $_POST['hum_out'];
$e->rel_pressure = $_POST['rel_pressure'];
$e->rain = $_POST['rain'];
$e->rain_rate = $_POST['rain_rate'];
$e->temp_in = $_POST['temp_in'];
$e->hum_in = $_POST['hum_in'];
$e->wind_chill = $_POST['wind_chill'];
$e->temp_apparent = $_POST['temp_apparent'];
$e->dew_point = $_POST['dew_point'];
$e->uv = $_POST['uv'];
$e->illuminance = $_POST['illuminance'];
$e->winDayMin = $_POST['winDayMin'];
$e->winDayMax = $_POST['winDayMax'];
$e->winDayGustMin = $_POST['winDayGustMin'];
$e->winDayGustMax = $_POST['winDayGustMax'];
$e->TempOutMin = $_POST['TempOutMin'];
$e->TempOutMax = $_POST['TempOutMax'];
$e->TempInMin = $_POST['TempInMin'];
$e->TempInMax = $_POST['TempInMax'];
$e->UmOutMin = $_POST['UmOutMin'];
$e->UmOutMax = $_POST['UmOutMax'];
$e->UmInMin = $_POST['UmInMin'];
$e->UmInMax = $_POST['UmInMax'];
$e->PressureMin = $_POST['PressureMin'];
$e->PressureMax = $_POST['PressureMax'];
$e->wind_dir_ave = $_POST['wind_dir_ave'];
// -- --------------------------------------------------------
// --
// -- Table structure for table `meteo`
// --
// CREATE TABLE IF NOT EXISTS `METEO` (
// `TIMESTAMP_LOCAL` datetime NOT NULL,
// `TIMESTAMP_IDX` datetime default NULL,
// `WINDIR_CODE` text,
// `WIND_DIR` smallint(6) default NULL,
// `WIND_AVE` double default NULL,
// `WIND_GUST` double default NULL,
// `TEMP` double default NULL,
// `PRESSURE` double default NULL,
// `HUM` double default NULL,
// `RAIN` double default NULL,
// `RAIN_RATE` double default NULL,
// `TEMPINT` double default NULL,
// `HUMINT` double default NULL,
// `WIND_CHILL` double default NULL,
// `TEMP_APPARENT` double default NULL,
// `DEW_POINT` double default NULL,
// `UV_INDEX` double default NULL,
// `SOLAR_RAD` double default NULL,
// `WIND_DAY_MIN` double default NULL,
// `WIND_DAY_MAX` double default NULL,
// `WIND_DAY_GUST_MIN` double default NULL,
// `WIND_DAY_GUST_MAX` double default NULL,
// `TEMP_OUT_DAY_MIN` double default NULL,
// `TEMP_OUT_DAY_MAX` double default NULL,
// `TEMP_IN_DAY_MIN` double default NULL,
// `TEMP_IN_DAY_MAX` double default NULL,
// `HUM_OUT_DAY_MIN` double default NULL,
// `HUM_OUT_DAY_MAX` double default NULL,
// `HUM_IN_DAY_MIN` double default NULL,
// `HUM_IN_DAY_MAX` double default NULL,
// `PRESSURE_DAY_MIN` double default NULL,
// `PRESSURE_DAY_MAX` double default NULL,
// `WIND_DIR_AVE` double default NULL
// ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
$con = mysql_connect($server,$user,$pwd);
mysql_select_db($db);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
$sql1 = "INSERT INTO " . $dbprefix . "METEO (TIMESTAMP_LOCAL, TIMESTAMP_IDX, WINDIR_CODE, WIND_DIR, WIND_AVE, WIND_GUST, TEMP, PRESSURE, HUM, RAIN, RAIN_RATE, TEMPINT, HUMINT, WIND_CHILL, TEMP_APPARENT, DEW_POINT, UV_INDEX, SOLAR_RAD, WIND_DAY_MIN, WIND_DAY_MAX,WIND_DAY_GUST_MIN ,WIND_DAY_GUST_MAX ,TEMP_OUT_DAY_MIN ,TEMP_OUT_DAY_MAX,TEMP_IN_DAY_MIN ,TEMP_IN_DAY_MAX ,HUM_OUT_DAY_MIN ,HUM_OUT_DAY_MAX ,HUM_IN_DAY_MIN ,HUM_IN_DAY_MAX ,PRESSURE_DAY_MIN ,PRESSURE_DAY_MAX,WIND_DIR_AVE) VALUES ('".$e->last_measure_time."','".$e->idx."','".$e->wind_dir_code."',".$e->wind_dir.",".$e->wind_ave.",".$e->wind_gust.",".$e->temp_out.",".$e->rel_pressure.",".$e->hum_out.",".$e->rain.",".$e->rain_rate.",".$e->temp_in.",".$e->hum_in.",".$e->wind_chill.",".$e->temp_apparent.",".$e->dew_point.",".$e->uv.",".$e->illuminance.",".$e->winDayMin.",".$e->winDayMax.",".$e->winDayGustMin.",".$e->winDayGustMax.",".$e->TempOutMin.",".$e->TempOutMax.",".$e->TempInMin.",".$e->TempInMax.",".$e->UmOutMin.",".$e->UmOutMax.",".$e->UmInMin.",".$e->UmInMax.",".$e->PressureMin.",".$e->PressureMax.",".$e->wind_dir_ave." )";
$result1 = mysql_query($sql1) ;
if (!$result1) {
die("Errore nella query $query: " . mysql_error());
//die("Errore nella query $query: " . $sql);
}
mysql_close($con);
//codifica la classe in json.
$testo = json_encode($e);
//crea il file meteo.txt
try{
$fp = fopen('meteo.txt', 'w');
fwrite($fp, $testo);
fflush($fp);
fclose($fp);
}
catch(Exception $var){
}
echo 'OK';
class wugraphs {
public $uv = null;
public $hum_in = null;
public $temp_out = null;
public $temp_in = null;
public $illuminance = null;
public $winDayGustMax = null;
public $dew_point = null;
public $rain_rate = null;
public $wind_ave = null;
public $rain = null;
public $rel_pressure = null;
public $last_measure_time = "";
public $wind_dir = null;
public $hum_out = null;
public $wind_gust = null;
public $TempOutMin = null;
public $TempOutMax = null;
}
$swpipwd1 = $_POST['pwd'];
if ($swpipwd1 != $swpipwd)
{
die('Wrong password ');
}
//carica i valori nella classe wugraphs.
$e = new wugraphs();
$e->last_measure_time = $_POST['last_measure_time'];
$e->wind_dir = $_POST['wind_dir'];
$e->wind_ave = $_POST['wind_ave'];
$e->wind_gust = $_POST['wind_gust'];
$e->temp_out = $_POST['temp_out'];
$e->hum_out = $_POST['hum_out'];
$e->rel_pressure = $_POST['rel_pressure'];
$e->rain = $_POST['rain'];
$e->rain_rate = $_POST['rain_rate'];
$e->temp_in = $_POST['temp_in'];
$e->hum_in = $_POST['hum_in'];
$e->dew_point = $_POST['dew_point'];
$e->uv = $_POST['uv'];
$e->illuminance = $_POST['illuminance'];
$e->winDayGustMax = $_POST['winDayGustMax'];
$e->TempOutMin = $_POST['TempOutMin'];
$e->TempOutMax = $_POST['TempOutMax'];
$con = mysql_connect($server,$user,$pwd);
mysql_select_db($db);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
$sql2 = "INSERT INTO " . $dbprefix . "wugraphs (average_windspeed, wind_direction, gust_windspeed, temperature, outdoor_humidity, barometer, daily_rainfall, rain_rate, indoor_temperature, indoor_humidity, actual_solar_reading, max_daily_temperature, min_daily_temperature, max_gust_current_day, dew_point_temperature, datetime, davis_vp_uv) VALUES (".$e->wind_ave.",".$e->wind_dir.",".$e->wind_gust.",".$e->temp_out.",".$e->hum_out.",".$e->rel_pressure.",".$e->rain.",".$e->rain_rate.",".$e->temp_in.",".$e->illuminance.",".$e->TempOutMax.",".$e->TempOutMin.",".$e->winDayGustMax.",".$e->dew_point.",'".$e->last_measure_time."',".$e->uv." )";
$result2 = mysql_query($sql2) ;
if (!$result2) {
die("Errore nella query $query: " . mysql_error());
//die("Errore nella query $query: " . $sql);
}
mysql_close($con);
?>
Please Log in to join the conversation.
Una volta adattato il logger ai nuovi campi poi basta che lo richiami da swpi (quindi non usi più il plugin che hai messo). Oppure ti fai un nuovo plugin che chiama il nuovo logger.
Please Log in to join the conversation.
Please Log in to join the conversation.
- MeteoBisignano
- Offline
- Fresh Boarder
- Posts: 5
- Thank you received: 0
Please Log in to join the conversation.
Parte server da installare sul server WEB : server.zip
Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Please Log in to join the conversation.
- MeteoBisignano
- Offline
- Fresh Boarder
- Posts: 5
- Thank you received: 0
Please Log in to join the conversation.
TT
Please Log in to join the conversation.
- Sint Wind PI - Documentation
- Forum
- Volo Libero Monte Cucco
- Sint Wind PI
- Aiuto per configurazione server