Բովանդակություն:

Raspberry Pi սիրողական ռադիոյի թվային ժամացույց ՝ 8 քայլ (նկարներով)
Raspberry Pi սիրողական ռադիոյի թվային ժամացույց ՝ 8 քայլ (նկարներով)

Video: Raspberry Pi սիրողական ռադիոյի թվային ժամացույց ՝ 8 քայլ (նկարներով)

Video: Raspberry Pi սիրողական ռադիոյի թվային ժամացույց ՝ 8 քայլ (նկարներով)
Video: Testing the PiBox mini 2, a Raspberry Pi MicroK8s server 2024, Նոյեմբեր
Anonim
Raspberry Pi սիրողական ռադիոյի թվային ժամացույց
Raspberry Pi սիրողական ռադիոյի թվային ժամացույց

Ակնարկ

Սիրողական ռադիոօպերատորները (հայտնի է նաև որպես HAM Radio) օգտագործում են 24 ժամյա UTC (Համընդհանուր համակարգված ժամանակ) իրենց գործունեության մեծ մասի համար: Ես որոշեցի թվային ժամացույց կառուցել ՝ օգտագործելով ցածրարժեք TM1637 4 նիշանոց էկրաններ և Raspberry Pi Zero W ՝ GUI ժամացույցի փոխարեն: (Սարքավորումը զվարճալի է)

TM1637- ով աշխատող էկրանն ունի չորս 7 սեգմենտ լուսարձակներ, որոնց վրա տեղադրված է երկու `թվանշանների միջև: Այն պահանջում է երկու լար `էկրանը գումարած 5V + և Ground ընդհանուր 4 լարերի համար:

