So verwenden Sie Echtzeituhr mit dem Raspberry Pi

So verwenden Sie Echtzeituhr mit dem Raspberry Pi
Raspberry Pi verfolgt die Zeit mit dem Internet, aber wenn es kein Netzwerk gibt, kann dies eine problematische Situation für Benutzer sein, die an einigen zeitbasierten Projekten arbeiten. Für eine solche Situation gibt es ein I2C -Protokoll in Raspberry Pi. I2C ist eine interintegrierte Schaltung, mit der Raspberry PI an eine Echtzeituhr (RTC) angeschlossen werden kann, um die richtige Zeit zu verfolgen, selbst wenn es kein Internet gibt.

In diesem Artikel sehen Sie die Methode, eine Echtzeituhr zu verwenden, um die Zeit auf Raspberry Pi zu verfolgen.

So verwenden Sie eine Echtzeituhr (RTC) mit dem Raspberry Pi

RTC ist ein kleines Hardwaremodul, mit dem das genaue Datum und die Zeitverfolgung beibehalten werden. Ein RTC -Modul besteht aus einer I2C -Schnittstelle, an die es mit Raspberry Pi verbunden werden kann. Normalerweise besteht ein RTC -Modul aus 4 Stiften, aber es könnte mehr Stifte geben. Die vier Grundstifte von RTC, die zur Verbindung von RTC mit Raspberry PI verwendet werden, sind:

  • SDA Pin
  • SCL Pin
  • GND Pin
  • 5 V oder VCC PIN

Alle diese Stifte sind im Bild unten gekennzeichnet. Die Farbe des RTC -Moduls kann variieren, dass es blau, grün oder rot sein kann:

Der Raspberry Pi hat auch ein I2C -Protokoll -Pins SDA und SDL unter Pin -Nummer 3 und 5, um es mit dem RTC -Modul zu verbinden. Um den Raspberry PI mit einem RTC -Modul zu verbinden, verwenden wir 4 Raspberry PI -Stifte, die im Bild unten hervorgehoben sind:

Befolgen Sie die folgenden Schritte, um RTC mit Raspberry Pi zu verwenden:

Schritt 1: Hardwarekonfiguration

Verwenden Sie zum Erstellen der Hardwarekreis von Raspberry Pi und RTC das folgende Schaltplan

  • SDA von RTC an Pin 3 von Raspberry Pi
  • SCL von RTC an Pin 5 von Raspberry Pi
  • GND von RTC an Pin 14 (GND) von Raspberry Pi
  • 5 V oder VCC an Pin 2 von Raspberry Pi

Schritt 2: Aktivieren Sie I2C auf Raspberry Pi

Sie müssen aktivieren I2C Schnittstelle auf Raspberry Pi durch Öffnen des Raspberry PI -Konfigurationstools mit dem folgenden Befehl:

$ sudo raspi-config

Gehe zum Schnittstellenoptionen und schlagen Eingeben:

Geben Sie dann weiter die ein I2C Option zum Aktivieren des I2C -Protokolls auf Raspberry PI:

Danach werden Sie um eine Erlaubnis gebeten, das I2C -Protokoll zu aktivieren, wählen Sie Ja Hier:

Eine Eingabeaufforderung wird anscheinend darüber informieren, dass die I2C aktiviert; klicken OK Hier:

Klicken Sie dann auf die Beenden Taste, um den Vorgang abzuschließen.

Schritt 3: Stellen Sie sicher

Stellen Sie nach dem Aktivieren von I2C sicher, dass Ihr RTC-Hardware-Modul korrekt mit Raspberry Pi verbunden ist und dies durch Ausführen des folgenden Befehls bestätigt werden kann:

$ sudo i2cdetekt -y 1 1

Wenn die Ausgabe des Befehls die angezeigt hat ID# 68 Dann bedeutet dies, dass die Platine richtig angeschlossen ist:

Jetzt bearbeiten wir die Start-/Konfigurationsdatei, um die RTC -RTC -Zeit für Raspberry zu richten:

$ sudo nano /boot /config.txt

Gehen Sie nach dem Öffnen der Datei nach unten in der Datei und abhängig vom RTC-Modul, das Sie verwenden, um die unten erwähnte Zeile zu ändern und am unteren Rand des Boot-/Konfigurationsdatei zu schreiben:

Syntax

DTOVERLAY = I2C-RTC,

Die drei häufig verwendeten RTC -Module sind DS1307, DS3231 Und PCF8523 Sie können überprüfen, welche Sie verwenden, und den Text danach ändern.

Beispiel

Ich benutze die DS1307 Modul, so dass ich diesen Befehl unten geschrieben habe:

DTOVERLAY = I2C-RTC, DS1307

Speichern Sie dann die Datei mit den Tasten Strg+x Und Y.

Starten Sie nun das System neu, indem Sie den folgenden Befehl unter geschriebenen verwenden, damit der RTC-Kernel geladen werden kann:

$ sudo Neustart

Führen Sie nun nach einem Neustart den Befehl i2c Erkennung erneut aus und Sie sollten a sehen UU (bedeutet, Gerät oder Ressource ist besetzt) ​​anstelle von Nummer 68. Der UU bestätigt, dass der Kernel erfolgreich geladen wird und das RTC -Modul endlich mit Raspberry Pi kommuniziert:

$ sudo i2cdetekt -y 1 1

Da die RTC mit Raspberry Pi kommunizierte, ist es also an der Zeit, die alte gefälschte Uhr in Raspberry Pi zu entfernen, und führen Sie zu diesem Zweck den folgenden Befehl aus:

$ sudo apt -y entfernen Sie Fake -Hwclock

Führen Sie den folgenden Befehl unten aus, um gefälschte Uhr auch aus den Startskripten in Raspberry Pi vollständig zu entfernen:

$ sudo update-rc.D -f FAKE -HWCLOCK REMENDEN

Jetzt ist es an der Zeit, das RTC-Hardware-Skript mithilfe von NANO-Editor zu bearbeiten und den folgenden Befehl auszuführen:

$ sudo nano/lib/udev/hwclock set

In der Datei finden Sie den Text, der im Bild unten hervorgehoben ist:

Kommentieren Sie alle drei Zeilen, indem Sie hinzufügen # vor ihnen:

Um die Zeit direkt aus dem RTC-Modul zu lesen, führen Sie den folgenden Befehl unten aus:

$ sudo hwclock -d -r

Führen Sie dann den folgenden Befehl aus, um herauszufinden, dass das Datum des Systems zu diesem Zeitpunkt sichergestellt ist, dass Ihr Raspberry Pi mit Wi-Fi oder Ethernet angeschlossen ist, um das richtige Datum zu erhalten:

$ Datum

Führen Sie nun den Befehl unten geschrieben aus, um das richtige Datum (das Sie gerade oben nach Datumsbefehl gesehen haben) auf das RTC-Modul zu schreiben:

$ sudo hwclock -W

Und nun zu überprüfen, ob das Datum korrekt in das RTC -Modul geschrieben wurde Datum Befehl, das Datum des Systems zu finden und hwclock -r Befehl zum Finden der RTC -Modulzeit und beides sollte gleich sein:

$ Datum
$ sudo hwclock -r

Abschluss

Das RTC -Modul kann mit Himbeer -PI unter Verwendung des i2C -Synchronprotokolls verbunden werden. Die Hardware- und Softwarekonfiguration zur Verwendung von RTC mit Raspberry Pi wird im Artikel ausführlich erörtert. Sobald der RTC korrekt mit Raspberry PI konfiguriert ist, zeigt Ihr System auch dann, wenn Sie nicht mit dem Netzwerk verbunden sind.