Mundarija:

Raspberry Pi havaskor radio raqamli soat: 8 qadam (rasmlar bilan)
Raspberry Pi havaskor radio raqamli soat: 8 qadam (rasmlar bilan)

Video: Raspberry Pi havaskor radio raqamli soat: 8 qadam (rasmlar bilan)

Video: Raspberry Pi havaskor radio raqamli soat: 8 qadam (rasmlar bilan)
Video: MJC Stream: Видишь енота? А он есть! Главное об ML и компьютерном зрении 2024, Noyabr
Anonim
Raspberry Pi havaskor radio raqamli soat
Raspberry Pi havaskor radio raqamli soat

Sharh

Havaskor radio operatorlari (aka HAM Radio) o'z ishlarining ko'p qismi uchun 24 soatlik UTC (Universal muvofiqlashtirilgan vaqt) dan foydalanadilar. Men raqamli soatni arzon narxli TM1637 4 raqamli displeylar va GUI soati o'rniga Raspberry Pi Zero W yordamida qurishga qaror qildim. (Uskuna qiziqarli!)

TM1637 boshqariladigan displeyda ikkita raqamlar orasidagi ":" markaziy nuqta bilan 7 segmentli to'rtta LED mavjud. Displeyni boshqarish uchun ikkita sim, shuningdek 5V + va Ground jami 4 ta sim kerak.

Ushbu loyiha uchun men Raspi o'z vaqtini Internet orqali NTP (Network Time Protocol) serverlaridan olishni xohlardim. Men ushbu soatning boshqa versiyasini Arduino Uno va real vaqtda soat modulida ishlashni rejalashtirmoqdaman, chunki u Wi-Fi mavjud bo'lmaganda va portativ ishlash uchun.

Shuningdek, men soatni mahalliy soatni 12 soat va 24 soat formatida, shuningdek UTC 12 soat va 24 soat formatida ko'rsatishini xohlardim. Dastur sizga UTC 24 soat (odatdagi jambon) yoki 4 xil displeyda har xil vaqtlarda foydalanish imkonini beradi.

Shuningdek, siz mahalliy mahalliy vaqt o'rniga foydalanmoqchi bo'lgan TIME ZONASINI o'rnatishingiz mumkin. Shunday qilib, to'rtta displeyning har biri boshqa vaqt zonasini ko'rsatishi mumkin va 12 soat yoki 24 soat formatida.

Ushbu loyiha Pi va/yoki tm1637 modullariga ulagichlar yoki simlarni lehimlashni talab qiladi.

To'liq ko'rsatmalar GITHUB -da ham mavjud:

1 -qadam: talablar

Talablar
Talablar

• Raspberry Pi2, 3 yoki Zero W. (40 pinli sarlavhali va chekilgan/Wi -Fi)

• 4-TM1637 4 raqamli ko'rsatish modullari

Va/yoki

QAYD: siz TM1637 mos kelsa, kattaroq yoki kichikroqdan foydalanishingiz mumkin.

• 16 ta simli simlar (har bir TM1637 uchun 4 ta sim kerak)

• Lehimsiz non paneli va simlar Yoki

• Lehim bilan ishlaydigan non paneli va turli pinli ulagichlar.

• Pi uchun 8 Gb yoki undan kattaroq MicroSD

• Pi uchun 5V quvvat manbai.

2 -qadam: dasturiy ta'minotni o'rnatish

Bu ilovada Tim Vayzenegger yozgan TM1637.py python kutubxonasidan foydalanish oson. (Agar siz kutubxona haqida tafsilotlarni bilmoqchi bo'lsangiz, qarang:

Bilasizmi?

Agar siz Raspbian -ni kompyuter yordamida SD -kartaga o'rnatgan bo'lsangiz, uni Raspberry -ni yuklamasdan oldin Wi -Fi va SSH -ga kirishni sozlash uchun kartada ikkita fayl yaratishingiz mumkinmi?

Buning uchun sizning SD -kartangiz hozirda kompyuteringizda K: o'rnatilgan deb taxmin qiling.

1) Raspbian Lite tasvirini SD -ga o'rnating.

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

2) Notepad yordamida "ssh" deb nomlangan fayl yarating va "Hamma fayllar" sifatida saqlashni K: / ssh -ga ishlating.

Fayl har qanday narsani o'z ichiga olishi mumkin. Bu muhim bo'lgan fayl nomi. "Ssh.txt" bo'lmasligi kerak !!!

3) Notepad yordamida "wpa_supplicant.conf" deb nomlangan ikkinchi fayl yarating:

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

K: / wpa_supplicant.conf faylini "Hamma fayllar sifatida saqlash" dan foydalaning

Shunga qaramay, Notepad uni "wpa_supplicant.conf.txt" ga o'zgartirishiga yo'l qo'ymang !!

Raspberry -ni birinchi marta yuklaganingizda, Raspbian ularni qidiradi va Wi -Fi tarmog'iga ulanadi. IP -manzil uchun yo'riqchini qidirishingiz kerak bo'ladi, chunki u avtomatik tayinlangan.

3 -qadam: Dasturiy ta'minotni o'rnatish - 2 -band

1. Agar sizda hali bo'lmasa, Raspbian Lite versiyasini 8 Gb yoki undan katta microSD kartaga o'rnating. Sizga GUI versiyasi kerak emas, chunki bu loyihada monitor yoki klaviatura ishlatilmaydi.

QAYD!: Bu loyiha uchun Python2.7 kerak!

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

2. Raspberry -ga SSH orqali masofadan kirishingiz kerak bo'ladi. Windows -da siz PUTTY SSH terminal dasturidan foydalanishingiz mumkin. Mac -da, faqat buyruq terminali oynasini oching.

3. MicroSD kartani Pi -ga joylashtiring va hoziroq quvvat manbaiga ulang. Yuklash uchun bir necha daqiqa kerak bo'ladi.

4. Raspberry Pi -ga masofadan kirish uchun siz uning IP -manzilini topishingiz kerak bo'ladi. Siz urinib ko'rishingiz mumkin: $ ssh [email protected] (Yoki Putty -dan hostname [email protected] kiriting, aks holda siz yo'riqnoma mahalliy qurilmalaringizning IP -manzillarini ko'rsatadimi -yo'qligini ko'rishingiz kerak bo'ladi. Standart id/passwd - bu "pi" /Malina"

Pi foydalanuvchisi sifatida kirgandan so'ng:

5. Raspbian -ni yangilang: $ sudo apt update $ sudo apt upgrade

6. Malinani sozlang: $ sudo raspi-config a. Foydalanuvchi parolini o'zgartirish b. Mahalliylashtirish imkoniyatlari -> Vaqt mintaqasini o'zgartirish Mahalliy vaqt mintaqangizni tanlang c. Tugatish uchun yorliq

7. RaspiDigiHamClock dasturini o'rnating: $ cd/home/pi $ sudo apt update $ sudo apt install git $ git clone

8. Uskuna $ o'chirilishini sozlash uchun Pi -ni o'chiring, LED o'chgandan so'ng, quvvatni o'chiring

4 -qadam: Uskuna simlarini ulash

Uskuna simlari
Uskuna simlari
Uskuna simlari
Uskuna simlari
Uskuna simlari
Uskuna simlari

Siz ulagichlarni TM1637 va Raspberry Pi modullariga lehimlashingiz mumkin (agar u hali ulagichga ega bo'lmasa). Ishni boshlashdan oldin, displeylarni qanday o'rnatishni xohlayotganingizni va agar non paneli yoki lehim simlarini to'g'ridan -to'g'ri Pi va displey modullariga ishlatmoqchi bo'lsangiz, qaror qabul qiling.

TM1637 moduli pinlari

Kabelga eslatma: Ba'zi tm1637 modullari +5v va GND pinlarini buradi! Shunday qilib, fotosuratlar bilan bir xil bo'lmasligi mumkin.

TM1637 moduli-bu TM1637 haydovchi chipidan foydalanadigan 4 xonali LED displeyli modul. 4-raqamli 8-segmentli displeyni boshqarish uchun unga faqat ikkita ulanish kerak. Boshqa ikkita sim 5+ voltli kuch va tuproqni oziqlantiradi.

PIN DESC CLK Clock DIO ma'lumotlari GND Ground 5V +5 voltli

Ba'zi tm1637 modullari +5v va GND pinlarini o'zgartiradi, shuning uchun modul belgilarini tekshiring

Men har bir modulni sinab ko'raman, men modullardan biriga va Pi ga lehimli erkak konnektorli bitta 4 simli ayol konnektor kabelidan boshlashni taklif qilaman. Keyin vaqtincha birinchi modulni quyida ko'rsatilgan pinlarga ulang.

Vaqtinchalik sinov MODULETM1637 moduli Pin Pi jismoniy pin# 5V 2 GND 6 CLK 40 DIO 38 Pim sxemalarini topish uchun GPIO diagrammalarini pastdan ko'ring.

Ikkinchi fotosuratda Raspberry Pi 3 ga vaqtincha ulangan ikkita displey ko'rsatilgan.

1. Modulga ega bo'lgandan so'ng, vaqtincha simni ulab, simlaringizni tekshiring

2. Raspberry Pi -ni yoqing. Moduldagi qizil LED yonishi kerak, lekin displey hali bo'lmaydi.

3. SSH sizning Pi -ga avvalgidek qayta kiritiladi.

$ CD RaspiDigiHamClock

$ python test.py

Siz turli xil qisqa xabarlar orqali ekran aylanishini ko'rishingiz kerak. Agar buni qilmasangiz, avval elektr simingizni yana tekshiring! Simni burish yoki Pi -dagi noto'g'ri GPIO pinini ulash oson. Agar siz Python xato xabari olsangiz, Python versiyasini tasdiqlang:

$ python -V (katta "V")

Python 2.7. X

Men Python 3 ga qarshi sinov o'tkazmadim, shuning uchun kutubxonaning mos kelishiga ishonchim komil emas.

Xato haqidagi xabarni nusxa ko'chiring (odatda xatoning oxirgi satri) va Google qidiruviga joylashtiring. Bu nima bo'lgani haqida ma'lumot berishi mumkin.

Agar sizning modulingiz ishlayotgan bo'lsa, tabriklaymiz! Siz modul va Pi ishlayotganini bilasiz. Endi uni sinab ko'rish uchun har bir modul uchun takrorlang. (Men modullarni ulash/o'chirishdan oldin Pi ni o'chirishni va o'chirishni taklif qilaman!)

$ sudo hozir yopiladi

5 -qadam: Raspi -da GPIO pinlari

Raspi -da GPIO pinlari
Raspi -da GPIO pinlari
Raspi -da GPIO pinlari
Raspi -da GPIO pinlari
Raspi -da GPIO pinlari
Raspi -da GPIO pinlari

Ushbu loyiha pinlar uchun GPIO jismoniy BOARD identifikatorlaridan foydalanadi.

Bu 1 -pin 40 -pin. Bu "BCM" GPIO pin raqamlash emas. (Ha, biroz chalkash, lekin BOARD - bu chapdan pastdan o'ngga).

TM1637 displey moduli PIN -kodli jismoniy pin#quvvat 5V 2 tuproqli GND 6

Modul № 1 CLK 33

DIO 31

2 -modul CLK 36

DIO 32

Modul № 3 CLK 37

DIO 35

Modul № 4 CLK 40

DIO 38

Eslatma: Agar xohlasangiz, barcha 4 modulni qo'shishingiz shart emas. Sizda 1 dan 4 tagacha modul bo'lishi mumkin. (Ha, ko'proq modullarga o'tish mumkin, lekin ko'proq qo'llab -quvvatlash uchun kodni o'zgartirish kerak.)

LEKIN, siz 1 -moduldan boshlab modullarni ketma -ket ulashingiz kerak

Buning sababi, TM1637 kutubxonasi moduldan ACK kutadi, aks holda kutish to'xtatiladi.

Lehimlangan taxtaning namunali fotosuratlari Siz ilgari ko'rsatilgan GPIO pinlariga mos kelish uchun o'zingizning simli sxemangizga amal qilishingiz kerak, chunki men ishlatgan ulagichlar va modullar siznikiga mos kelmasligi mumkin.

6 -qadam: Test

Voy, bu biroz simli aloqa edi! Endi tutunni tekshirish vaqti keldi …

Siz alohida modullar va Pi ishlarini bilganingiz uchun (siz modullarni yuqorida ta'riflanganidek sinab ko'rdingizmi?), Keyingi qadam. INI faylini o'rnatish va soat dasturini ishga tushirishdir:

1. raspiclock.ini -ni tahrirlang

$ CD/home/pi/RaspiDigiHamClock

$ nano raspiclock.ini

2. Num_modules -ni qancha simli ulanganingizga o'zgartiring. Bu juda muhim, chunki modul bilan gaplasha olmasa, kutubxona ACK kutadi. Modullar sonini kiritishni unutmang. INI da ko'rsatilgandek tartibda. Agar raqamlar_modullari 4dan kam bo'lsa, qo'shimcha TZ va HR va GPIO PIN -kodlari e'tiborga olinmaydi.

3. Har bir modul uchun vaqt zonalarini qo'shing.

Bu raspi-config orqali o'rnatilgan mahalliy vaqt mintaqasi uchun "America/New_York", EST5EDT, UTC yoki "Local" kabi Linux TZ nomlari. Standart - UTC

4. Har bir modul uchun 12 soat yoki 24 soat rejimini ko'rsatishni belgilang

[SAAT]; TM1637 modullari soni (1 dan 4 gacha) num_modules = 2

; Har bir modul uchun vaqt zonalari

; Mahalliy vaqt mintaqasini o'rnatish uchun raspi-config-dan foydalaning; Standart - UTC; Format - Linux TZ nomlari yoki mahalliy vaqt uchun "Mahalliy"; 'America/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =

; Har bir modul uchun 12/24 soat

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

; Yorqinligi (diapazon 1..7)

LUM = 1

5. Agar GPIO pinlarini Pi -dagi boshqa pinlarga ulamasangiz, ularni tahrir qilishingiz shart emas.

6. O'zgarishlarni saqlang va keyin soatni ishga tushiring:

$ python raspiclock.py

Agar hamma narsa yaxshi bo'lsa, sizning barcha displey modullaringiz. INI faylida o'rnatilgan vaqt bilan yonib turishi kerak.

Tabriklaymiz! Nosozliklarni tuzatishni o'tkazib yuboring va oxirgi o'rnatishga o'ting …

7 -qadam: Muammolarni bartaraf etish

Siz oddiy disk raskadrovka xabarlarini ko'rishingiz kerak:

Boshlanmoqda… Modullar soni = 4 Boshlang'ich soat tsikli… 1 -modul displey TM () 2 -modul displey TM) 3 -modul displey TM () 4 -modul displey TM () (takrorlanmoqda …)

Agar siz ilgari modullarni sinovdan o'tkazgan bo'lsangiz va ularning hammasi ishlagan bo'lsa, demak siz modul va Raspberry yaxshi ekanligini bilasiz.

A) HANG - Agar disk raskadrovka xabarlari bir joyda osilganga o'xshasa, dastur#modulidan ACK kutadi.

Avval simlaringizni tekshiring! Simni burish yoki Pi -dagi noto'g'ri GPIO pinini ulash oson.

Ikkinchidan, modul birdaniga ishdan chiqqanini ko'rish uchun modullarni almashtiring.

Uchinchidan, raspiclock.ini faylini xatolar uchun tekshiring. Agar kerak bo'lsa, butun katalogni o'chirib tashlang va yana olish uchun boshqa GIT CLONE qiling.

To'rtinchidan, simni yana tekshiring!;-)

B) Agar siz Python xato xabari olsangiz, Python versiyasini quyidagicha tasdiqlang:

$ python -V (poytaxti "V")

Python 2.7. X

Men Python 3 ga qarshi sinov o'tkazmadim, shuning uchun kutubxonaning mos kelishiga ishonchim komil emas. Xato haqidagi xabarni nusxalash (odatda xatoning oxirgi satri) va Google qidiruviga joylashtirish. Bu nima bo'lgani haqida ma'lumot berishi mumkin.

8 -qadam: Yakuniy o'rnatish

Yakuniy o'rnatish
Yakuniy o'rnatish

1. INI faylini qayta tahrirlang va disk raskadrovka = 0. $ cd/home/pi/RaspiDigiHamClock -ni o'rnating.

$ nano raspiclock.ini

2. Shuningdek, TZ vaqt zonalari va HR 12/24 soatlik sozlamalari xohlaganingizcha tekshiring.

3. Yorqinlikni xohlaganingizcha 1 dan 7 gacha o'rnating.

4. Yuklashda avtomatik ishga tushirish uchun pi crontab -ga qo'shish uchun install.sh skriptini ishga tushiring.

$ sh install.sh

5. Qayta yuklash

$ sudo qayta ishga tushirish

6. U qayta ishga tushishi va keyin ishga tushishi kerak.

Tugatildi!

Tavsiya: