Mundarija:

Elektron siyoh: Oy / ISS / Kosmosdagi odamlar : 6 qadam
Elektron siyoh: Oy / ISS / Kosmosdagi odamlar : 6 qadam

Video: Elektron siyoh: Oy / ISS / Kosmosdagi odamlar : 6 qadam

Video: Elektron siyoh: Oy / ISS / Kosmosdagi odamlar : 6 qadam
Video: Неожиданно СПАЛИЛСЯ 😂 #Shorts 2024, Noyabr
Anonim

Muallif tomonidan batafsil:

Raspberry PI bilan vaqt o'tishi
Raspberry PI bilan vaqt o'tishi
Raspberry PI bilan vaqt o'tishi
Raspberry PI bilan vaqt o'tishi

Menda malina va elektron qog'ozli HAT bor edi va men undan ISS qayerda yoki hozirda qancha odam borligi kabi ma'lumotlarni ko'rsatish uchun foydalanmoqchi edim …

Men bu ma'lumotlarni olish uchun Internetda API mavjudligini tekshirishni aytdim va ularni topdim. OK, gotcha !!!!

Kutib turing, bu HATda 4 tugma bor, keyin menga 4 ta ma'lumotlar ko'rsatilishi kerak …

- ISS hozir qayerda?- Hozir kosmosda qancha odam bor?- Oy qaysi fazada?- Yomg'ir yog'adimi? Bu shunchalik iliqmi?…

Hozir men bu ma'lumotlarni ko'rsatyapman, lekin men bu "Ko'rsatmali" ni yaxshi fikrga ega bo'lsam yangilashim mumkin edi, yoki agar siz yaxshi ma'lumotni bilsangiz, menga taklif qila olasiz !!!

Xo'sh, men buni bir oqshom qildim va "FrontEnd" bir necha kundan keyin tugadi. Ma'lumotlar qanday ko'rsatilayotganidan shikoyat qilmang, men bu qismni qilishni yoqtirmayman:)

Ta'minotlar

- Raspberry PI (nol etarli).- 2,7 dyuymli elektron qog'oz HAT. (Men bu yerni o'zimdan sotib oldim)- SD-karta (4Gb etarli).

API -dan foydalanish uchun sizga OpenWeather -dan Token kerak (bu erdan)

1 -qadam: Dasturiy ta'minotni yangilash (SO)

Dasturiy ta'minotni yangilash (SO)
Dasturiy ta'minotni yangilash (SO)
Dasturiy ta'minotni yangilash (SO)
Dasturiy ta'minotni yangilash (SO)
Dasturiy ta'minotni yangilash (SO)
Dasturiy ta'minotni yangilash (SO)

Birinchi qadam, har doimgidek, Raspberry PI-ni eng yangi OS bilan tayyorlash.- Oxirgi OS-ni (ish stoli bilan) bu erdan yuklab oling.- Rasmni bo'sh SD-kartaga yozing.- "Ssh" bo'sh faylini yarating. SSH ulanishi.- Wi-Fi-ni Raspberry PI-ga SSH orqali ulanadigan qilib sozlash uchun SD-kartadagi "wpa_supplicant.conf" faylini saqlang (u sizning kompyuteringizda tayyor, men bilaman).

Raspberry Pi -ni ishga tushiring.

Unga SSH orqali ulaning (agar sizda monitor, klaviatura va sichqoncha bo'lsa, buni ham qilishingiz mumkin, lekin menda yo'q va men SSH orqali ulanishni afzal ko'raman) va uni yangilang.

sudo apt -get update -y

sudo apt -get upgrade -y

Endi siz VNC-ni masofadan ulanish va elektron qog'ozli HAT uchun SPI-ni ulashingiz kerak:

sudo raspi-config

Interfacing Options> VNC> Ha Interfacing Options> SPI> Ha

Va uni qayta ishga tushiring.

2 -qadam: kerakli dasturiy ta'minot

Kerakli dasturiy ta'minot
Kerakli dasturiy ta'minot

Xo'sh, endi bizda Raspberry PI -ning eng so'nggi dasturiy ta'minoti va unga ulanish uchun barcha asosiy vositalar mavjud.

E-Paper HAT-ni boshqarish uchun kerakli dasturlarni o'rnatishni boshlash vaqti keldi.

Agar siz HATni Raspberry PI -ga ulamagan bo'lsangiz, hozir uni ulashning so'nggi vaqti. Raspberry PI -ni o'chiring va HAT -ni qo'ying.

Keyingi harakatlar uchun siz Waveshare ko'rsatmalariga amal qilishingiz yoki keyingi amallarni bajarishingiz mumkin.

BCM2835 kutubxonalarini o'rnating:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/sudo./configure sudo make sudo make check sudo make install #Batafsil ma'lumot uchun https://www.airspayce.com/mikem/bcm2835/ ga qarang.

WiringPi kutubxonalarini o'rnating:

sudo apt-get wiringpi-ni o'rnating

#Pi 4 uchun siz uni yangilashingiz kerak: cd/tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v #Siz 2,52 ma'lumot olasiz. agar siz uni to'g'ri o'rnatgan bo'lsangiz

Python kutubxonalarini o'rnating: (Agar siz SO -ni eng so'nggi versiya bilan yangilagan bo'lsangiz, bu qadamlarning barchasi "talab allaqachon qondirilgan" kabi bo'ladi).

