Inhaltsverzeichnis:

Raspberry Pi Amateurfunk-Digitaluhr - Gunook
Raspberry Pi Amateurfunk-Digitaluhr - Gunook

Video: Raspberry Pi Amateurfunk-Digitaluhr - Gunook

Video: Raspberry Pi Amateurfunk-Digitaluhr - Gunook
Video: Raspberry Pi / RTL-SDR For Radio Amateurs - The Easy Way! 2024, November
Anonim
Raspberry Pi Amateurfunk Digitaluhr
Raspberry Pi Amateurfunk Digitaluhr

Überblick

Amateurfunker (auch bekannt als HAM-Radio) verwenden für einen Großteil ihres Betriebs die 24-Stunden-UTC (Universal Coordinated Time). Ich beschloss, eine Digitaluhr mit den kostengünstigen 4-stelligen TM1637-Displays und einem Raspberry Pi Zero W anstelle einer GUI-Uhr zu bauen. (Hardware macht Spaß!)

Das TM1637-gesteuerte Display verfügt über vier 7-Segment-LEDs mit einem mittleren Doppelpunkt „:“zwischen zwei Ziffernsätzen. Es erfordert zwei Drähte, um das Display zu betreiben, plus 5 V + und Masse für insgesamt 4 Drähte.

Für dieses spezielle Projekt wollte ich, dass der Raspi seine Zeit von NTP-Servern (Network Time Protocol) über das Internet bezieht. Ich plane eine weitere Version dieser Uhr, die auf einem Arduino Uno und einem Echtzeituhrmodul läuft, wenn kein WLAN verfügbar ist und für einen tragbareren Betrieb.

Ich wollte auch, dass die Uhr die Ortszeit im 12- und 24-Stunden-Format sowie UTC im 12- und 24-Stunden-Format anzeigt. Die Software ist so konzipiert, dass Sie nur UTC 24 Stunden (typische Hams) oder unterschiedliche Zeiten auf bis zu 4 verschiedenen Displays verwenden können.

Sie können auch die ZEITZONE einstellen, die Sie anstelle der standardmäßigen Ortszeit verwenden möchten. So könnte jedes der vier Displays eine andere Zeitzone und im 12- oder 24-Stunden-Format anzeigen.

Dieses Projekt erfordert das Löten von Anschlüssen oder Drähten auf den Pi- und / oder den tm1637-Modulen.

Vollständige Anweisungen sind auch auf GITHUB verfügbar:

Schritt 1: Anforderungen

Anforderungen
Anforderungen

• Raspberry Pi2, 3 oder Zero W. (d. h. jeder Pi mit dem 40-Pin-Header und Ethernet/Wifi)

• 4 - TM1637 4-stellige Anzeigemodule

Und/oder

HINWEIS: Sie können größere oder kleinere verwenden, solange sie mit TM1637 kompatibel sind.

• Kabelbaum mit 16 Drähten (jeder TM1637 benötigt 4 Drähte)

• Lötfreies Steckbrett und Drähte Oder

• Lötfähiges Steckbrett und verschiedene Stiftanschlüsse.

• 8 GB MicroSD oder größer für Pi

• 5V-Netzteil für Pi.

Schritt 2: Softwareinstallation

Diese Anwendung verwendet die einfach zu verwendende Python-Bibliothek TM1637.py, die von Tim Waizenegger geschrieben wurde. (Wenn Sie Details über die Bibliothek haben möchten, besuchen Sie:

Wusstest du schon?

Wenn Sie Raspbian mit einem PC auf einer SD-Karte installieren, können Sie zwei Dateien auf der Karte erstellen, um den WLAN- und SSH-Zugriff zu konfigurieren, bevor Sie es auf einem Raspberry booten?

Nehmen Sie dazu an, dass Ihre SD-Karte derzeit als K: auf Ihrem PC gemountet ist:

1) Installieren Sie das Raspbian Lite-Image auf der SD.

www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit

2) Erstellen Sie mit Notepad eine Datei mit dem Namen "ssh" und verwenden Sie "Speichern unter "Alle Dateien" in K:\ssh

Die Datei kann alles enthalten. Wichtig ist der Dateiname. Darf NICHT „ssh.txt“sein!!!

3) Erstellen Sie mit Notepad eine zweite Datei namens „wpa_supplicant.conf“mit folgendem Inhalt:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1 network={ ssid="mySSID" psk="mypassword" key_mgmt=WPA-PSK }

Verwenden Sie Speichern unter „Alle Dateien“in K:\wpa_supplicant.conf

Auch hier, lassen Sie Notepad es nicht in „wpa_supplicant.conf.txt“ändern!!

Wenn Sie den Raspberry zum ersten Mal booten, sucht Raspbian nach diesen und verbindet sich mit Ihrem Wifi. Sie müssen jedoch auf Ihrem Router nach der IP-Adresse suchen, da sie automatisch zugewiesen wird.

Schritt 3: Softwareinstallation - Pt.2

1. Falls noch nicht geschehen, installieren Sie die Raspbian Lite-Version auf einer 8 GB oder größeren microSD-Karte. Sie benötigen NICHT die GUI-Version, da dieses Projekt keinen Monitor oder keine Tastatur verwendet.

HINWEIS!: Dieses Projekt erfordert Python2.7!

www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit

2. Sie müssen über SSH aus der Ferne auf den Raspberry zugreifen. Unter Windows können Sie das Terminalprogramm PUTTY SSH verwenden. Rufen Sie auf einem Mac einfach ein Befehlsterminalfenster auf.

3. Stecken Sie die microSD-Karte in den Pi und stecken Sie jetzt die Stromversorgung ein. Das Booten dauert einige Minuten.

4. Um sich remote bei Ihrem Raspberry Pi anzumelden, müssen Sie dessen IP-Adresse ermitteln. Sie können versuchen: $ ssh [email protected] (Oder von Putty, geben Sie den Hostnamen [email protected] ein. Andernfalls müssen Sie sehen, ob Ihr Router die IP-Adressen Ihrer lokalen Geräte anzeigt. Standard-ID/Passwd ist „pi /Himbeere"

Einmal als pi-Benutzer angemeldet:

5. Aktualisieren Sie Ihr Raspbian: $ sudo apt update $ sudo apt upgrade

6. Konfigurieren Sie den Raspberry: $ sudo raspi-config a. Benutzerkennwort ändern b. Lokalisierungsoptionen -> Zeitzone ändern Wählen Sie Ihre lokale Zeitzone aus. c. Tab zum Beenden

7. Installieren Sie die RaspiDigiHamClock-Software: $ cd /home/pi $ sudo apt update $ sudo apt install git $ git clone

8. Schalten Sie Ihren Pi aus, um die Hardware einzurichten $ Shutdown jetzt Nachdem die LED erloschen ist, trennen Sie den Strom

Schritt 4: Hardwareverkabelung

Hardware-Verkabelung
Hardware-Verkabelung
Hardware-Verkabelung
Hardware-Verkabelung
Hardware-Verkabelung
Hardware-Verkabelung

Sie können Anschlüsse an die TM1637-Module und den Raspberry Pi anlöten (falls dieser noch nicht über einen Anschluss verfügt). Entscheiden Sie vor Beginn, wie Sie die Displays montieren möchten und ob Sie ein Steckbrett oder Lötdrähte direkt auf die Pi- und Display-Module verwenden.

TM1637 Modulstifte

Verdrahtungshinweis: Einige tm1637-Module drehen die +5V- und GND-Pins um! Kann also nicht wie auf den Fotos erscheinen.

Das TM1637-Modul ist ein 4-stelliges LED-Anzeigemodul, das den TM1637-Treiberchip verwendet. Es benötigt nur zwei Anschlüsse, um die 4-stellige 8-Segment-Anzeige zu steuern. Zwei weitere Drähte versorgen 5+ Volt Strom und Masse.

PIN DESC CLK Clock DIO Data In GND Masse 5V +5 Volt

Einige tm1637-Module drehen die +5V- und GND-Pins um, also überprüfen Sie die Markierungen Ihres Moduls

Testen Sie jedes Modul. Schließen Sie dann das erste Modul vorübergehend an die unten gezeigten Pins an.

TEMPORÄRER TEST EIN MODULETM1637 Modul Pin Pi Physische Pin# 5V 2 GND 6 CLK 40 DIO 38 Siehe die GPIO-Diagramme weiter unten, um die Pin-Layouts zu finden.

Das zweite Foto zeigt zwei Displays, die bei laufender Software vorübergehend mit einem Raspberry Pi 3 verbunden sind.

1. Sobald Sie ein Modul vorübergehend verkabelt und Ihre Verkabelung überprüft haben

2. Schalten Sie den Raspberry Pi ein. Die rote LED am Modul sollte leuchten, aber es wird noch KEINE ANZEIGE angezeigt.

3. SSH wieder wie zuvor in Ihren Pi.

$ cd RaspiDigiHamClock

$ python test.py

Sie sollten sehen, dass das Display durch verschiedene Kurznachrichten wechselt. Falls nicht, überprüfen Sie zuerst Ihre Verkabelung! Es ist einfach, ein Kabel umzudrehen oder in den falschen GPIO-Pin am Pi zu stecken. Wenn Sie eine Python-Fehlermeldung erhalten, überprüfen Sie Ihre Python-Version mit:

$ python -V (Großbuchstabe „V“)

Python 2.7. X

Ich habe nicht gegen Python 3 getestet, bin mir also nicht sicher, ob die Bibliothek kompatibel ist.

Kopieren Sie die Fehlermeldung (normalerweise die letzte Zeile des Fehlers) und fügen Sie sie in die Google-Suche ein. Dies kann einen Hinweis darauf geben, was passiert ist.

Wenn Ihr Modul funktioniert, herzlichen Glückwunsch! Sie wissen, dass das Modul und Pi funktionieren. Wiederholen Sie dies nun für jedes Modul, um es zu testen. (Ich schlage vor, Pi herunterzufahren und auszuschalten, BEVOR Module angeschlossen / entfernt werden !!)

$ sudo jetzt herunterfahren

Schritt 5: GPIO-Pins auf Raspi

GPIO-Pins auf Raspi
GPIO-Pins auf Raspi
GPIO-Pins auf Raspi
GPIO-Pins auf Raspi
GPIO-Pins auf Raspi
GPIO-Pins auf Raspi

Dieses Projekt verwendet die physischen GPIO-BOARD-IDs für die Pins.

Das ist Pin 1 bis Pin 40. Nicht die „BCM“GPIO-Pin-Nummerierung. (Ja, etwas verwirrend, aber BOARD ist nur die Pinanzahl von oben links nach unten rechts.)

Anzeigemodul TM1637 Modul Pin Pi Physikalischer Pin#Strom 5V 2 Masse GND 6

Modul #1 CLK 33

DIO 31

Modul #2 CLK 36

DIO 32

Modul #3 CLK 37

DIO 35

Modul #4 CLK 40

DIO 38

Hinweis: Sie müssen nicht alle 4 Module hinzufügen, falls gewünscht. Sie können zwischen 1 und 4 Modulen haben. (Ja, es ist möglich, zu weiteren Modulen zu wechseln, aber Sie müssen den Code ändern, um mehr zu unterstützen.)

ABER, Sie MÜSSEN die Module nacheinander einstecken, beginnend bei Modul #1

Dies liegt daran, dass die TM1637-Bibliothek eine ACK vom Modul erwartet und daher andernfalls zu warten scheint.

Beispielfotos von gelötetem BreadboardSie müssen Ihrem eigenen Verdrahtungsmuster folgen, um den zuvor gezeigten GPIO-Pins zu entsprechen, da die von mir verwendeten Anschlüsse und Module möglicherweise nicht mit Ihren übereinstimmen.

Schritt 6: Testen

Wow, das war ein bisschen Verkabelung! Jetzt Zeit für den Rauchtest…

Da Sie die einzelnen Module und die Pi-Funktion bereits kennen (Sie haben die Module wie zuvor beschrieben getestet?), dann besteht der nächste Schritt darin, die. INI-Datei einzurichten und das Uhrenprogramm auszuführen:

1. Bearbeiten Sie die raspiclock.ini

$ cd /home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Ändern Sie die Anzahl der Module auf die Anzahl der verdrahteten Module. Dies ist wichtig, da die Bibliothek beim Warten auf eine ACK hängen bleibt, wenn sie nicht mit einem Modul kommunizieren kann. Stellen Sie sicher, dass Sie die Anzahl der Module IN DER IN DER. INI ANGEGEBENEN REIHENFOLGE verdrahten. Hinweis: Zusätzliche TZ- und HR- und GPIO-PINS werden ignoriert, wenn num_modules kleiner als 4 ist.

3. Fügen Sie Zeitzonen für jedes Modul hinzu.

Dies sind Linux-TZ-Namen wie "America/New_York", EST5EDT, UTC oder "Local" für Ihre lokale Zeitzone, wie sie über raspi-config festgelegt wurde. Die Standardeinstellung ist UTC

4. Legen Sie fest, ob für jedes Modul der 12- oder 24-Stunden-Modus angezeigt werden soll

[UHR]; Anzahl der TM1637-Module (zwischen 1 und 4) num_modules = 2

; Zeitzonen für jedes Modul

; Verwenden Sie raspi-config, um die lokale Zeitzone einzustellen; Standard ist UTC; Format ist Linux TZ-Namen oder 'Local' für die Ortszeit; 'America/New_York', EST5EDT, UTC, 'Lokal' TZ1 = Lokal TZ2 = UTC TZ3 = TZ4 =

; 12/24 Stunden für jedes Modul

HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24

; HELLIGKEIT (Bereich 1..7)

LUM = 1

5. Sie sollten die GPIO-Pins nicht bearbeiten müssen, es sei denn, Sie stecken sie in verschiedene Pin-Nummern auf dem Pi.

6. Speichern Sie die Änderungen und führen Sie dann die Uhr aus:

$ python raspiclock.py

Wenn alles in Ordnung ist, sollten alle Ihre Anzeigemodule mit den Zeiten leuchten, die in der. INI-Datei eingestellt sind.

Herzliche Glückwünsche! Überspringen Sie die Fehlerbehebung und gehen Sie zur Final Install…

Schritt 7: Fehlerbehebung

Sie sollten einige einfache Debug-Meldungen sehen:

Initialisieren…Anzahl der Module = 4 Taktschleife starten… Modul#1 displayTM() Modul#2 displayTM() Modul#3 displayTM() Modul#4 displayTM() (wiederholt…)

Wenn Sie die Module zuvor getestet haben und alle funktionierten, dann wissen Sie, dass die Module und Raspberry gut sind.

A) HANG – Wenn die Debug-Meldungen an einer Stelle hängen bleiben, wartet das Programm auf eine ACK von dieser Modulnummer.

Überprüfen Sie zuerst Ihre Verkabelung! Es ist einfach, ein Kabel umzudrehen oder in den falschen GPIO-Pin am Pi zu stecken.

Zweitens tauschen Sie Module aus, um zu sehen, ob ein Modul plötzlich defekt ist.

Überprüfen Sie drittens die Datei raspiclock.ini auf Fehler. Löschen Sie ggf. das gesamte Verzeichnis und führen Sie einen weiteren GIT CLONE zum erneuten Abrufen durch.

Viertens, überprüfen Sie Ihre Verkabelung noch einmal!;-)

B) Wenn Sie eine Python-Fehlermeldung erhalten, überprüfen Sie Ihre Python-Version mit:

$ python -V (Großbuchstabe „V“)

Python 2.7. X

Ich habe nicht gegen Python 3 getestet, bin mir also nicht sicher, ob die Bibliothek kompatibel ist. Kopieren Sie die Fehlermeldung (normalerweise die letzte Zeile des Fehlers) und fügen Sie sie in die Google-Suche ein. Dies kann einen Hinweis darauf geben, was passiert ist.

Schritt 8: Endgültige Installation

Endinstallation
Endinstallation

1. Bearbeiten Sie die. INI-Datei erneut und setzen Sie debug = 0.$ cd /home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Stellen Sie außerdem sicher, dass die TZ-Zeitzonen und HR 12/24-Stunden-Einstellungen Ihren Wünschen entsprechen.

3. Stellen Sie die Helligkeit wie gewünscht zwischen 1 und 7 ein.

4. Führen Sie das Skript install.sh aus, um es zu pi crontab hinzuzufügen, damit es beim Booten automatisch gestartet wird.

$ sh install.sh

5. Neustart

$ sudo Neustart

6. Es sollte neu starten und dann laufen.

FERTIG!

Empfohlen: