Innholdsfortegnelse:

Raspberry Pi Amateur Radio Digital Clock: 8 Steps (med bilder)
Raspberry Pi Amateur Radio Digital Clock: 8 Steps (med bilder)

Video: Raspberry Pi Amateur Radio Digital Clock: 8 Steps (med bilder)

Video: Raspberry Pi Amateur Radio Digital Clock: 8 Steps (med bilder)
Video: Ham Radio - HamPI, possibly the best general ham radio image for the raspberry pi. 2024, November
Anonim
Bringebær Pi digital amatørradio
Bringebær Pi digital amatørradio

Oversikt

Amatørradiooperatører (alias HAM Radio) bruker 24 timer UTC (Universal Coordinated Time) for mye av operasjonen. Jeg bestemte meg for å bygge en digital klokke ved hjelp av billige TM1637 4-sifrede skjermer og en Raspberry Pi Zero W i stedet for bare en GUI-klokke. (Maskinvare er gøy!)

Den TM1637 -drevne skjermen har fire lysdioder med 7 segmenter med et midtpunkt ":" mellom to sett med sifre. Det krever to ledninger for å drive displayet pluss 5V + og Ground for totalt 4 ledninger.

For dette prosjektet ønsket jeg at Raspi skulle få tiden sin fra NTP -servere (Network Time Protocol) via Internett. Jeg planlegger en annen versjon av denne klokken for å kjøre på en Arduino Uno og en sanntidsklokke-modul, for når ingen WiFi er tilgjengelig og for mer bærbar drift.

Jeg ville også at klokken skulle vise lokal tid i 12- og 24 -timersformater samt UTC i 12- og 24 -timersformater. Programvaren er designet for å la deg bare bruke UTC 24 timer (typiske skinker) eller forskjellige tider på opptil 4 forskjellige skjermer.

Du kan også angi TIDSZONE du vil bruke i stedet for standard lokal tid. Så hver av de fire skjermene kan vise en annen tidssone og i 12 -timers eller 24 -timers format.

Dette prosjektet krever loddingskontakter eller ledninger på Pi og/eller tm1637 -modulene.

Fullstendige instruksjoner er også tilgjengelig på GITHUB:

Trinn 1: Krav

Krav
Krav

• Raspberry Pi2, 3 eller Zero W. (dvs. hvilken som helst pi med 40 -pinners topptekst og Ethernet/Wifi)

• 4-TM1637 4-sifrede displaymoduler

Og/eller

MERK: du kan bruke større eller mindre, så lenge de er TM1637 -kompatible.

• Ledningsnett med 16 ledninger (hver TM1637 trenger 4 ledninger)

• Loddefritt brødbrett og ledninger Or

• Loddbart brødbrett og forskjellige pinnekontakter.

• 8 GB MicroSD eller større for Pi

• 5v strømforsyning for Pi.

Trinn 2: Programvareinstallasjon

Denne applikasjonen bruker det brukervennlige TM1637.py python -biblioteket skrevet av Tim Waizenegger. (Hvis du vil ha detaljer om biblioteket, sjekk ut:

Visste du?

Hvis du installerer Raspbian på et SD -kort ved hjelp av en PC, kan du opprette to filer på kortet for å konfigurere WiFi og SSH -tilgang før du starter det på et bringebær?

For dette, anta at SD -kortet ditt for øyeblikket er montert som K: på din PC:

1) Installer Raspbian Lite -bildet til SD -en.

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

2) Med notisblokk, opprett en fil som bare heter “ssh” og bruk Lagre som “Alle filer” til K: / ssh

Filen kan inneholde alt. Det er filnavnet som er viktig. Må IKKE være “ssh.txt” !!!

3) Med notisblokk, opprett en andre fil kalt "wpa_supplicant.conf" med følgende:

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

Bruk Lagre som "Alle filer" til K: / wpa_supplicant.conf

Igjen, ikke la Notisblokk endre det til “wpa_supplicant.conf.txt” !!

Når du starter Raspberry første gang, vil Raspbian se etter disse og koble til Wifi. Du må imidlertid se på ruteren din etter IP -adressen siden den er automatisk tildelt.

Trinn 3: Programvareinstallasjon - Pt.2

1. Hvis du ikke allerede har gjort det, må du installere Raspbian Lite -versjonen på et 8 GB eller større microSD -kort. Du trenger IKKE GUI -versjonen, ettersom dette prosjektet ikke bruker en skjerm eller et tastatur.

MERK !: Dette prosjektet krever Python2.7!

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

2. Du må få tilgang til bringebæret eksternt via SSH. På Windows kan du bruke PUTTY SSH terminalprogram. På Mac, bare åpne et kommandoterminalvindu.

3. Sett inn microSD -kortet i Pi og koble til strømmen nå. Det vil ta noen minutter å starte opp.

4. For å logge på Raspberry Pi eksternt, må du finne IP -adressen. Du kan prøve: $ ssh [email protected] (Eller fra Putty, skriv inn vertsnavn [email protected] Ellers må du se om ruteren din vil vise IP -adressene til dine lokale enheter. Standard -ID/passwd er “pi /bringebær"

Når du er logget inn som pi -bruker:

5. Oppdater Raspbian: $ sudo apt oppdatering $ sudo apt oppgradering

6. Konfigurer bringebæret: $ sudo raspi-config a. Endre brukerpassord b. Lokaliseringsalternativer -> Endre tidssone Velg din lokale tidssone c. Tab for å fullføre

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

8. Slå av Pi -en din for å konfigurere maskinvaren $ shutdown nå Etter at LED -lampen slukker, koble fra strømmen

Trinn 4: Kabling av maskinvare

Maskinvare ledninger
Maskinvare ledninger
Maskinvare ledninger
Maskinvare ledninger
Maskinvare ledninger
Maskinvare ledninger

Du kan lodde kontakter på TM1637 -modulene og Raspberry Pi (hvis den ikke allerede har en kontakt). Før du begynner, bestem deg for hvordan du vil montere skjermene, og om du skal bruke et brødbrett eller loddetråder direkte på Pi- og displaymodulene.

TM1637 modulnål

Merknad om ledninger: Noen tm1637 -moduler snu +5v- og GND -pinnene! Så det ser kanskje ikke ut som bildene.

TM1637-modulen er en firesifret LED-skjermmodul som bruker TM1637-driverbrikken. Den trenger bare to tilkoblinger for å kontrollere det firesifrede 8-segmenters displayet. To andre ledninger mater 5+ volt strøm og jord.

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

Noen tm1637 -moduler snu +5v- og GND -pinnene, så sjekk modulens markeringer

Test hver modul Jeg foreslår at du starter med en enkelt 4 -leder kvinnelig kontaktkabel med mannlige kontakter loddet til en av modulene og Pi. Koble deretter den første modulen midlertidig til pinnene vist nedenfor.

TEMPORÆR TEST EN MODULETM1637 Modul Pin Pin Fysisk Pin# 5V 2 GND 6 CLK 40 DIO 38 Se GPIO -diagrammene lenger ned for å finne pin -oppsettene.

Det andre bildet viser to skjermer som er midlertidig koblet til en Raspberry Pi 3 mens programvaren kjører.

1. Når du har en modul midlertidig koblet til og sjekket ledningene

2. Slå på Raspberry Pi. Den røde LED -en på modulen skal lyse, men det kommer INGEN DISPLAY ennå.

3. SSH inn i Pi igjen som tidligere.

$ cd RaspiDigiHamClock

$ python test.py

Du bør se visningssyklusen gjennom forskjellige korte meldinger. Hvis du ikke gjør det, må du først sjekke ledningene igjen! Det er enkelt å snu en ledning eller koble til feil GPIO -pin på Pi. Hvis du får en Python -feilmelding, må du bekrefte Python -versjonen din med:

$ python -V (stor "V")

Python 2.7. X

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

Kopier feilmeldingen (vanligvis den siste linjen i feilen) og Lim inn i Google -søk. Dette kan gi en pekepinn på hva som skjedde.

Hvis modulen din fungerer, gratulerer! Du vet at modulen og Pi fungerer. Gjenta nå for hver modul for å teste den. (Jeg foreslår at du slår av Pi og slår av FØR du kobler til/fra modulene !!)

$ sudo nedleggelse nå

Trinn 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 prosjektet bruker GPIO -fysiske BOARD -IDene for Pins.

Det er Pin 1 til Pin 40. Ikke "BCM" GPIO pin -nummerering. (Ja, litt forvirrende, men BOARD er bare talltallet fra øverst til venstre til nederst til høyre.)

Displaymodul TM1637 Modul Pin Pi Fysisk Pin#Power 5V 2 Ground 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

Merk: Du trenger ikke legge til alle 4 modulene hvis du ønsker det. Du kan ha mellom 1 og 4 moduler. (Ja, det er mulig å gå til flere moduler, men du må endre koden for å støtte mer.)

MEN, du MÅ koble til modulene sekvensielt fra modul nr. 1

Dette er fordi TM1637 -biblioteket forventer at en ACK fra modulen ser ut til å henge og vente ellers.

Eksempel på bilder av loddet brødbrett Du må følge ditt eget ledningsmønster for å matche GPIO -pinnene som er vist tidligere, siden kontaktene og modulene jeg brukte ikke stemmer overens med dine.

Trinn 6: Testing

Wow, det var litt ledninger! Nå er det tid for røykprøving …

Siden du allerede kjenner de enkelte modulene og Pi -arbeidet (testet du modulene som beskrevet tidligere?), Så er neste trinn å sette opp. INI -filen og kjøre klokkeprogrammet:

1. Rediger raspiclock.ini

$ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Endre num_modulene til hvor mange du har koblet til. Dette er viktig ettersom biblioteket henger og venter på en ACK hvis det ikke kan snakke med en modul. Sørg for å koble inn antall moduler, I BESTILLINGEN VISET i. INI Merk: Ekstra TZ og HR og GPIO PINS ignoreres hvis num_modules er mindre enn 4.

3. Legg til tidssoner for hver modul.

Dette er Linux TZ-navn, som 'America/New_York', EST5EDT, UTC eller 'Local' for din lokale tidssone som angitt via raspi-config. Standard er UTC

4. Angi om 12- eller 24 -timers modus skal vises for hver modul

[KLOKKE]; Antall TM1637 -moduler (mellom 1 og 4) num_modules = 2

; Tidssoner for hver modul

; Bruk raspi-config til å angi lokal tidssone; Standard er UTC; Format er Linux TZ -navn eller 'Local' for lokal tid; 'America/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =

; 12/24 timer for hver modul

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

; LYSSTYRKE (område 1..7)

LUM = 1

5. Du bør ikke måtte redigere GPIO -pinnene med mindre du kobler dem til forskjellige PIN -koder på Pi.

6. Lagre endringene og kjør deretter klokken:

$ python raspiclock.py

Hvis alt er bra, skal alle skjermmodulene dine lyse opp med tiden som er angitt i. INI -filen.

Gratulerer! Hopp over feilsøkingen og gå til den siste installasjonen …

Trinn 7: Feilsøking

Du bør se noen enkle feilsøkingsmeldinger vises:

Initialiserer… Antall moduler = 4 Start klokkesløyfe… Modul#1 displayTM () Modul#2 displayTM () Modul#3 displayTM () Modul#4 displayTM () (gjentar…)

Hvis du testet modulene tidligere, og de alle fungerte, så vet du at modulene og bringebær er gode.

A) HANG - Hvis feilsøkingsmeldingene ser ut til å henge på ett sted, venter programmet på en ACK fra den modulen#.

Sjekk først ledningene dine! Det er enkelt å snu en ledning eller koble til feil GPIO -pin på Pi.

For det andre, bytt moduler for å se om en modul plutselig gikk dårlig.

For det tredje, sjekk raspiclock.ini -filen for feil. Slett om nødvendig hele katalogen og gjør en annen GIT -KLONE for å hente igjen.

For det fjerde, sjekk ledningene igjen!;-)

B) Hvis du får en Python -feilmelding, må du bekrefte Python -versjonen din med:

$ python -V (stor "V")

Python 2.7. X

Jeg har ikke testet mot Python 3, så jeg er ikke sikker på om biblioteket er kompatibelt. Kopier feilmeldingen (vanligvis den siste linjen i feilen) og Lim inn i Google -søk. Dette kan gi en pekepinn på hva som skjedde.

Trinn 8: Sluttinstallasjon

Endelig installasjon
Endelig installasjon

1. Rediger. INI -filen igjen og sett debug = 0. $ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Kontroller også at TZ -tidssonene og innstillingene for HR 12/24 timer er som du ønsker.

3. Still lysstyrken som ønsket mellom 1 og 7.

4. Kjør install.sh -skriptet for å legge til pi crontab for automatisk oppstart ved oppstart.

$ sh install.sh

5. Start på nytt

$ sudo omstart

6. Den skal starte på nytt og deretter starte.

FERDIG!

Anbefalt: