INHOUDSOPGAWE:
Video: Raspberry Pi Amateur Radio Digitale Klok: 8 stappe (met foto's)
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Oorsig
Amateurradiooperateurs (oftewel HAM Radio) gebruik 24 uur UTC (Universal Coordinated Time) vir 'n groot deel van hul werking. Ek het besluit om 'n digitale horlosie te bou met behulp van die goedkoper TM1637 4-syfer-skerms en 'n Raspberry Pi Zero W in plaas van net 'n GUI-horlosie. (Hardeware is lekker!)
Die TM1637 -aangedrewe skerm het vier 7 -segment LED's met 'n middelste punt ":" tussen twee stelle syfers. Dit benodig twee drade om die skerm plus 5V + en grond vir altesaam 4 drade aan te dryf.
Vir hierdie spesifieke projek wou ek hê dat die Raspi die tyd van die NTP (Network Time Protocol) bedieners via die internet moes kry. Ek beplan 'n ander weergawe van hierdie klok om op 'n Arduino Uno en 'n Real-Time Clock-module te werk, vir wanneer geen WiFi beskikbaar is nie en vir meer draagbare werking.
Ek wou ook hê dat die klok die plaaslike tyd in 12- en 24 -uur -formate sowel as UTC in 12- en 24 -uur -formate moet wys. Die sagteware is ontwerp sodat u slegs 24 uur UTC (tipiese hams) of verskillende tye op tot 4 verskillende skerms kan gebruik.
U kan ook die TYDSONDE stel wat u wil gebruik in plaas van die standaard Plaaslike tyd. Elkeen van die vier skerms kan dus 'n ander tydsone en in 12- of 24 -uur -formaat vertoon.
Hierdie projek benodig soldeerkonnekte of drade op die Pi- en/of die tm1637 -modules.
Volledige instruksies is ook beskikbaar op GITHUB:
Stap 1: Vereistes
• Framboos Pi2, 3 of Zero W. (dit wil sê enige pi met die 40 -pins kop en Ethernet/Wifi)
• 4-TM1637 4-syfer vertoonmodules
En/of
LET WEL: u kan groter of kleiner gebruik, solank dit TM1637 -versoenbaar is.
• Kabelboom met 16 drade (elke TM1637 benodig 4 drade)
• Soldeerlose broodbord en drade Or
• Broodbord met soldeersel en verskillende penverbindings.
• 8 GB MicroSD of groter vir Pi
• 5v kragtoevoer vir Pi.
Stap 2: sagteware -installasie
Hierdie toepassing gebruik die maklik om te gebruik TM1637.py python -biblioteek, geskryf deur Tim Waizenegger. (As u meer inligting oor die biblioteek wil hê, gaan na:
Het jy geweet?
As u Raspbian op 'n SD -kaart met 'n rekenaar installeer, kan u twee lêers op die kaart skep om WiFi en SSH -toegang op te stel voordat u dit op 'n framboos opstart?
Aanvaar hiervoor dat u SD -kaart tans as K: op u rekenaar gemonteer is:
1) Installeer die Raspbian Lite -prent op die SD.
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2) Met 'n notaboek, skep 'n lêer genaamd net "ssh" en gebruik Stoor as "Alle lêers" in K: / ssh
Die lêer kan enigiets bevat. Dit is die lêernaam wat belangrik is. Moet NIE "ssh.txt" wees nie !!!
3) Maak met notepad 'n tweede lêer genaamd "wpa_supplicant.conf" met die volgende:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdevupdate_config = 1 netwerk = {ssid = "mySSID" psk = "mypassword" key_mgmt = WPA-PSK}
Gebruik Stoor as "Alle lêers" in K: / wpa_supplicant.conf
Weereens, moenie dat Notepad dit verander na "wpa_supplicant.conf.txt" nie !!
As u die Framboos die eerste keer opstart, sal Raspbian hierna soek en aan u Wifi koppel. U moet egter die IP -adres op u router soek, aangesien dit outomaties toegewys is.
Stap 3: Sagteware -installasie - Pt.2
1. As u dit nog nie gedoen het nie, installeer die Raspbian Lite -weergawe op 'n 8 GB of groter microSD -kaart. U het NIE die GUI -weergawe nodig nie, aangesien hierdie projek nie 'n monitor of sleutelbord gebruik nie.
LET WEL: hierdie projek benodig Python2.7!
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2. U moet op afstand toegang tot die Framboos hê via SSH. Op Windows kan u die PUTTY SSH -terminale program gebruik. Op Mac, bring net 'n opdragterminale venster op.
3. Steek die microSD -kaart in die Pi en steek die stroom nou in. Dit sal 'n paar minute neem om op te laai.
4. Om op afstand by u Raspberry Pi aan te meld, moet u die IP -adres daarvan vind. U kan probeer: $ ssh [email protected] (Of vanaf Putty, voer gasheernaam in [email protected] Andersins moet u kyk of u router die IP -adresse van u plaaslike toestelle sal wys. Standaard -ID/passwd is "pi /framboos"
Sodra u as pi -gebruiker aangemeld is:
5. Dateer u Raspbian op: $ sudo apt update $ sudo apt upgrade
6. Stel die Framboos op: $ sudo raspi-config a. Verander gebruikerswagwoord b. Lokaliseringsopsies -> Verander tydsone Kies u plaaslike tydsone c. Tab om te voltooi
7. Installeer die RaspiDigiHamClock sagteware: $ cd/home/pi $ sudo apt update $ sudo apt install git $ git kloon
8. Skakel jou Pi uit om die hardeware af te sluit $ Nadat die LED afgegaan het, ontkoppel die krag
Stap 4: Hardeware -bedrading
U kan verbindings aan die TM1637 -modules en die Raspberry Pi koppel (as dit nog nie 'n aansluiting het nie). Besluit voordat u begin hoe u die skerms wil monteer en of u 'n broodbord of soldeerdrade direk op die Pi- en vertoonmodules gaan gebruik.
TM1637 -modulepenne
Bedradingnota: Sommige tm1637 -modules draai die +5v- en GND -penne om! Dit mag dus nie dieselfde lyk as die foto's nie.
Die TM1637-module is 'n vier-syfer-geleide skermmodule wat die TM1637-bestuurderskyfie gebruik. Dit benodig slegs twee verbindings om die 4-syfer-8-segment-skerm te beheer. Twee ander drade voed 5+ volt krag en grond.
PIN DESC CLK Klok DIO Data In GND Ground 5V +5 volt
Sommige tm1637 -modules draai die +5v- en GND -penne om, dus kyk na die merk van u module
Toets elke module. Koppel dan die eerste module tydelik tot by die penne hieronder.
TYDELIKE TOETS A MODULETM1637 Modulepen Pi Fisiese pen# 5V 2 GND 6 CLK 40 DIO 38 Sien die GPIO -diagramme verder om die penuitlegte te vind.
Die tweede foto toon twee skerms wat tydelik aan 'n Raspberry Pi 3 gekoppel is terwyl die sagteware werk.
1. Sodra u 'n module tydelik aangesluit het en u bedrading nagegaan het
2. Skakel die Raspberry Pi aan. Die rooi LED op die module moet brand, maar daar sal nog geen skerm verskyn nie.
3. SSH weer in jou Pi soos voorheen.
$ cd RaspiDigiHamClock
$ python test.py
U moet die vertoningsiklus deur verskillende kort boodskappe sien. As u dit nie doen nie, kyk eers weer na u bedrading! Dit is maklik om 'n draad om te draai of in die verkeerde GPIO -pen op die Pi te koppel. As u 'n Python -foutboodskap kry, verifieer u Python -weergawe met:
$ python -V (hoofletter "V")
Python 2.7. X
Ek het nie getoets teen Python 3 nie, so ek weet nie of die biblioteek versoenbaar is nie.
Kopieer die foutboodskap (gewoonlik die laaste reël van die fout) en plak in Google -soektog. Dit kan 'n idee gee van wat gebeur het.
As u module werk, baie geluk! U weet dat die module en Pi werk. Herhaal nou vir elke module om dit te toets. (Ek stel voor om Pi af te skakel en af te skakel VOORDAT jy modules aansluit/ontkoppel !!)
$ sudo sluit nou af
Stap 5: GPIO -penne op Raspi
Hierdie projek gebruik die fisiese BOARD -ID's van GPIO vir die penne.
Dit is pen 1 tot pen 40. Nie die “BCM” GPIO -pen nommer nie. (Ja, 'n bietjie verwarrend, maar BOARD is slegs die speldtelling van links bo na regs onder.)
Vertoonmodule TM1637 Module Pin Pi Fisiese Pin#Krag 5V 2 Grond GND 6
Module #1 CLK 33
DIO 31
Module #2 CLK 36
DIO 32
Module #3 CLK 37
DIO 35
Module #4 CLK 40
DIO 38
Nota: u hoef nie al vier die modules by te voeg nie. U kan tussen 1 en 4 modules hê. (Ja, dit is moontlik om na meer modules te gaan, maar u moet die kode verander om meer te ondersteun.)
MAAR, U MOET die modules opeenvolgend inskakel vanaf module #1
Dit is omdat die TM1637 -biblioteek 'n ACK van die module verwag, sodat dit andersins wag.
Voorbeeldfoto's van gesoldeerde broodbord U moet u eie bedradingpatroon volg om by die GPIO -penne te pas wat voorheen getoon is, aangesien die verbindings en modules wat ek gebruik het, moontlik nie by u pas nie.
Stap 6: Toets
Sjoe, dit was 'n bietjie bedrading! Nou tyd vir rooktoetse …
Aangesien u reeds die individuele modules en Pi -werk ken (het u die modules getoets soos voorheen beskryf?), Is die volgende stap om die. INI -lêer op te stel en die klokprogram uit te voer:
1. Wysig die raspiclock.ini
$ cd/home/pi/RaspiDigiHamClock
$ nano raspiclock.ini
2. Verander die num_modules in hoeveel u opgemaak het. Dit is belangrik, aangesien die biblioteek wag vir 'n ACK as dit nie met 'n module kan praat nie. Maak seker dat u die aantal modules inskakel, IN DIE BESTELLING AAN DIE. INI OPMERKING: Ekstra TZ- en HR- en GPIO -PINS word geïgnoreer as num_modules kleiner as 4 is.
3. Voeg tydsones vir elke module by.
Dit is Linux TZ-name, soos 'America/New_York', EST5EDT, UTC of 'Local' vir u plaaslike tydsone soos ingestel via raspi-config. Die standaard is UTC
4. Stel in of die modus 12 uur of 24 uur vir elke module vertoon moet word
[KLOK]; Aantal TM1637 -modules (tussen 1 en 4) num_modules = 2
; Tydsones vir elke module
; Gebruik raspi-config om die plaaslike tydsone in te stel; Standaard is UTC; Die formaat is Linux TZ -name of 'Local' vir plaaslike tyd; 'America/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =
; 12/24 uur vir elke module
HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24
; HELDERHEID (reeks 1..7)
LUM = 1
5. U hoef nie die GPIO -penne te wysig nie, tensy u dit in 'n ander pin #op die Pi koppel.
6. Stoor die veranderinge en voer dan die klok uit:
$ python raspiclock.py
As alles goed is, moet al u skermmodules brand met die tye soos opgestel in die. INI -lêer.
Baie geluk! Slaan die probleemoplossing oor en gaan na die finale installasie …
Stap 7: Probleemoplossing
U moet 'n paar eenvoudige ontfoutingsboodskappe sien verskyn:
Initialiseer…
As u die modules voorheen getoets het en almal gewerk het, weet u dat die modules en framboos goed is.
A) HANG - As die ontfoutboodskappe op een plek blyk te hang, wag die program op 'n ACK van die module#.
Kontroleer eers u bedrading! Dit is maklik om 'n draad om te draai of in die verkeerde GPIO -pen op die Pi te koppel.
Tweedens, ruil modules om te sien of 'n module skielik sleg is.
Derdens, kyk na die raspiclock.ini -lêer vir foute. As dit nodig is, verwyder die hele gids en doen nog 'n GIT CLONE om dit weer op te haal.
Vierdens, kyk weer na u bedrading!;-)
B) As u 'n Python -foutboodskap kry, verifieer u Python -weergawe met:
$ python -V (hoofletter "V")
Python 2.7. X
Ek het nie getoets teen Python 3 nie, so ek weet nie of die biblioteek versoenbaar is nie. Kopieer die foutboodskap (gewoonlik die laaste reël van die fout) en plak in Google -soektog. Dit kan 'n idee gee van wat gebeur het.
Stap 8: Finale installasie
1. Wysig die. INI -lêer weer en stel debug = 0. $ cd/home/pi/RaspiDigiHamClock in
$ nano raspiclock.ini
2. Verifieer ook dat die TZ -tydsones en die HR 12/24 uur -instellings is soos u wil.
3. Stel die helderheid na wens tussen 1 en 7 in.
4. Begin die install.sh -script om dit by pi crontab te voeg vir outomatiese opstart tydens opstart.
$ sh install.sh
5. Herlaai
$ sudo herlaai
6. Dit moet herlaai en dan aan die gang kom.
GEREED!