Այս կոնկրետ նախագծի համար ես ուզում էի, որ Raspi- ն իր ժամանակը ստանա ինտերնետի միջոցով NTP (Network Time Protocol) սերվերներից: Ես պլանավորում եմ այս ժամացույցի մեկ այլ տարբերակ `աշխատելու Arduino Uno- ով և Իրական ժամանակի ժամացույցի մոդուլով, երբ WiFi չկա և ավելի դյուրակիր աշխատանքի համար:

Նաև ցանկանում էի, որ ժամացույցը ցույց տա Տեղական ժամանակը 12 ժամ և 24 ժամ ձևաչափերով, ինչպես նաև UTC ՝ 12 ժամ և 24 ժամ ձևաչափերով: Theրագիրը ծրագրված է այնպես, որ կարողանաք օգտագործել ընդամենը UTC 24 ժամ (տիպիկ խոզապուխտ) կամ տարբեր ժամանակներ մինչև 4 տարբեր էկրանների վրա:

Կարող եք նաև սահմանել IMEԱՄԱՆԱԿԻ ԳՈՐԸ, որը կցանկանայիք օգտագործել կանխադրված Տեղական ժամանակի փոխարեն: Այսպիսով, չորս ցուցադրումներից յուրաքանչյուրը կարող է ցույց տալ տարբեր ժամային գոտի և 12 ժամ կամ 24 ժամ ձևաչափով:

Այս նախագիծը պահանջում է միակցիչներ կամ լարեր զոդել Pi- ի և (կամ) tm1637 մոդուլների վրա:

Ամբողջական հրահանգները հասանելի են նաև GITHUB- ում ՝

Քայլ 1: Պահանջներ

Պահանջներ
Պահանջներ

• Ազնվամորի Pi2, 3 կամ Zero W. (այսինքն ՝ ցանկացած պի ՝ 40 փին վերնագրով և Ethernet/Wifi)

• 4-TM1637 4 թվանշանի ցուցադրման մոդուլներ

Եվ/կամ

NOTԱՆՈԹՈԹՅՈՆ. Կարող եք օգտագործել ավելի մեծ կամ փոքրերը, քանի դեռ դրանք համատեղելի են TM1637- ի հետ:

• 16 մետաղալարերով մետաղալար (յուրաքանչյուր TM1637- ին անհրաժեշտ է 4 լար)

• Sոդման տախտակ և լարեր Or

• Sոդման հնարավորություն ունեցող Breadboard և տարբեր կապակցիչներ:

• 8 ԳԲ MicroSD կամ ավելի Pi- ի համար

• 5 վ էլեկտրամատակարարում Pi- ի համար:

Քայլ 2: Softwareրագրաշարի տեղադրում

Այս ծրագիրը օգտագործում է Tim Waizenegger- ի կողմից գրված հեշտ օգտագործման TM1637.py python գրադարանը: (Եթե ցանկանում եք գրադարանի մասին մանրամասներ, այցելեք ՝

Գիտեի՞ք:

Եթե Raspbian- ը տեղադրեք SD քարտի վրա ՝ օգտագործելով ԱՀ, կարող եք քարտի վրա ստեղծել երկու ֆայլ ՝ WiFi- ի և SSH- ի հասանելիությունը կազմաձևելու համար, նախքան այն ազնվամորիով ներբեռնելը:

Դրա համար ենթադրենք, որ ձեր SD քարտը ներկայումս տեղադրված է որպես K: ձեր համակարգչի վրա.

1) Տեղադրեք Raspbian Lite պատկերը SD- ում:

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

2) Գրառման գրքույկով ստեղծեք «ssh» անունով ֆայլ և օգտագործեք Save As «Բոլոր ֆայլերը» K: / ssh- ում

Ֆայլը կարող է պարունակել որևէ բան: Ֆայլի անունն է կարևոր: Չպետք է լինի «ssh.txt» !!!

3) Գրառման գրքույկով ստեղծեք «wpa_supplicant.conf» անունով երկրորդ ֆայլը հետևյալով.

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

Օգտագործեք Պահել որպես «Բոլոր ֆայլերը» K: / wpa_supplicant.conf

Կրկին թույլ մի տվեք, որ Գրառման գրքույկը այն փոխի «wpa_supplicant.conf.txt» - ի:

Երբ առաջին անգամ գործարկեք ազնվամորին, Raspbian- ը դրանք կփնտրի և կկապվի ձեր Wifi- ին: Չնայած IP հասցեն դուք պետք է փնտրեք ձեր երթուղղիչում, քանի որ այն ավտոմատ նշանակված է:

Քայլ 3. Softwareրագրաշարի տեղադրում - Pt.2

1. Եթե դեռ չեք հասցրել, տեղադրեք Raspbian Lite տարբերակը 8 ԳԲ կամ ավելի մեծ microSD քարտի վրա: Ձեզ GUI տարբերակը պետք չէ, քանի որ այս նախագծում մոնիտոր կամ ստեղնաշար չի օգտագործվում:

Ո NOTՇԱԴՐՈԹՅՈՆ. Այս նախագիծը պահանջում է Python2.7:

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

2. Դուք պետք է մուտք գործեք Ազնվամորի հեռակա կարգով SSH- ի միջոցով: Windows- ում կարող եք օգտագործել PUTTY SSH տերմինալ ծրագիրը: Mac- ում պարզապես բերեք հրամանի տերմինալի պատուհան:

3. Տեղադրեք microSD քարտը Pi- ի մեջ և միացրեք հոսանքը հիմա: Բեռնման համար կպահանջվի մի քանի րոպե:

4. Ձեր Raspberry Pi- ին հեռակա մուտք գործելու համար անհրաժեշտ կլինի գտնել նրա IP հասցեն: Դուք կարող եք փորձել. /ազնվամորի »

Մտնելուց հետո որպես pi օգտվող.

5. Թարմացրեք ձեր Raspbian- ը. $ Sudo apt update $ sudo apt upgrade

6. Կարգավորեք ազնվամորին. $ Sudo raspi-config a. Փոխել օգտվողի գաղտնաբառը բ. Տեղայնացման ընտրանքներ -> Փոխել ժամային գոտին Ընտրեք ձեր տեղական ժամային գոտին գ. Ներդիր ավարտելու համար

7. Տեղադրեք RaspiDigiHamClock ծրագիրը ՝ $ cd/home/pi $ sudo apt update $ sudo apt install git $ git clone

8. Անջատեք ձեր Pi- ն `սարքավորումն անջատելու համար $ անջատում այժմ LED- ի անջատումից հետո անջատեք հոսանքը

Քայլ 4: Սարքավորումների միացում

Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում
Սարքավորումների միացում

Կարող եք միակցիչները միացնել TM1637 մոդուլներին և Raspberry Pi- ին (եթե այն արդեն միակցիչ չունի): Սկսելուց առաջ որոշեք, թե ինչպես եք ցանկանում տեղադրել էկրանները և արդյոք պատրաստվում եք օգտագործել տախտակ կամ լարեր ուղղակիորեն Pi- ի և ցուցադրման մոդուլների վրա:

TM1637 Մոդուլի կապում

Հաղորդալարերի նշում. Որոշ tm1637 մոդուլներ շրջում են +5v և GND կապում: Այսպիսով, հնարավոր է, որ այն նույնը չլինի, ինչ լուսանկարները:

TM1637 մոդուլը 4 նիշանոց լուսադիոդային ցուցադրման մոդուլ է, որն օգտագործում է TM1637 վարորդի չիպը: Այն պետք է ընդամենը երկու միացում `4-նիշանի 8 հատվածանոց էկրանը կառավարելու համար: Երկու այլ լարեր սնուցում են 5+ վոլտ հզորություն և հող:

PIN DESC CLK ockամացույց DIO Տվյալներ GND գրունտում 5V +5 վոլտ

Որոշ tm1637 մոդուլներ շրջում են +5v և GND կապերը, այնպես որ ստուգեք ձեր մոդուլի նշումները

Փորձարկեք յուրաքանչյուր մոդուլ: Ես առաջարկում եմ սկսել միայնակ 4 մետաղալար կանացի միակցիչ մալուխից `արական միակցիչներով, որոնք զոդված են մոդուլներից մեկին և Pi- ին: Այնուհետև ժամանակավորապես միացրեք առաջին մոդուլը մինչև ներքևում ներկայացված կապում:

TԱՄԱՆԱԿԱՅԻՆ ԹԵՍ A MODULETM1637 Մոդուլի Pin Pi Ֆիզիկական կապում# 5V 2 GND 6 CLK 40 DIO 38 Տեսեք GPIO- ի գծապատկերները ավելի ներքև ՝ քորոցների դասավորությունը գտնելու համար:

Երկրորդ լուսանկարը ցույց է տալիս երկու էկրան, որոնք ժամանակավորապես միացված են Raspberry Pi 3 -ին և աշխատում է ծրագրակազմով:

1. Երբ մոդուլը ժամանակավորապես միացվեց և ստուգեց ձեր էլեկտրագծերը

2. Միացրեք Raspberry Pi- ն: Մոդուլի վրա կարմիր լուսադիոդը պետք է լուսավորվի, բայց NOՈISՈՈԹՅՈՆ դեռ չի լինի:

3. SSH- ը նորից ձեր Pi- ի մեջ, ինչպես նախկինում:

$ cd RaspiDigiHamClock

$ python test.py

Դուք պետք է տեսնեք ցուցադրման ցիկլը տարբեր կարճ հաղորդագրությունների միջոցով: Եթե դա չեք անում, նախ նորից ստուգեք ձեր էլեկտրագծերը: Հեշտ է մետաղալար շրջել կամ միացնել սխալ GPIO- ի Pi- ին: Եթե դուք ստանում եք Python սխալի հաղորդագրություն, հաստատեք ձեր Python տարբերակը ՝ օգտագործելով.

$ python -V (կապիտալ «V»)

Python 2.7. X

Ես Python 3 -ի դեմ չեմ փորձարկել, այնպես որ վստահ չեմ, որ գրադարանը համատեղելի է:

Պատճենեք սխալի հաղորդագրությունը (սովորաբար սխալի վերջին տողը) և տեղադրեք Google որոնման մեջ: Սա կարող է հուշել, թե ինչ է տեղի ունեցել:

Եթե ձեր մոդուլն աշխատում է, շնորհավորում ենք: Դուք գիտեք, որ մոդուլը և Pi- ն աշխատում են: Այժմ կրկնել յուրաքանչյուր մոդուլի համար `այն փորձարկելու համար: (Ես առաջարկում եմ անջատել Pi- ն և անջատել ԱՌԱՆ մոդուլները միացնելուց/անջատելուց !!)

$ sudo անջատում հիմա

Քայլ 5. GPIO կապում Raspi- ին

GPIO կապում Raspi- ի վրա
GPIO կապում Raspi- ի վրա
GPIO կապում Raspi- ի վրա
GPIO կապում Raspi- ի վրա
GPIO կապում Raspi- ի վրա
GPIO կապում Raspi- ի վրա

Այս նախագիծը օգտագործում է GPIO- ի ֆիզիկական տախտակի ID- ն կապումների համար:

Դա 1 -ին կապում է 40 -ի: Ոչ թե «BCM» GPIO կապի համարակալումը: (Այո, փոքր -ինչ շփոթեցնող է, բայց BOARD- ը պարզապես քորոցների քանակն է ՝ վերևից ձախ ներքևի աջ):

Displayուցադրման մոդուլ TM1637 Մոդուլի Pin Pi Ֆիզիկական պին#Power 5V 2 Ground GND 6

Մոդուլ #1 CLK 33

DIO 31

Մոդուլ #2 CLK 36

DIO 32

Մոդուլ #3 CLK 37

DIO 35

Մոդուլ #4 CLK 40

DIO 38

Նշում. Desiredանկության դեպքում անհրաժեշտ չէ ավելացնել բոլոր 4 մոդուլները: Դուք կարող եք ունենալ 1 -ից 4 մոդուլ: (Այո, հնարավոր է գնալ ավելի շատ մոդուլների, բայց ավելի շատ աջակցելու համար հարկավոր է փոխել կոդը):

ԲԱՅ,, ՊԵՏՔ է մոդուլները միացնել հաջորդաբար ՝ սկսած թիվ 1 մոդուլից

Դա պայմանավորված է նրանով, որ TM1637 գրադարանը ակնկալում է ACK մոդուլից, այնպես որ, կարծես թե, այլ կերպ է սպասվում:

Oldոդված սեղանի օրինակների լուսանկար

Քայլ 6: Փորձարկում:

Վայ, դա մի փոքր էլեկտրագծեր էին: Հիմա ծխի փորձարկման ժամանակն է…

Քանի որ դուք արդեն գիտեք առանձին մոդուլները և Pi- ի աշխատանքը (դուք փորձարկե՞լ եք մոդուլները, ինչպես նկարագրված է նախկինում), ապա հաջորդ քայլը. INI ֆայլը ստեղծելն ու ժամացույցի ծրագրի գործարկումն է.

1. Խմբագրել raspiclock.ini- ն

$ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Փոխեք num_modules- ը, թե քանիսն եք լարել: Սա կարևոր է, քանի որ գրադարանը կախված կլինի ACK- ի սպասելուց, եթե այն չի կարող խոսել մոդուլի հետ: Համոզվեք, որ միացրեք մոդուլների քանակը, ININ- ում ցուցադրվող պատվերի մեջ: Նշում. Լրացուցիչ TZ և HR և GPIO PIN- ները անտեսվում են, եթե num_modules- ը 4 -ից պակաս է:

3. Յուրաքանչյուր մոդուլի համար ավելացրեք ժամային գոտիներ:

Սա Linux TZ անուններ է, ինչպես օրինակ ՝ «America/New_York», EST5EDT, UTC կամ «Local» ՝ ձեր տեղական ժամային գոտու համար, ինչպես սահմանված է raspi-config- ի միջոցով: Կանխադրվածը UTC է

4. Սահմանեք `ցուցադրել 12 ժամ կամ 24 ժամ ռեժիմ յուրաքանչյուր մոդուլի համար

[CLամացույց]; TM1637 մոդուլների թիվը (1 -ից 4 -ի միջև) num_modules = 2

; Modամային գոտիներ յուրաքանչյուր մոդուլի համար

; Տեղական ժամային գոտի սահմանելու համար օգտագործեք raspi-config; Կանխադրվածը UTC է; Ձևաչափը Linux TZ անուններ է կամ «Տեղական» տեղական ժամանակի համար. 'Ամերիկա/Նյու Յորք', EST5EDT, UTC, 'Տեղական' TZ1 = Տեղական TZ2 = UTC TZ3 = TZ4 =

; 12/24 ժամ յուրաքանչյուր մոդուլի համար

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

; ՊԱՀՊԱՆՈԹՅՈՆ (միջակայք 1..7)

LUM = 1

5. Դուք չպետք է խմբագրեք GPIO կապերը, եթե դրանք Pi- ի տարբեր փին #-ների մեջ միացնեք:

6. Պահպանեք փոփոխությունները և ապա գործարկեք ժամացույցը.

$ python raspiclock.py

Եթե ամեն ինչ կարգին է, ձեր ցուցադրման բոլոր մոդուլները պետք է լուսավորվեն. INI ֆայլում սահմանված ժամանակներով:

Շնորհավորում եմ: Բաց թողեք խնդիրների լուծումը և անցեք Վերջնական տեղադրում…

Քայլ 7: Խնդիրների վերացում

Դուք պետք է տեսնեք, որ հայտնվում են վրիպազերծման մի քանի պարզ հաղորդագրություններ.

Նախաստորագրում … Մոդուլների քանակ = 4 clockամացույցի մեկնարկ

Եթե մոդուլները նախկինում փորձարկել եք, և դրանք բոլորը աշխատել են, ապա գիտեք, որ մոդուլները և ազնվամորին լավն են:

A) HANG - Եթե վրիպազերծման հաղորդագրությունները կախված են մեկ տեղում, ծրագիրը սպասում է ACK- ից այդ մոդուլից#:

Նախ ստուգեք ձեր էլեկտրագծերը: Հեշտ է մետաղալար շրջել կամ միացնել սխալ GPIO Pin- ին Pi- ի վրա:

Երկրորդ ՝ փոխանակեք մոդուլները ՝ տեսնելու համար, թե արդյո՞ք մոդուլը հանկարծ վատացել է:

Երրորդ, ստուգեք raspiclock.ini ֆայլը սխալների համար: Անհրաժեշտության դեպքում ջնջեք ամբողջ գրացուցակը և կատարեք մեկ այլ GIT CLONE ՝ նորից առբերելու համար:

Չորրորդ, նորից ստուգեք ձեր էլեկտրագծերը:;-)

Բ) Եթե դուք ստանում եք Python սխալի հաղորդագրություն, հաստատեք ձեր Python տարբերակը ՝ օգտագործելով.

$ python -V (կապիտալ «V»)

Python 2.7. X

Ես Python 3 -ի դեմ չեմ փորձարկել, այնպես որ վստահ չեմ, որ գրադարանը համատեղելի է: Պատճենեք սխալի հաղորդագրությունը (սովորաբար սխալի վերջին տողը) և տեղադրեք Google որոնման մեջ: Սա կարող է հուշել, թե ինչ է տեղի ունեցել:

Քայլ 8: Վերջնական տեղադրում

Վերջնական տեղադրում
Վերջնական տեղադրում

1. Կրկին խմբագրեք. INI ֆայլը և դրեք կարգաբերում = 0. $ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Ստուգեք նաև TZ ժամային գոտիները և HR 12/24 ժամվա կարգավորումները, ինչպես ցանկանում եք:

3. Սահմանեք Brightness- ը ըստ ցանկության 1 -ից 7 -ի միջև:

4. Գործարկեք install.sh սցենարը ՝ բեռնման ժամանակ pi crontab- ին ավելացնելու համար:

$ sh install.sh

5. Վերագործարկեք

$ sudo վերագործարկում

6. Այն պետք է վերագործարկվի և այնուհետև գործի անցնի:

ԱՎԱՐՏՎԵ

Խորհուրդ ենք տալիս: