Мазмуну:

Raspberry Pi ышкыбоздук радиосунун санариптик сааты: 8 кадам (сүрөттөр менен)
Raspberry Pi ышкыбоздук радиосунун санариптик сааты: 8 кадам (сүрөттөр менен)

Video: Raspberry Pi ышкыбоздук радиосунун санариптик сааты: 8 кадам (сүрөттөр менен)

Video: Raspberry Pi ышкыбоздук радиосунун санариптик сааты: 8 кадам (сүрөттөр менен)
Video: Radio Romania 9810 KHz 1/24/2020 15:06 GMT 2024, Ноябрь
Anonim
Raspberry Pi ышкыбоздук радиосунун санариптик сааты
Raspberry Pi ышкыбоздук радиосунун санариптик сааты

Обзор

Ышкыбоздук радио операторлору (aka HAM Radio) 24 саат UTC (универсалдуу координацияланган убакыт) колдонушат. Мен санариптик саатты курууну чечтим TM1637 арзан 4 орундуу дисплейлерди жана GUI саатынын ордуна Raspberry Pi Zero W. (Аппаратура кызыктуу!)

TM1637 менен шартталган дисплейде эки цифранын ортосунда борбордук чекит ":" менен 7 сегменттин төрт LED бар. Дисплейди кошуу үчүн 5 зым жана 5V + жана Ground үчүн жалпы 4 зым керек.

Бул өзгөчө долбоор үчүн, мен Raspi Интернет аркылуу NTP (Network Time Protocol) серверлеринен өз убактысын алууну кааладым. Мен бул сааттын дагы бир версиясын Arduino Uno жана реалдуу убакыт сааты модулунда иштөөнү пландап жатам, WiFi жок болгондо жана дагы көчмө иштөө үчүн.

Мен ошондой эле сааттын жергиликтүү убакытты 12 саат жана 24 саат форматында, ошондой эле 12 саат жана 24 саат форматында UTC көрсөтүшүн кааладым. Программалык камсыздоо сизге UTC 24h (типтүү ветчина) же 4 башка дисплейде ар кандай убакытты колдонууга уруксат берүү үчүн иштелип чыккан.

Ошондой эле демейки Жергиликтүү убакыттын ордуна колдонгуңуз келген УБАКЫТ ЗОНАСЫН коё аласыз. Ошентип, төрт дисплейдин ар бири башка убакыт алкагын жана 12 саат же 24 саат форматында көрсөтө алат.

Бул долбоорго Pi жана/же tm1637 модулдарына коннекторлорду же зымдарды кошуу керек.

Толук көрсөтмөлөр GITHUBда да бар:

1 -кадам: талаптар

Талаптар
Талаптар

• Raspberry Pi2, 3, же Zero W. (б.а. 40 пин башы жана Ethernet/Wifi менен каалаган пи)

• 4-TM1637 4 орундуу дисплей модулдары

Жана/же

ЭСКЕРТҮҮ: TM1637 шайкеш болгондо, чоңураак же кичирээкти колдоно аласыз.

• 16 зым менен өткөргүчтөр (ар TM1637ге 4 зым керек)

• Solderless Breadboard жана зымдар Же

• Solder жөндөмдүү Breadboard & ар кандай пин туташтыргычтары.

• Pi үчүн 8GB MicroSD же андан чоңураак

• Pi үчүн 5v электр менен камсыздоо.

2 -кадам: Программаны орнотуу

Бул колдонмо Тим Вайзенеггер тарабынан жазылган TM1637.py python китепканасын колдонууга оңой колдонот. (Эгерде сиз китепкана жөнүндө маалымат алгыңыз келсе, текшериңиз:

Сиз билесизби?

Эгерде сиз Raspbianди SD картага компьютерди орнотсоңуз, анда аны Raspberryге жүктөө алдында WiFi жана SSH мүмкүнчүлүгүн конфигурациялоо үчүн картада эки файл түзө аласызбы?

Бул үчүн, сиздин SD картаңыз учурда сиздин компьютериңизде K: деп орнотулган деп ойлоңуз.

1) Raspbian Lite сүрөтүн SDге орнотуңуз.

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