sudo apt-get yangilanishi

sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 ni o'rnatish RPi. GPIO sudo pip3 ni o'rnatish spidev

Endi siz misollarni Waveshare -dan yuklab olishingiz mumkin: (Bu qism kerak emas, lekin qanday ishlashini bilish uchun ularni yuklab olishingiz mumkin).

sudo git clone

cd elektron qog'oz/RaspberryPi / & JetsonNano/

Men sizga ba'zi papkalarni olib tashlashni maslahat beraman:- e-Paper/Arduino (bu malina PI).- e-qog'oz/STM32 (bu malina PI).- e-qog'oz/malina va JetsonNano/c (biz pythondan foydalanamiz) ushbu loyiha bo'yicha).

Siz ularni ishlatmaysiz va ularga Raspberry PIda kerak emas.

Agar xohlasangiz, sizga kerak bo'lmagan barcha fayllarni "lib" papkasidan olib tashlashingiz mumkin, masalan: - epd1in02.py - epd1in54.py - epd2in9.py - …

Agar biz 2,7 dyuymdan foydalanmoqchi bo'lsak, qolgan fayllar kerak emas.

Men sizga "lib" jildini osongina ishlatish uchun biroz orqaga surishni maslahat beraman:

sudo mv lib/home/pi/e-Paper/

Biroq, mening kodimga (GitHub -dan) kutubxonalar kiritilgan.

Barcha kerakli dasturiy ta'minot o'rnatilgan.

Keyingi qadam - bu bizning kodimiz!

3 -qadam: Mening kodimni yuklab oling

Endi biz GitHub -dan kodni yuklab olishimiz kerak:

sudo git clone

Bu bilan biz kerakli kodni olamiz, shu jumladan Waveshare kutubxonalarini haqiqiy loyihaga.

OpenWeather.com saytidan API-tokenni kiritish uchun "ShowInfo.py" faylini tahrir qiling … va shahar (shaharning nomi yoki identifikatoridan foydalaning):

Def WeatherForecast ():

url = "https://api.openweathermap.org/data/2.5/forecast?" #url = url + "q = {city_name}" #url = url + "q = Düsseldorf" #ASCII muammolari !!! url = url + "id = 2934246" #url = url + "& appid = {your_API_key}" url = url + "& birliklar = metrik" # Metrikada url = url + "& cnt = 6" # Faqat 6 ta natija

Lekin, biz loyihada foydalanadigan shrift fayllarini o'rnatishimiz kerak, fayllar barcha kodlar bilan yuklangan.

Shriftlar "elektron qog'oz/shriftlar" papkasida joylashgan.

Ochish uchun:

sudo unzip Bangers.zip -d/usr/share/shriftlar/truetype/google/

sudo unzip Bungee_Inline.zip -d/usr/share/shriftlar/truetype/google/sudo unzip Bungee_Outline.zip -d/usr/share/shriftlar/truetype/google/sudo unzip Bungee_Shade.zip -d/usr/share/shriftlar/ truetype/google/sudo unzip droid-sans.zip -d/usr/share/font/truetype/google/sudo unzip Indie_Flower.zip -d/usr/share/shriftlar/truetype/google/sudo unzip Jacques_Francois_Shadow.zip -d/ usr/share/font/truetype/google/sudo unzip Londrina_Outline.zip -d/usr/share/shriftlar/truetype/google/sudo unzip Londrina_Shadow.zip -d/usr/share/fonts/truetype/google/sudo unzip Londrina_Sketch. zip -d/usr/share/shriftlar/truetype/google/sudo unzip Oswald.zip -d/usr/share/shriftlar/truetype/google/sudo unzip Roboto.zip -d/usr/share/shriftlar/truetype/google/ sudo unzip Vast_Shadow.zip -d/usr/share/shriftlar/truetype/google/

O'rnatishdan so'ng zip fayllarini o'chirishni maslahat beraman, chunki bizga endi bu fayllar kerak emas:

sudo rm -R shriftlari

4 -qadam: TESTni bajaring

TESTni bajaring
TESTni bajaring
TESTni bajaring
TESTni bajaring

Sinov fayli bo'lgan to'g'ri papkaga o'ting:

cd ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk

Python -ning 3 -versiyasi bilan sinov faylini bajaring:

python3 Test001.py

Dastur bajarilgandan so'ng sizda izohlar bo'ladi.

Va elektron qog'oz ekranida siz xabarlarni ko'rasiz.

Har bir tugma uchun ekranda boshqa xabar ko'rsatiladi.

5 -qadam: Oy / Kosmos / ISS ma'lumotlarini ko'rsatish …

Oy / Kosmos / ISS ma'lumotlarini ko'rsating …
Oy / Kosmos / ISS ma'lumotlarini ko'rsating …
Oy / Kosmik / ISS ma'lumotlarini ko'rsating …
Oy / Kosmik / ISS ma'lumotlarini ko'rsating …
Oy / Kosmos / ISS ma'lumotlarini ko'rsating …
Oy / Kosmos / ISS ma'lumotlarini ko'rsating …
Oy / Kosmos / ISS ma'lumotlarini ko'rsating …
Oy / Kosmos / ISS ma'lumotlarini ko'rsating …

OK, biz hammamiz yuguramiz va endi biz ISS butun dunyo bo'ylab yoki Oy fazasi qaerda ekanligini ko'rishni xohlaymiz …

Avval siz "ShowInfo.py" faylini ishga tushirishingiz kerak ("~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk" da joylashgan).

python3 ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk/ShowInfo.py

Va endi, agar siz bitta tugmani bosgan bo'lsangiz, siz ushbu tugma uchun dasturlashtirilgan ma'lumotlarni olasiz:

● 1 -tugma: ob -havo ma'lumoti.

● 2 -tugma: Kosmosda kim va qaerda.

● 3 -tugma: Dunyo bo'ylab ISS qayerda.

● 4 -tugma: Oy haqida ma'lumot.

6 -qadam: Xizmat sifatida bajaring

Shu bilan bir qatorda, Python skriptini yuklash paytida xizmat yaratish orqali ishga tushirish mumkin - qo'shimcha ma'lumot

ShowInfo.service deb nomlangan yangi fayl yarating va quyidagi fayllarni yangi faylga ko'chiring - mos ravishda WorkingDirectory yo'lini sozlang:

[Birlik]

Tavsif = ShowInfo After = network-online.target Istaydi = network-online.target [Service] ExecStart =/usr/bin/python3 ShowInfo.py WorkingDirectory =/home/pi/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk/StandardOutput = merosxo'r. = meros Qayta ishga tushirish = har doim User = pi [Install] WantedBy = multi-user.target

ShowInfo.service faylini/etc/systemd/system -ga root sifatida nusxalash:

sudo cp ShowInfo.service/etc/systemd/system/

Xizmatni boshlang:

sudo systemctl ShowInfo.service -ni ishga tushiring

Xizmat ishlayotganligini tekshiring:

sudo systemctl holati ShowInfo.service

Chiqish shunga o'xshash bo'lishi kerak:

● ShowInfo.service - ShowInfo

Yuklandi: yuklandi (/etc/systemd/system/ShowInfo.service; o'chirilgan; sotuvchi oldindan sozlangan: yoqilgan) Faol: faol (ishlayapti) 2020 yil 09-Juma 15:17:16 CEST; 14s oldin Asosiy PID: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453/usr/bin/python3 ShowInfo.py 11 -sentabr 15:33:17 eInk systemd [1]: ShowInfo boshlandi.

Agar xizmat yaxshi ishlayotgan bo'lsa, siz uni yoqishingiz va Raspberry Pi -ni qayta yuklashingiz mumkin, uni yuklash paytida avtomatik yuklaydi:

sudo systemctl ShowInfo.service -ni yoqadi

Xizmatni to'xtatish uchun:

sudo systemctl ShowInfo.service ni to'xtatadi

Va bu hammasi !!!!!

Rahmat !!!!!

Tavsiya: