Configurare un modulo DS3231 RTC su Raspberry Pi

Questo post mostra come installare e configuare il modulo RTC DS3231 su un Raspberry Pi.Se un Raspberry Pi non è sempre connesso ad Internet, in caso di riavvio o mancanza di corrente è possibile che il suo tempo di sistema sia errato. È possibile risolvere questo problema utilizzando un modulo Real Time Clock (RTC).

Quando un Raspbeerry Pi non è alimentato, il suo tempo di sistema è resettato all’avvio e quindi sincronizzato attraverso NTP (Network Time Protocol). Se però all’avvio non è disponibile nessuna connessione ad Internet, il tempo di sistema rimane non sincornizzato, e quindi errato. In applicazioni quali il monitoraggio di misure da sensori, questo può rappresentare un grosso problema. Per risolverlo è necessario installare un module RTC (Real Time Clock), alimentato a batteria.

Un modulo RTC DS3231

Riporto, in sintesi, una guida trovato su web per l’installazione e la configurazione di un modulo RTC DS3231 su Raspberry Pi 3.

Prerequisiti

Questa guida è stata testata utilizzando:

  • Un Raspberry Pi 3 mod B+, con la distribuzione Raspbian Stretch
  • Un modulo RTC DS3231, che può essere acquistato qui (amazon.it link).
Installare il modulo

Il modulo DS3231 può essere installato fisicament sui pin adiacenti 1-3-5-7-9. Ricordo che il pin 1 è quello di alimentazione.

Configurazione software

La configurazione software richiede solo due passi:

  1. Aggiungere nel file /boot/config.txt la riga seguente:
    dtoverlay=i2c-rtc,ds3231
  2. Modificare il file /lib/udev/hwclock-set, rimuovendo (o commentando con il cancelletto, #) le righe seguenti:
    if [ -e /run/systemd/system ] ; then
        exit 0
    fi
Test

Dopo aver riavviato, è possibile testare se il modulo RTC sia correttamente configurato con il comando:

$ sudo hwclock -r

che mostra il tempo corrente del modulo RTC.

Per ulteriore verifica, è possibile disabilitare la connettività del Raspberry (ad es. spegnendo il router di casa), spegnere il raspberry,  staccarne l’alimentatore, aspettare qualche minuto e quindi riavviarlo. Infine, utilizzando il comando:

$ date

che stampa il tempo del sistema, si può verificare se esso sia coerente con l’orario reale.

 

Leggi anche: The Raspberry Pi forums

Comments

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *