Possibili problemi Weewx su Raspberry Pi

Introduzione

L'esecuzione di Weewx su un Raspberry Pi è diventata molto popolare. Dovrai cercare altrove istruzioni generali sulla configurazione del tuo RPi, ma qui ci sono alcuni problemi specifici di Weewx.

Sincronizzazione dell'orario

Innanzitutto, devi semplicemente eseguire un servizio di sincronizzazione dell'ora. Non è possibile creare un sistema affidabile di registrazione dei dati senza un'accurata fonte di tempo. Vedi la guida Servizi temporali.

In secondo luogo, l'RPi non dispone di un orologio alimentato a batteria integrato. Invece, per impostazione predefinita, il software è configurato con un "orologio fasullo", che registra regolarmente l'ora sul disco rigido. Se si verifica un'interruzione di corrente, questo orario viene utilizzato per impostare l'orologio durante il riavvio. Sfortunatamente, potrebbe essere indietro di ore rispetto all'ora reale, a seconda di quanto tempo si è rimasti senza corrente.

Nel frattempo, se stai eseguendo Weewx come demone, anche Weewx si avvierà e proverà ad avviarsi con questo orario. Quando arriverà il momento di archiviare un record nel database, verrà archiviato con un timestamp troppo vecchio oppure potrebbe esserci già un record per quel timestamp (chiave primaria duplicata), rimasto prima dell'interruzione di corrente.

Alla fine, qualunque sia il servizio di sincronizzazione dell'ora che stai utilizzando, si avvia, trova un'origine dell'orario autorevole, quindi la imposta correttamente, ma ciò potrebbe richiedere diversi minuti e, a quel punto, il danno è stato fatto.

Ci sono alcune soluzioni. Eccone due.

• Aggiungere un orologio hardware

La soluzione migliore è aggiungere un orologio in tempo reale. Sono economici e risolvono il problema in modo permanente. Gli utenti hanno risolto con questi moduli:

  • Jameco Electronics
  • SunFounder DS3231
  • Makerfire DS1307
  • Modulo DS3231

Per i modelli Raspberry Pi-2, le istruzioni dettagliate per l'installazione di RTC e la configurazione di Raspbian sono disponibili sul sito Web WX Station di W0CHP (In Inglese).

• Rimuovere l'orologio fasullo

A partire dalla versione 3.4, Weewx non si avvierà fino a quando l'ora di sistema non sia successiva al 1 gennaio 2000. Quindi, una soluzione semplice è rimuovere l'orologio fasullo. Senza di questo, l'ora del sistema partirà letteralmente al "tempo zero", o unix epoch time zero, che è la mezzanotte del 1 gennaio 1970, molto prima di quanto Weewx si aspetta. Weewx rileva questo orario molto nel passato e va in standby fino a quando il servizio NTP non imposta l'ora reale. Poi procede.

A seconda della versione di Raspbian in esecuzione, ci sarà una delle due versioni di questi orologi fasulli. Prova questo:

$ sudo apt-get purge fake-hwclock

Se non funziona, prova questo:

$ sudo systemctl stop systemd-timesyncd
$ sudo systemctl disable systemd-timesyncd
Usare una scheda SD di alta qualità

La scheda SD fornita con la maggior parte degli RPi sembra essere di qualità molto bassa. Assicurati di usare una buona SD Classe 10. L'utente William Phelps riferisce: "Di solito è possibile individuare una scheda difettosa osservando il tempo di attesa dell'I/O del kernel. Una volta che la scheda inizia a funzionare, il tempo di attesa dell'I/O aumenterà in modo significativo".

Molti utenti hanno avuto fortuna con le migliori schede SD Sandisk. In ordine crescente di qualità (e spesa):

  • SanDisk Extreme
  • Sandisk Extreme Plus
  • Sandisk Extreme Pro
FTP

Molte versioni Raspbian di Debian non sembrano includere un client FTP. Potrebbe essere necessario installarlo se si prevede di utilizzarlo.

$ sudo apt-get install ftp
Usare un buon alimentatore

Molti problemi con l'RPi sembrano essere incentrati su alimentatori inadeguati. Molte stazioni meteorologiche possono richiedere molta corrente attraverso la loro connessione USB. Assicurati che il tuo RPi possa fornirla, procurandoti un buon alimentatore o, in alternativa, utilizzando un hub USB alimentato. Il caricabatterie Samsung 5V 2A è essenzialmente valido.

Eseguire un server web leggero

L'RPi è sorprendentemente potente per le sue dimensioni, ma ha i suoi limiti. Se prevedi di eseguire un server web su di esso, magari per servire la tua casa, usane uno leggero, come lighttpd o nginx. Apache funziona, ma utilizza molta più memoria.

Autore: Tom Keffer