Агуулгын хүснэгт:

Raspberry Pi сонирхогчдын радио дижитал цаг: 8 алхам (зурагтай)
Raspberry Pi сонирхогчдын радио дижитал цаг: 8 алхам (зурагтай)

Видео: Raspberry Pi сонирхогчдын радио дижитал цаг: 8 алхам (зурагтай)

Видео: Raspberry Pi сонирхогчдын радио дижитал цаг: 8 алхам (зурагтай)
Видео: ВСЯ НОЧЬ С ПОЛТЕРГЕЙСТОМ В ЖИЛОМ ДОМЕ, я заснял жуткую активность. 2024, Арваннэгдүгээр
Anonim
Raspberry Pi сонирхогчдын радио дижитал цаг
Raspberry Pi сонирхогчдын радио дижитал цаг

Тойм

Сонирхогчдын радио операторууд (HAM радио гэж нэрлэдэг) ихэнх үйл ажиллагааныхаа туршид 24 цагийн UTC (Universal Coordinated Time) ашигладаг. Би зөвхөн GUI цагны оронд хямд үнэтэй TM1637 4 оронтой дэлгэц, Raspberry Pi Zero W ашиглан дижитал цаг бүтээхээр шийдсэн. (Тоног төхөөрөмж бол хөгжилтэй!)

TM1637 хөтөч дэлгэц нь хоёр цифрийн хооронд ":" гэсэн хоёр цэг бүхий 7 сегментийн дөрвөн гэрэлтэй. Дэлгэцийг жолоодохын тулд хоёр утас, 5V + ба Ground, нийт 4 утастай байх шаардлагатай.

Энэхүү тодорхой төслийн хувьд би Raspi -ийг интернэтээр дамжуулан NTP (Network Time Protocol) серверүүдээс цаг авахыг хүсч байсан. Би энэ цагийн өөр хувилбарыг Arduino Uno болон бодит цагийн цагны модуль дээр ажиллуулахаар төлөвлөж байна.

Би мөн орон нутгийн цагийг 12 цаг, 24 цагийн форматаар, UTC -ийг 12 цаг, 24 цагийн форматаар харуулахыг хүссэн. Энэхүү програм хангамж нь танд UTC 24 цаг (ердийн хиам) эсвэл өөр өөр цагийг 4 хүртэлх дэлгэц дээр ашиглах боломжийг олгох зорилготой юм.

Та мөн орон нутгийн үндсэн цагийн оронд ашиглахыг хүсч буй ЦАГИЙН БҮСЭЭ тохируулж болно. Тиймээс дөрвөн дэлгэц тус бүр өөр өөр цагийн бүсийг 12 цаг эсвэл 24 цагийн форматаар харуулах боломжтой.

Энэ төсөл нь Pi ба/эсвэл tm1637 модулиуд дээр гагнуурын холбогч эсвэл утас шаардагдана.

Бүрэн зааврыг GITHUB дээрээс авах боломжтой:

Алхам 1: Шаардлага

Шаардлага
Шаардлага

• Raspberry Pi2, 3, эсвэл Zero W. (өөрөөр хэлбэл 40 зүү толгой ба Ethernet/Wifi бүхий бүх пи)

• 4-TM1637 4 оронтой дэлгэцийн модулиуд

Мөн/эсвэл

ТАЙЛБАР: Хэрэв та TM1637 -тэй нийцэж байгаа бол том эсвэл жижиг хэмжээтэйг ашиглаж болно.

• 16 утастай утас бэхэлгээ (TM1637 тус бүрт 4 утас хэрэгтэй)

• Гагнуургүй талхны самбар ба утас Эсвэл

• Гагнах боломжтой 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) Notepad ашиглан "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 руу "Бүх файлууд" болгон хадгалахыг ашиглана уу

Дахин хэлэхэд Notepad програмыг "wpa_supplicant.conf.txt" болгож өөрчлөхийг бүү зөвшөөр !!

Та Raspberry -ийг анх удаа ачаалах үед Raspbian эдгээрийг хайж, таны Wifi -д холбогдох болно. Автоматаар оноосон тул та чиглүүлэгчээсээ IP хаягийг хайх хэрэгтэй болно.

Алхам 3: Програм хангамж суурилуулах - Pt.2

1. Хэрэв та хараахан амжаагүй байгаа бол 8GB ба түүнээс дээш хэмжээтэй microSD карт дээр Raspbian Lite хувилбарыг суулгаарай. Танд 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 програмаас хост нэр [email protected] оруулна уу, тэгэхгүй бол таны чиглүүлэгч таны локал төхөөрөмжийн IP хаягийг харуулах эсэхийг харах хэрэгтэй болно. Анхдагч id/passwd нь "pi /бөөрөлзгөнө"

Pi хэрэглэгчээр нэвтэрсний дараа:

5. Raspbian програмаа шинэчилнэ үү: $ sudo apt update $ sudo apt upgrade

6. Raspberry-ийг тохируулах: $ sudo raspi-config a. Хэрэглэгчийн нууц үгийг өөрчлөх b. Локалчлалын сонголтууд -> Цагийн бүсийг өөрчлөх Орон нутгийн цагийн бүсээ сонгох c. Дуусгахын тулд таб

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 оронтой LED дэлгэцийн модуль бөгөөд TM1637 драйверын чипийг ашигладаг. 4 оронтой 8 сегментийн дэлгэцийг хянахын тулд зөвхөн хоёр холболт хэрэгтэй. Өөр хоёр утас нь 5+ вольтын хүчдэл ба газардуулгыг тэжээдэг.

PIN DESC CLK Цаг 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 зүү рүү утас эргүүлэх эсвэл залгахад хялбар байдаг. Хэрэв та 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 зүү

Энэ төсөл нь Pins -ийн GPIO физик BOARD id -ийг ашигладаг.

Энэ бол 1 -р зүү 40 -р зүү юм. "BCM" GPIO зүү дугаарлах биш. (Тийм ээ, бага зэрэг ойлгомжгүй, гэхдээ BOARD бол зүгээр л зүүн дээдээс баруун доод хүртэлх зүү тоо юм.)

Display Module TM1637 Module Pin Pi Physical 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 хүлээдэг тул өөрөөр хүлээхгүй байх шиг байна.

Goldered Breadboard -ийн жишээ зургууд Та өмнө нь үзүүлсэн GPIO тээглүүрийг тааруулахын тулд өөрийн утаснуудын загварыг дагах хэрэгтэй, учир нь миний ашигласан холбогч ба модулиуд таныхтай тохирохгүй байж магадгүй юм.

Алхам 6: Туршилт

Хөөх, энэ бол жаахан утас байсан юм! Одоо утааг шалгах цаг боллоо …

Та бие даасан модулиуд болон Pi ажлын талаар аль хэдийн мэддэг болсон тул (та өмнө нь тайлбарласны дагуу модулиудыг туршиж үзсэн үү?), Дараагийн алхам бол. INI файлыг тохируулах, цагийн програмыг ажиллуулах явдал юм.

1. raspiclock.ini -ийг засварлах

$ cd/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Num_modules -ийг хэдэн утсаар холбогдлоо гэж өөрчил. Хэрэв модультай ярьж чадахгүй бол номын сан ACK -ийг хүлээж байх тул энэ нь чухал юм. Модулийн тоог утастай холбож өгөх хэрэгтэй. INI -д ЗАХИАЛГА БОЛГОХ Тэмдэглэл: Хэрэв num_modules 4 -с бага бол нэмэлт TZ, HR болон GPIO PIN -ийг үл тоомсорлодог.

3. Модуль бүрийн хувьд цагийн бүсийг нэмнэ үү.

Энэ бол raspi-config-ээр тохируулсан таны орон нутгийн цагийн бүсэд зориулагдсан 'America/New_York', EST5EDT, UTC, 'Local' гэх мэт Linux TZ нэрс юм. Анхдагч утга нь UTC юм

4. Модуль бүрийн хувьд 12 цаг эсвэл 24 цагийн горимыг харуулах эсэхийг тохируулна уу

[ЦАГ]; TM1637 модулийн тоо (1-4 хооронд) num_modules = 2

; Модуль бүрийн цагийн бүс

; Орон нутгийн цагийн бүсийг тохируулахын тулд raspi-config ашиглана уу; Үндсэн утга нь UTC; Формат нь Линукс TZ нэр эсвэл орон нутгийн цагаар 'Орон нутгийн'; '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 тээглүүрийг Pi дээрх өөр зүү #-т залгахаас нааш засварлах шаардлагагүй болно.

6. Өөрчлөлтийг хадгалаад дараа нь цагийг ажиллуулна уу.

$ python raspiclock.py

Хэрэв бүх зүйл сайн байгаа бол таны бүх дэлгэцийн модулиуд. INI файлд тохируулагдсан хугацаанд гэрэлтэх ёстой.

Баяр хүргэе! Алдааг олж засварлах ажлыг алгасаад Эцсийн суулгалт руу очно уу …

Алхам 7: Алдааг олж засварлах

Та энгийн дибаг хийх мессежүүд гарч ирэх болно.

Эхлүүлж байна … Модулийн тоо = 4 Эхлэх цагийн хүрд… Модуль#1 дэлгэцTM () Модуль#2 дэлгэцTM () Модуль#3 дэлгэцTM () Модуль#4 дэлгэцTM () (давтаж байна …)

Хэрэв та өмнө нь модулиудыг туршиж үзсэн бөгөөд бүгд ажиллаж байсан бол модулиуд болон Raspberry сайн гэдгийг та мэднэ.

A) HANG - Хэрэв дибаг хийх зурвасууд нэг цэг дээр өлгөгдсөн бол програм нь#модулийн ACK -ийг хүлээж байна.

Эхлээд утсаа шалгаарай! Пи дээрх буруу GPIO зүү рүү утас эргүүлэх эсвэл залгахад хялбар байдаг.

Хоёрдугаарт, модуль гэнэт муудсан эсэхийг харахын тулд модулиудыг солино.

Гуравдугаарт, raspiclock.ini файлыг шалгаж, алдааг шалгаарай. Шаардлагатай бол лавлах санг бүхэлд нь устгаад дахин авахын тулд өөр GIT CLONE хийгээрэй.

Дөрөвдүгээрт, утсаа дахин шалгаарай!;-)

B) Хэрэв танд Python алдааны мессеж ирсэн бол Python хувилбараа дараах байдлаар шалгана уу.

$ python -V (том "V")

Python 2.7. X

Би Python 3 -ийн эсрэг туршиж үзээгүй тул номын сан нийцтэй эсэхийг мэдэхгүй байна. Алдааны мэдээг хуулж (ихэвчлэн алдааны сүүлийн мөрийг) хуулж, Google хайлт руу буулгана уу. Энэ нь юу болсон талаар тодорхой мэдээлэл өгч магадгүй юм.

Алхам 8: Эцсийн суулгалт

Эцсийн суурилуулалт
Эцсийн суурилуулалт

1.. INI файлыг дахин засаад debug = 0. $ cd/home/pi/RaspiDigiHamClock -ийг тохируулна уу.

$ nano raspiclock.ini

2. Мөн TZ -ийн цагийн бүс, хүний нөөцийн 12/24 цагийн тохиргоог хүссэнээрээ тохируулаарай.

3. Brightness -ийг хүссэнээрээ 1-7 хооронд тохируулна.

4. Ачаалах үед автоматаар эхлүүлэхийн тулд pi crontab дээр нэмэхийн тулд install.sh скриптийг ажиллуулна уу.

$ sh install.sh

5. Дахин ачаална уу

$ sudo дахин ачаална уу

6. Энэ нь дахин ачаалж, дараа нь ажиллаж эхлэх ёстой.

ДУУСГАСАН!

Зөвлөмж болгож буй: