- Messaggi: 1523
- Karma: 9
- Ringraziamenti ricevuti 240
- Sint Wind PI - Documentation
- Forum
- Volo Libero Monte Cucco
- Sint Wind PI
- File LOG su SD unico e pesante dopo diversi giorni
Postate qui domande o segnalate problemi / bug che riscontrate,
File LOG su SD unico e pesante dopo diversi giorni
Credo che sei cmq sulla buona strada.
TT
Si prega Accedi a partecipare alla conversazione.
- Messaggi: 551
- Karma: 1
- Ringraziamenti ricevuti 55
ho seguito i consigli di Roberto ma ho fatto solo piccoli progressi...
controllando i file indicati da Roberto ho visto che all'avvio il sistema legge la data/ora dal file /etc/fake-hwclock.data che essendo in una partizione protetta (ro) non può essere aggiornato dal sw.....
da questo è stato necessario creare un symlink, come suggerito da Ulisse, che punti il file in una partizione che consenta al sw di aggiornarlo,
quindi ho seguito le indicazioni di Ulisse spostando il file fake-hwclock.data nella cartella /swpi/log.......
il problema a questo punto è fargli leggere all'avvio il file fake-hwclock.data aggiornato, infatti, come si vede nella foto del mio post precedente , quando creo il symlink /etc/fake-hwclock.data verso /swpi/log/fake-hwclock.data il sistema all'avvio non riesce a leggere il file restituendo un messaggio che il file non esiste,
impostando cosi la data di default 01/01/1970, mentre invece durante il funzionamento lo 'scrive' regolarmente (nel file /swpi/log/fake-hwclock.data) aggiornando la data/ora al suo interno...
invece se lascio il file originale /etc/fake-hwclock.data il sistema all'avvio legge il file correttamente ( vedi altro mio post ) ma non può aggiornare il file (in partizione ro) quindi restiamo nella stessa situazione...
c'è da dire però che swpi quando parte ha già la data giusta
[30/05/2017-22:11:49] Dir: E - Spd: 0.0 - Gst: 0.0 - Tout: 28.8 - Tin: 30.3 - Hout: 43.0 - Hin: 39.3 - P: 1020 - Rtot: 0.0 - RDay: 0.0 - R1h: 0.0 - R24h: 0.0 - CB: 1717 - Trend: 0.00
[30/05/2017-22:12:05] Last main Thread delay ratio: 0.6
/
/
[31/05/2017-07:30:03] Starting SINT WIND PI ...
************************************************************************
* Sint Wind PI 01.24.03 *
* *
* 2012-2017 by Tonino Tarsi <tony.tarsi@gmail.com> *
* *
* System will start in 10 seconds - Press Ctrl-C to cancel *
************************************************************************
10.....9.....8.....7.....6.....5.....4.....3.....2.....1.....
[31/05/2017-07:30:16] loading plugins
[31/05/2017-07:30:16] Starting sensor reading - Sensor type is : WH1080_RTL-SDR
[31/05/2017-07:30:16] Config Server running on port 80
[31/05/2017-07:30:16] Checking internet connection ...
[31/05/2017-07:30:16] Internet ok
[31/05/2017-07:30:16] Checking internet connection ...
[31/05/2017-07:30:16] Internet ok
mer 31 mag 2017, 07.30.16, CEST
[31/05/2017-07:30:16] System time adjusted from NTP server : europe.pool.ntp.org
[31/05/2017-07:30:16] Connected with IP :213.82.205.73
[31/05/2017-07:30:16] Starting General WatchDog
mer 31 mag 2017, 07.30.17, CEST
[31/05/2017-07:30:17] System time adjusted from NTP server : europe.pool.ntp.org
[31/05/2017-07:30:17] RTL-SDR-compatible USB DVB-T dongle detected.
[31/05/2017-07:30:22] Warning could not delete wh1080-rtl_433.txt file
[31/05/2017-07:30:22] Starting RF listening
[31/05/2017-07:31:02] First data received from WH1080_RTL-SDR, station 0011. Processing...
[31/05/2017-22:11:50] BME280 - Temperature: 30.6 C Pressure: 1018.9 humidity 44
[31/05/2017-22:11:50] Calculating Meteo data and statistics
[31/05/2017-22:11:52] Logging data to Database
[31/05/2017-22:11:52] Dir: E - Spd: 0.0 - Gst: 0.0 - Tout: 28.8 - Tin: 30.6 - Hout: 47.0 - Hin: 43.5 - P: 1022 - Rtot: 0.0 - RDay: 0.0 - R1h: 0.0 - R24h: 0.0 - CB: 1548 - Trend: 0.00
/
/
[01/06/2017-07:29:54] Starting SINT WIND PI ...
************************************************************************
* Sint Wind PI 01.24.03 *
* *
* 2012-2017 by Tonino Tarsi <tony.tarsi@gmail.com> *
* *
* System will start in 10 seconds - Press Ctrl-C to cancel *
************************************************************************
10.....9.....8.....7.....6.....5.....4.....3.....2.....1.....
[01/06/2017-07:30:07] loading plugins
[01/06/2017-07:30:07] Starting sensor reading - Sensor type is : WH1080_RTL-SDR
[01/06/2017-07:30:07] Config Server running on port 80
[01/06/2017-07:30:07] Checking internet connection ...
[01/06/2017-07:30:08] Internet ok
[01/06/2017-07:30:08] Checking internet connection ...
[01/06/2017-07:30:08] Internet ok
gio 1 giu 2017, 07.30.08, CEST
[01/06/2017-07:30:08] System time adjusted from NTP server : europe.pool.ntp.org
[01/06/2017-07:30:08] Connected with IP :213.82.205.73
[01/06/2017-07:30:08] Starting General WatchDog
gio 1 giu 2017, 07.30.08, CEST
[01/06/2017-07:30:08] System time adjusted from NTP server : europe.pool.ntp.org
[01/06/2017-07:30:08] RTL-SDR-compatible USB DVB-T dongle detected.
[01/06/2017-07:30:13] Warning could not delete wh1080-rtl_433.txt file
[01/06/2017-07:30:13] Starting RF listening
[01/06/2017-07:31:03] First data received from WH1080_RTL-SDR, station 0011. Processing...
ma il file log viene scritto sempre con la data 01011970 quindi non produce i file giornalieri ma scrive sempre lo stesso.....
manca davvero poco ma credo di essere al mio limite.....
Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Si prega Accedi a partecipare alla conversazione.
Basta copiare l'allegato loghelper.py in /swpi, cambiargli i permessi (chmod) a 755 e modificare swpi.sh sostituendo il suo contenuto con quanto segue:
#! /bin/bash
cd /home/pi/swpi
sudo python -u swpi.py 2>&1 | /swpi/loghelper.py
Riavviare infine Swpi (o la Rasp). Da questo momento i dati di log verranno sparati correttamente nel file relativo alla data attuale, mentre rimane inalterato il log "davis_xxxx2017.log" che mi pare non soffra di questo problema. Al cambio data di mezzanotte verrà creato un nuovo datalog che riceverà i dati delle successive 24 ore e così via.
Naturalmente resta aperto il problema della data esatta: se la Rasp non potesse connettersi al suo avvio ad un server NTP, creerà il file di log secondo la data che
più le aggrada.... In questo caso però mi sento di suggerire l'investimento dei pochissimi euro necessari all'acquisto di un modulo RTC (Real Time Clock) come quelli che è possibile trovare qui (a puro titolo di esempio) : l'installazione/configurazione è abbastanza semplice e ci si toglie il problema una volta per tutte.
Ciaoo!
Si prega Accedi a partecipare alla conversazione.
- Messaggi: 551
- Karma: 1
- Ringraziamenti ricevuti 55
ho provato le tue indicazioni ma con V.2 non funzionano....
riguardo al modulo RTC ci avevo già pensato ma avevo letto che anche lui scrive il file etc/fake-hwclock.data e quindi saremo daccapo.....
sai dirmi di più su quest'argomento?
Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Si prega Accedi a partecipare alla conversazione.
Valerio, prova a cambiare la priorità di avvio del servizio con i seguenti comandi e guarda cosa succede:
rw
sudo mv /etc/rcS.d/S01fake-hwclock /etc/rcS.d/S99fake-hwclock
ro
Si prega Accedi a partecipare alla conversazione.
- Messaggi: 551
- Karma: 1
- Ringraziamenti ricevuti 55
si aggiorna solo il file fake-hwclock nella cartella swpi/log dopo che ho creato il symlink...
il problema è che il sistema, in avvio, non riesce a leggere il file in swpi/log e quindi non aggiorna la data mettendo come data di default 01011970....
bisognerebbe risolvere questo....
Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Si prega Accedi a partecipare alla conversazione.
Il file nella cartella /etc non può mai essere aggiornato in quanto è in sola lettura, ma una volta creato il link il file risiede "fisicamente" in un'altra partizione.
Se all'avvio il sistema va a cercare il file ma la partizione non è ancora montata, il link punta ad un file inesistente.
Si prega Accedi a partecipare alla conversazione.
asy961 ha scritto: Ciao Nicola,
ho provato le tue indicazioni ma con V.2 non funzionano....
riguardo al modulo RTC ci avevo già pensato ma avevo letto che anche lui scrive il file etc/fake-hwclock.data e quindi saremo daccapo.....
sai dirmi di più su quest'argomento?
Ciao Valerio,
puoi verificare a questo link che tra le operazioni da eseguire per abilitare il modulo Real Time Clock c'è proprio quella di rimuovere in toto il pacchetto fake-hwclock in quanto interferisce con il vero (RTC) "hwclock" che stiamo installando:
Disable the "fake hwclock" which interferes with the 'real' hwclock
sudo apt-get -y remove fake-hwclock
sudo update-rc.d -f fake-hwclock remove
Per quanto riguarda lo script che non funziona con la V.2 farò una prova al più presto per vedere qual è il problema, sperando di risolverlo e postare poi lo script aggiornato.
Si prega Accedi a partecipare alla conversazione.
- Messaggi: 551
- Karma: 1
- Ringraziamenti ricevuti 55
ulisse ha scritto: Se lanciando fake-hwclock manualmente il file viene aggiornato, mi viene da pensare che il servizio venga eseguito prima che la partizione sia stata montata...
Valerio, prova a cambiare la priorità di avvio del servizio con i seguenti comandi e guarda cosa succede:
rw sudo mv /etc/rcS.d/S01fake-hwclock /etc/rcS.d/S99fake-hwclock ro
Ulisse....non funziona nemmeno questo....
Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Si prega Accedi a partecipare alla conversazione.
(10.....9.....8.....7.....6.....5.....4.....3.....2.....1.....). Naturalmente ciò non influisce in alcun modo sul file di log, che si presenta esattamente come dovrebbe essere.
Per quanto riguarda il fake-hwclock confermo che spostarlo su una directory scrivibile e linkarlo da /etc non funziona, nemmeno mettendolo a S99 come (giustamente) suggeriva Ulisse. Probabilmente il sistema operativo va a leggersi il file nel primissimo stadio di avvio e per qualche motivo non lo trova, e non trovandolo assume come ora di sistema l'ora Unix 0 che equivale all' 1/1/1970.
Una soluzione potrebbe essere quella di rimetterlo al suo posto (/etc/fake-hwclock.data), mettere periodicamente -diciamo una volta ogni ora- (via CRON) il sistema in RW, fargli fare l'update del file e poi rimetterlo in sola lettura, ma ne varrà la pena?... Il rischio è che (con un po' di sfiga...) il sistema rebooti proprio in quei secondi di RW, mandando all'aria la sicurezza fornita dall'RO che caratterizza il sistema normalmente.
Resto quindi dell'opinione che un modulo RTC sia quanto mai indispensabile in casi come questo e insieme allo script python possa risolvere il problema in maniera definitiva: Il RTC fornirà al sistema la data corretta anche dopo un reboot, lo script gestirà correttamente i file di log secondo la data di creazione.
Valerio, se ancora lo script non ti funziona mi posteresti il contenuto del tuo swpi.sh e che tipo di errore ti dà? Ovviamente partiamo dal fatto che la data deve essere corretta, altrimenti... No che non funziona!
Si prega Accedi a partecipare alla conversazione.
- Messaggi: 551
- Karma: 1
- Ringraziamenti ricevuti 55
per il momento ho spento il raspi che tengo al banco per le prove.....
cmq errori non ne da...nemmeno con il tuo script....solo che non genera i file log come hai descritto
per la data corretta cosa intendi?? quando si accende è 01011970 poi si aggiorna tramite ntp come sempre.....
l'uovo di colombo è riuscire a far scrivere il file /etc/fake-hwclock altrimenti....
ho cmq ordinato l'rtc.....appena arriva riprendo gli esperimenti.....intanto se avete qualche altra idea io resto sintonizzato.....
Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Si prega Accedi a partecipare alla conversazione.
- roberto2011
- Offline
- Moderatore
hallard.me/raspberry-pi-read-only/
Sensori Davis +BME280 + Raspberry b+ webCam serrasanta.fleanet.it (Eremo di Serrasanta - Gualdo Tadino - 1.340 m s.l.m.)
Si prega Accedi a partecipare alla conversazione.
if (command -v fake-hwclock >/dev/null 2>&1) ; then
mount -o remount,rw /
fake-hwclock save
mount -o remount,ro /
fi
... Un comando Cron mette periodicamente il sistema in RW, gli fa salvare data ed ora di fake-hwclock e poi rimette il sistema in RO
@Valerio: nessun problema, tranquillo. Per curiosità: quando avrai tempo potresti fare una prova di questo genere? Ferma il processo di SWPI, cancella tutti i files di log in /swpi/log e poi riavvia la Raspberry: dopo qualche minuto dovresti trovare sia il log del 1/1/1970 (creato nei primi istanti di avvio di swpi) che quello della data corrente (creato non appena la Raspberry sincronizza la data con NTP). Giusto per curiosità!
Si prega Accedi a partecipare alla conversazione.
- Messaggi: 551
- Karma: 1
- Ringraziamenti ricevuti 55
crea solo il file log01011970.log e nient'altro....
anche il conto alla rovescia che tu dici di vederlo in consolle tutto insieme non va, a me continua a fare il conto alla rovescia normalmente....
ho ricontrollato riga per riga il file swpi.sh ed è corretto....
ho ricontrollato il file loghelper.py ed è corretto....
non saprei
@roberto
proverò la soluzione indicata nel tuo link...
se funziona proverò a tenerlo acceso qualche giorno in test.....
a dire il vero a me basterebbe che il cron fosse giornaliero, una volta all'inizio del giorno, non ha importanza che si aggiorni ogni ora...
Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Si prega Accedi a partecipare alla conversazione.
se vedi ancora il conto alla rovescia secondo per secondo allora no che non ci siamo, però solo il Grande Giove sa il perché
L'unica cosa che mi viene in mente è che ci sia una magagna nel batch (swpi.sh), che non lancia correttamente lo script... Una piccola svista c'è in verità, ma almeno nei miei test è irrilevante, però se vuoi prova. Va trasformato così:
#! /bin/bash
cd /home/pi/swpi
sudo python -u swpi.py 2>&1 | ./loghelper.py
Per completezza di informazione ti rammento che loghelper.py va copiato direttamente in /swpi (dove ci sono tutti gli altri files python che compongono Swpi), va posto come permessi (chmod) a 755 e per sicurezza riassegna il proprietario (chown) a pi:root .
Davvero più di così non mi viene in mente altro, il passo successivo potrebbe essere solo il connettermi in remoto alla tua Rasp per capire cosa (non) fa!
Si prega Accedi a partecipare alla conversazione.
- Messaggi: 551
- Karma: 1
- Ringraziamenti ricevuti 55
grazie come sempre per l'impegno che ci metti....
nonostante le ultime dritte che mi hai dato, sul mio sistema non funziona....
sto testando invece le modifiche indicate nel link di Roberto e pare che funzionino....
devo dire però che ho smanettato un bel pò su questa immagine e dovrei riprovare le tue modifiche ripartendo da un immagine pulita.....
lo farò in questi giorni e farò sapere....
Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Si prega Accedi a partecipare alla conversazione.
Si prega Accedi a partecipare alla conversazione.
- Messaggi: 551
- Karma: 1
- Ringraziamenti ricevuti 55
ci rimetterò le mani più avanti quando il tempo me lo premetterà,
però se nel frattempo qualcu'naltro risolve avrà la mia gratitudine
Valerio
Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Si prega Accedi a partecipare alla conversazione.
ho fatto un plugin che ogni ora (impostabile) mette il sistema in RW, scrive la data di istema ed aggiorna il fake hwclock, e lo rimette in ro.
Funziona tutto alla grande, avendo impostato il reboot alle 23:59 visualizzo sempre il log nominato "un giorno prima", ma ne crea di nuovi ad ogni reboot, senza modificare null'altro (se non nell'installare il plugin).
Lo trovi a questo indirizzo nel mio ultimo post (serve anche a non far perdere i valori della pioggia al reboot, se impostato ad 1h):
www.vololiberomontecucco.it/vlmc/index.p...la-pioggia-al-reboot
Si prega Accedi a partecipare alla conversazione.
- Messaggi: 551
- Karma: 1
- Ringraziamenti ricevuti 55
cmq grazie, appena posso lo proverò, le stazioni che seguo sono in montagna e non ho controlli remoti ma devo intervenire sul luogo.....
Valerio
Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Si prega Accedi a partecipare alla conversazione.
- Messaggi: 551
- Karma: 1
- Ringraziamenti ricevuti 55
grazie a Ciaschini che in questo post
www.vololiberomontecucco.it/vlmc/index.p...oggia-al-reboot#8177
mi ha dato un'idea che ho provato per diverse settimane e pare funzioni senza effetti collaterali.......
in pratica sfruttando l'idea faccio scrivere la data e l'ora una sola volta all'avvio di swpi cercando di limitare al massimo il sistema in modalità rw.....
io ho fatto cosi......
in TTLib.py ho aggiunto queste righe
e in swpi.py queste altre prima dell'avvio di swpi (conto alla rovescia)
e adesso genera un file log per ogni giorno......
Tony che ne pensi?
Valerio.
.
Stazione Meteo: Raspberry PI B, Sensori Vento PCE, BME280, Camera PI, Web Cam HD, Huawei K3765, Pannello Fotovoltaico 50W - 1 Batteria 12V-40Ah
Si prega Accedi a partecipare alla conversazione.
- Sint Wind PI - Documentation
- Forum
- Volo Libero Monte Cucco
- Sint Wind PI
- File LOG su SD unico e pesante dopo diversi giorni