2) Блокнот менен "ssh" деп аталган файлды түзүңүз жана 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}

К: / wpa_supplicant.conf файлына "Бардык файлдар" катары сактаңыз

Дагы, Блокноттун аны "wpa_supplicant.conf.txt" деп өзгөртүүсүнө жол бербеңиз !!

Сиз Raspberryди биринчи жолу жүктөгөнүңүздө, Raspbian муну издеп, Wifiга туташат. IP дарегин роутериңизден издөө керек, бирок анын автоматтык түрдө дайындалганынан.

3 -кадам: Программаны орнотуу - Pt.2

1. Эгерде сизде буга чейин жок болсо, Raspbian Lite версиясын 8 ГБ же андан чоңураак microSD картага орнотуңуз. Сизге GUI версиясынын кереги жок, анткени бул долбоордо монитор же клавиатура колдонулбайт.

ЭСКЕРТҮҮ!: Бул долбоор Python2.7 талап кылат!

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

2. Сиз Raspberryге SSH аркылуу алыстан кирүүңүз керек болот. Windowsто сиз PUTTY SSH терминалдык программасын колдоно аласыз. Macта, жөн гана буйрук терминалынын терезесин алып келиңиз.

3. MicroSD картасын Pi'ге салыңыз жана азыр кубаттуулукту сайыңыз. Жүктөө үчүн бир нече мүнөт талап кылынат.

4. Raspberry Piге алыстан кирүү үчүн анын IP дарегин табышыңыз керек болот. Сиз аракет кылып көрсөңүз болот: $ ssh [email protected] (Же Puttyден, hostname [email protected] киргизиңиз, антпесе, роутериңиз жергиликтүү түзмөктөрүңүздүн IP даректерин көрсөтөбү же жокпу, көрүшүңүз керек болот. Демейки id/passwd - бул "pi" /малина”

Пи колдонуучу катары киргенден кийин:

5. Raspbian жаңыртуу: $ sudo apt update $ sudo apt upgrade

6. Малинаны конфигурациялоо: $ sudo raspi-config a. Колдонуучунун сырсөзүн өзгөртүү b. Локалдаштыруу параметрлери -> Убакыт алкагын өзгөртүү Жергиликтүү убакыт алкагын тандаңыз c. Аяктоо үчүн өтмөк

7. RaspiDigiHamClock программасын орнотуңуз: $ cd/home/pi $ sudo apt update $ sudo apt install $ git clone

8. Аппаратты $ өчүрүүнү орнотуу үчүн Пиңизди азыр өчүрүңүз

4 -кадам: Аппараттык зым

Аппараттык зымдар
Аппараттык зымдар
Аппараттык зымдар
Аппараттык зымдар
Аппараттык зымдар
Аппараттык зымдар

Сиз туташтыргычтарды TM1637 модулдарына жана Raspberry Pi'ге (эгерде буга чейин туташтыргычы жок болсо) ширете аласыз. Баштоодон мурун, дисплейлерди кантип орнотууну каалаарыңызды чечиңиз, эгерде сиз питага же дисплей модулдарына нан же ширетүүчү зымдарды колдоно турган болсоңуз.

TM1637 Module Pins

Wiring Эскертүү: Кээ бир tm1637 модулдары +5v жана GND казыктарын оодарат! Ошентип, сүрөттөр сыяктуу көрүнбөшү мүмкүн.

TM1637 модулу TM1637 айдоочу чипин колдонгон 4 орундуу дисплей модулу. Бул 4 орундуу 8 сегменттүү дисплейди башкаруу үчүн эки гана байланыш керек. Дагы эки зым 5+ вольтту жана жерди азыктандырат.

PIN DESC CLK Clock DIO маалыматы GND Ground 5V +5 вольтто

Кээ бир tm1637 модулдары +5v жана GND төөнөгүчтөрүн которушат, андыктан модулуңуздун белгилерин текшериңиз

Мен ар бир модулду сынап көрөм, модулдардын бирине жана Пи -ге кошулган эркек коннекторлору бар 4 зымдуу аял коннектор кабелинен баштоону сунуштайм. Андан кийин биринчи модулду төмөндө көрсөтүлгөн казыктарга чейин убактылуу туташтырыңыз.

УБАКТЫК ТЕСТ А MODULETM1637 модулу Pin Pi физикалык пин# 5V 2 GND 6 CLK 40 DIO 38 Пин макетин табуу үчүн GPIO диаграммаларын ылдый караңыз.

Экинчи сүрөттө Raspberry Pi 3ке убактылуу орнотулган эки дисплей көрсөтүлгөн.

1. Бир жолу модулуңуз бар болгондон кийин, зымыңыз убактылуу туташып, зымдарыңызды текшерип көрүңүз

2. Raspberry Pi'ни кубаттаңыз. Модулдагы кызыл LED күйүшү керек, бирок азырынча дисплей болбойт.

3. SSH сиздин Пиңизге мурдагыдай эле кайра.

$ cd RaspiDigiHamClock

$ python test.py

Сиз дисплей циклин ар кандай кыска билдирүүлөр аркылуу көрүшүңүз керек. Антпесеңиз, адегенде зымыңызды кайра текшериңиз! Пидеги туура эмес GPIO Pin'ге зымды оодаруу же туташтыруу оңой. Эгер сиз Python ката билдирүүсүн алсаңыз, Python версияңызды текшериңиз:

$ python -V (баш тамга "V")

Python 2.7. X

Мен Python 3кө каршы сыноодон өткөн жокмун, андыктан китепкана шайкеш келер -келбесин билбейм.

Ката билдирүүсүн көчүрүңүз (адатта катанын акыркы сабы) жана Google издөөгө чаптаңыз. Бул эмне болгонун түшүнүүгө жардам берет.

Эгер модулуңуз иштесе, куттуктайбыз! Сиз модул менен Pi иштеп жатканын билесиз. Эми аны текшерүү үчүн ар бир модул үчүн кайталаңыз. (Мен модулдарды туташтыруудан/ажыратуудан мурун Pi жана өчүрүүнү сунуштайм !!)

$ sudo азыр жабылат

5 -кадам: Raspiдеги GPIO Pins

Raspiдеги GPIO пиндери
Raspiдеги GPIO пиндери
Raspiдеги GPIO пиндери
Raspiдеги GPIO пиндери
Raspiдеги GPIO пиндери
Raspiдеги GPIO пиндери

Бул долбоор пиндер үчүн GPIO физикалык BOARD идентификаторлорун колдонот.

Бул 1 -пин 40ка чейин. Бул "BCM" GPIO пин номери эмес. (Ооба, бир аз түшүнүксүз, бирок BOARD - бул солдон оңго карай пин эсептөө.)

Display Module TM1637 Module Pin Pi Физикалык Pin#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

Эскертүү: Кааласаңыз, бардык 4 модулду кошуунун кажети жок. Сиз 1ден 4кө чейин модулга ээ боло аласыз. (Ооба, дагы модулдарга барууга болот, бирок көбүрөөк колдоо үчүн кодду өзгөртүү керек.)

БИРОК, сиз модулдарды #1ден баштап ырааттуу түрдө туташтырышыңыз керек

Бул TM1637 китепканасы модулдан ACK күтөт, антпесе башкача күтөт.

Soldered Breadboardдун сүрөттөрүнүн үлгүлөрү Сиз көрсөткөн GPIO төөнөгүчтөрүнө дал келүү үчүн өзүңүздүн зым үлгүңүздү ээрчишиңиз керек, анткени мен колдонгон туташтыргычтар жана модулдар сиздикине дал келбеши мүмкүн.

6 -кадам: Тестирлөө

Ой, бул бир аз зым болчу! Азыр түтүндү текшерүүгө убакыт келди …

Сиз жеке модулдарды жана Pi ишин билгениңиз үчүн (сиз буга чейин сүрөттөлгөндөй модулдарды сынап көрдүңүз беле?), Анда кийинки кадам. INI файлын орнотуу жана саат программасын иштетүү:

1. raspiclock.ini түзөтүңүз

$ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. num_modules'ти канча зым менен байланыштырганыңызга өзгөртүңүз. Бул маанилүү, анткени модуль менен сүйлөшө албаса, китепкана ACK күтүп турат.. INIде көрсөтүлгөн тартипте модулдардын санына зым салууну унутпаңыз Эскертүү: num_modules 4төн аз болсо, Extra TZ жана HR жана GPIO PINS этибарга алынбайт.

3. Ар бир модуль үчүн убакыт алкагын кошуңуз.

Бул raspi-config аркылуу белгиленген жергиликтүү убакыт алкагыңыз үчүн 'America/New_York', EST5EDT, UTC же 'Local' сыяктуу Linux TZ аттары. Демейки - UTC

4. Ар бир модуль үчүн 12 саат же 24 саат режимин көрсөтүүнү тандаңыз

[CLOCK]; TM1637 модулдарынын саны (1ден 4кө чейин) num_modules = 2

; Ар бир модул үчүн убакыт алкактары

; Жергиликтүү убакыт алкагын коюу үчүн raspi-config колдонуңуз; По умолчанию UTC; Формат Linux TZ аттары же жергиликтүү убакыт үчүн 'Local'; 'America/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =

; Ар бир модуль үчүн 12/24 саат

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

; ЖАРКЫНДЫК (диапазон 1..7)

LUM = 1

5. Сиз GPIO төөнөгүчтөрүн Пидеги башка #пинге туташтырмайынча, аларды түзөтүүнүн кажети жок.

6. Өзгөртүүлөрдү сактоо жана андан кийин саатты иштетүү:

$ python raspiclock.py

Эгерде баары жакшы болсо, дисплей модулдарыңыздын бардыгы. INI файлында орнотулган убакыт менен жарыкташы керек.

Куттуктайм! Мүчүлүштүктөрдү оңдоону өткөрүп жиберип, Акыркы орнотууга өтүңүз …

7 -кадам: Мүчүлүштүктөрдү оңдоо

Сиз кээ бир жөнөкөй мүчүлүштүктөрдү билдирүүлөрдү пайда көрүшү керек:

Башталууда… Модулдардын саны = 4 Иштөө убактысы… Модуль#1 дисплей TM () Модуль#2 дисплей TM () Модуль#3 дисплей TM () Модуль#4 дисплей TM () (кайталанууда…)

Эгер сиз мурда модулдарды сынап көрсөңүз жана алар баары иштесе, анда сиз модулдарды жана Малинаны жакшы билесиз.

A) HANG - Эгерде мүчүлүштүктөрдү оңдоо билдирүүлөрү бир жерде илинип калса, анда программа#модулунан ACK күтөт.

Адегенде зымдарды текшериңиз! Пи боюнча туура эмес GPIO Пинге зымды буруп же туташтыруу оңой.

Экинчиден, модулдар бир заматта бузулуп кеткенин билүү үчүн алмаштырыңыз.

Үчүнчүдөн, raspiclock.ini файлын каталар үчүн текшериңиз. Керек болсо, каталогду толугу менен жок кылып, кайра алуу үчүн башка GIT CLONE жасаңыз.

Төртүнчүдөн, зымдарды кайра текшериңиз!;-)

B) Эгер сиз 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. Жарыкты 1 жана 7 ортосунда каалагандай орнотуңуз.

4. Жүктөөдө автоматтык түрдө баштоо үчүн pi crontabга кошуу үчүн install.sh скриптин иштетиңиз.

$ sh install.sh

5. Кайра жүктөө

$ sudo кайра жүктөө

6. Бул өчүрүп -күйгүзүп, анан иштей башташы керек.

БҮТКӨН!

Сунушталууда: