Indholdsfortegnelse:

Raspberry Pi Amatørradio Digital Ur: 8 trin (med billeder)
Raspberry Pi Amatørradio Digital Ur: 8 trin (med billeder)

Video: Raspberry Pi Amatørradio Digital Ur: 8 trin (med billeder)

Video: Raspberry Pi Amatørradio Digital Ur: 8 trin (med billeder)
Video: DMR HotSpot: Retevis RT3S + OrangePi 2024, Juli
Anonim
Hindbær Pi Amatørradio Digital Ur
Hindbær Pi Amatørradio Digital Ur

Oversigt

Amatørradiooperatører (alias HAM Radio) bruger 24 timers UTC (Universal Coordinated Time) til meget af deres drift. Jeg besluttede at bygge et digitalt ur ved hjælp af billige TM1637 4-cifrede displays og en Raspberry Pi Zero W i stedet for bare et GUI-ur. (Hardware er sjovt!)

Den TM1637 -drevne skærm har fire 7 -segmenters lysdioder med et center -kolon “:” mellem to sæt cifre. Det kræver to ledninger at køre displayet plus 5V + og jord til i alt 4 ledninger.

Til dette særlige projekt ville jeg have, at Raspi fik sin tid fra NTP -servere (Network Time Protocol) via Internettet. Jeg planlægger en anden version af dette ur til at køre på et Arduino Uno og et Real-Time Clock-modul, når ingen WiFi er tilgængelig og til mere bærbar drift.

Jeg ville også have, at uret skulle vise lokal tid i 12 -timers og 24 -timers formater samt UTC i 12 -timers og 24 -timers formater. Softwaren er designet til, at du kun kan bruge UTC 24 timer (typiske skinker) eller forskellige tider på op til 4 forskellige skærme.

Du kan også indstille TIDSZONE, som du gerne vil bruge i stedet for standard lokal tid. Så hver af de fire skærme kunne vise en anden tidszone og i 12 eller 24 timers format.

Dette projekt kræver lodningskonnektorer eller ledninger på Pi- og/eller tm1637 -modulerne.

Fuldstændige instruktioner er også tilgængelige på GITHUB:

Trin 1: Krav

Krav
Krav

• Raspberry Pi2, 3 eller Zero W. (dvs. enhver pi med 40 -pins header og Ethernet/Wifi)

• 4-TM1637 4-cifrede displaymoduler

Og/eller

BEMÆRK: du kan bruge større eller mindre, så længe de er TM1637 -kompatible.

• Ledningsnet med 16 ledninger (hver TM1637 har brug for 4 ledninger)

• Loddefri brødbræt og ledninger Or

• Loddebart brødbræt og forskellige pin-stik.

• 8 GB MicroSD eller større til Pi

• 5v strømforsyning til Pi.

Trin 2: Softwareinstallation

Denne applikation bruger det let at brugeTM1637.py python -bibliotek skrevet af Tim Waizenegger. (Hvis du vil have detaljer om biblioteket, skal du tjekke:

Vidste du?

Hvis du installerer Raspbian på et SD -kort ved hjælp af en pc, kan du oprette to filer på kortet for at konfigurere WiFi og SSH -adgang, før du starter det på et hindbær?

For at gøre dette, antag at dit SD -kort i øjeblikket er monteret som K: på din pc:

1) Installer Raspbian Lite -billedet til SD.

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

2) Med notesblok skal du oprette en fil kaldet bare “ssh” og bruge Gem som “Alle filer” til K: / ssh

Filen kan indeholde alt. Det er filnavnet, der er vigtigt. Må IKKE være “ssh.txt” !!!

3) Med notesblok skal du oprette en anden fil kaldet “wpa_supplicant.conf” med følgende:

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

Brug Gem som "Alle filer" til K: / wpa_supplicant.conf

Igen, lad ikke Notesblok ændre det til “wpa_supplicant.conf.txt” !!

Når du starter Raspberry første gang, vil Raspbian lede efter disse og oprette forbindelse til din Wifi. Du bliver nødt til at kigge på din router efter IP -adressen, da den er automatisk tildelt.

Trin 3: Softwareinstallation - Pt.2

1. Hvis du ikke allerede har gjort det, skal du installere Raspbian Lite -versionen på et 8 GB eller større microSD -kort. Du behøver IKKE GUI -versionen, da dette projekt ikke bruger en skærm eller et tastatur.

BEMÆRK !: Dette projekt kræver Python2.7!

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

2. Du skal have fjernadgang til hindbæret via SSH. På Windows kan du bruge PUTTY SSH -terminalprogram. På Mac skal du bare åbne et kommandoterminalvindue.

3. Sæt microSD -kortet i Pi, og tilslut strømmen nu. Det vil tage et par minutter at starte.

4. For at kunne logge på din Raspberry Pi eksternt, skal du finde dens IP -adresse. Du kan prøve: $ ssh [email protected] (Eller fra Putty, indtast værtsnavn [email protected] Ellers skal du se, om din router viser IP -adresserne på dine lokale enheder. Standard -id/passwd er “pi /hindbær"

Når du er logget ind som pi -bruger:

5. Opdater din Raspbian: $ sudo apt opdater $ sudo apt opgradering

6. Konfigurer hindbær: $ sudo raspi-config a. Skift brugeradgangskode b. Lokaliseringsindstillinger -> Skift tidszone Vælg din lokale tidszone c. Tab for at afslutte

7. Installer RaspiDigiHamClock -softwaren: $ cd/home/pi $ sudo apt update $ sudo apt install git $ git klon

8. Sluk for din Pi for at konfigurere hardwaren $ shutdown nu Når lysdioden slukker, skal du tage stikket ud

Trin 4: Hardwareledninger

Hardware ledninger
Hardware ledninger
Hardware ledninger
Hardware ledninger
Hardware ledninger
Hardware ledninger

Du kan lodde stik på TM1637 -modulerne og Raspberry Pi (hvis det ikke allerede har et stik). Inden du begynder, skal du beslutte, hvordan du vil montere skærmene, og om du vil bruge et brødbræt eller loddekabler direkte på Pi- og displaymodulerne.

TM1637 modulstifter

Ledningsnotat: Nogle tm1637 -moduler vender +5v- og GND -benene! Så det ser måske ikke det samme ud som billederne.

TM1637-modulet er et firecifret LED-displaymodul, der bruger TM1637-driverchippen. Det behøver kun to forbindelser for at styre det 4-cifrede 8-segment display. To andre ledninger tilfører 5+ volt strøm og jord.

PIN DESC CLK Ur DIO Data I GND Ground 5V +5 volt

Nogle tm1637 -moduler vender +5v- og GND -benene, så tjek modulets markeringer

Test hvert modul Jeg foreslår, at du starter med et enkelt 4 -leder hunstik -kabel med hanstik loddet til et af modulerne og Pi. Tilslut derefter det første modul midlertidigt op til benene vist nedenfor.

TEMPORARY TEST A MODULETM1637 Modul Pin Pi Fysisk Pin# 5V 2 GND 6 CLK 40 DIO 38 Se GPIO -diagrammerne længere nede for at finde pinlayouterne.

Det andet foto viser to skærme, der midlertidigt er forbundet til en Raspberry Pi 3, mens softwaren kører.

1. Når du har et modul midlertidigt tilsluttet og kontrolleret dine ledninger

2. Tænd for Raspberry Pi. Den røde LED på modulet skal lyse, men der vises INGEN DISPLAY endnu.

3. SSH ind i din Pi igen som tidligere.

$ cd RaspiDigiHamClock

$ python test.py

Du bør se displaycyklussen gennem forskellige korte meddelelser. Hvis du ikke gør det, skal du først kontrollere dine ledninger igen! Det er let at vende en ledning eller tilslutte den forkerte GPIO -pin på Pi. Hvis du får en Python -fejlmeddelelse, skal du kontrollere din Python -version ved hjælp af:

$ python -V (hovedstad “V”)

Python 2.7. X

Jeg har ikke testet mod Python 3, så jeg er ikke sikker på, om biblioteket er kompatibelt.

Kopier fejlmeddelelsen (normalt den sidste linje i fejlen), og indsæt i Google -søgning. Dette kan give et fingerpeg om, hvad der skete.

Hvis dit modul fungerer, tillykke! Du ved, at modulet og Pi fungerer. Gentag nu for hvert modul for at teste det. (Jeg foreslår at lukke Pi og slukke FØR tilslutning/afbrydelse af moduler !!)

$ sudo lukning nu

Trin 5: GPIO -pins på Raspi

GPIO -pins på Raspi
GPIO -pins på Raspi
GPIO -pins på Raspi
GPIO -pins på Raspi
GPIO -pins på Raspi
GPIO -pins på Raspi

Dette projekt bruger GPIO fysiske BOARD -id'er til stifterne.

Det er Pin 1 til Pin 40. Ikke "BCM" GPIO pin nummerering. (Ja, lidt forvirrende, men BOARD er bare tælletallet fra øverst til venstre til nederst til højre.)

Displaymodul TM1637 Modul Pin Pi Fysisk Pin#Strøm 5V 2 Jord 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

Bemærk: Du behøver ikke tilføje alle 4 moduler, hvis det ønskes. Du kan have mellem 1 og 4 moduler. (Ja, det er muligt at gå til flere moduler, men du skal ændre koden for at understøtte mere.)

MEN, du SKAL tilslutte modulerne sekventielt fra modul #1

Dette er fordi TM1637 -biblioteket forventer en ACK fra modulet, så det ser ud til at hænge og vente ellers.

Prøvebilleder af loddet brødbræt Du skal følge dit eget ledningsmønster for at matche de tidligere viste GPIO -ben, da de stik og moduler, jeg brugte, muligvis ikke matcher dine.

Trin 6: Test

Wow, det var lidt ledninger! Nu er det tid til røgtest …

Da du allerede kender de enkelte moduler og Pi -arbejde (har du testet modulerne som beskrevet tidligere?), Så er det næste trin at konfigurere. INI -filen og køre urprogrammet:

1. Rediger raspiclock.ini

$ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Skift num_modulerne til, hvor mange du har kablet op. Dette er vigtigt, da biblioteket hænger og venter på en ACK, hvis det ikke kan tale med et modul. Sørg for at tilslutte antallet af moduler I ORDRE VISET i. INI Bemærk: Ekstra TZ og HR og GPIO PINS ignoreres, hvis num_modules er mindre end 4.

3. Tilføj tidszoner for hvert modul.

Dette er Linux TZ-navne, som 'America/New_York', EST5EDT, UTC eller 'Local' for din lokale tidszone som indstillet via raspi-config. Standard er UTC

4. Indstil, om der skal vises 12- eller 24 -timers tilstand for hvert modul

[UR]; Antal TM1637 -moduler (mellem 1 og 4) num_modules = 2

; Tidszoner for hvert modul

; Brug raspi-config til at indstille lokal tidszone; Standard er UTC; Format er Linux TZ -navne eller 'Local' for lokal tid; 'America/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =

; 12/24 timer for hvert modul

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

; LYSSTYRKE (område 1..7)

LUM = 1

5. Du skal ikke behøve at redigere GPIO -benene, medmindre du sætter dem i forskellige pin -numre på Pi.

6. Gem ændringerne, og kør derefter uret:

$ python raspiclock.py

Hvis alt er godt, skal alle dine skærmmoduler lyse op med de tidspunkter, der er angivet i. INI -filen.

Tillykke! Spring fejlfinding over, og gå til den sidste installation …

Trin 7: Fejlfinding

Du skal se nogle enkle fejlfindingsmeddelelser vises:

Initialiserer… Antal moduler = 4 Startursløjfe… Modul#1 displayTM () Modul#2 displayTM () Modul#3 displayTM () Modul#4 displayTM () (gentages…)

Hvis du tidligere har testet modulerne, og de alle fungerede, ved du, at modulerne og hindbær er gode.

A) HANG - Hvis fejlfindingsmeddelelser ser ud til at hænge på et sted, venter programmet på en ACK fra det pågældende modul#.

Kontroller først dine ledninger! Det er let at vende en ledning eller tilslutte den forkerte GPIO -pin på Pi.

For det andet skal du skifte moduler for at se, om et modul pludselig gik dårligt.

For det tredje, kontroller filen raspiclock.ini for fejl. Slet om nødvendigt hele biblioteket og foretag en anden GIT -KLON for at hente igen.

For det fjerde, tjek din ledninger igen!;-)

B) Hvis du får en Python -fejlmeddelelse, skal du kontrollere din Python -version ved hjælp af:

$ python -V (hovedstad “V”)

Python 2.7. X

Jeg har ikke testet mod Python 3, så jeg er ikke sikker på, om biblioteket er kompatibelt. Kopier fejlmeddelelsen (normalt den sidste linje i fejlen), og indsæt i Google -søgning. Dette kan give et fingerpeg om, hvad der skete.

Trin 8: Slutinstallation

Slutinstallation
Slutinstallation

1. Rediger. INI -filen igen, og indstil debug = 0. $ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Kontroller også, at TZ tidszoner og HR 12/24 timers indstillinger er, som du ønsker.

3. Indstil lysstyrken som ønsket mellem 1 og 7.

4. Kør install.sh -scriptet for at føje til pi crontab til automatisk opstart ved opstart.

$ sh install.sh

5. Genstart

$ sudo genstart

6. Det skal genstarte og derefter komme i gang.

FÆRDIG!

Anbefalede: