Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Sekite daugiau autoriaus:
Turėjau avietinę ir elektroninio popieriaus skrybėlę ir norėjau ja pasinaudoti, norėdama parodyti informaciją, pavyzdžiui, kur yra TKS arba kiek žmonių dabar yra erdvėje …
Aš pasakiau, kad pažiūrėčiau, ar internete yra API tiems duomenims gauti, ir radau juos. Gerai, gotcha !!!!
Palaukite, ši skrybėlė turi 4 mygtukus, tada man reikia parodyti 4 duomenis …
- Kur dabar yra TKS?- Kiek žmonių dabar yra kosmose?- Kurioje fazėje yra Mėnulis?- Ar bus lietus? Ar taip šilta?…
Šiuo metu rodau tą informaciją, bet galėčiau atnaujinti šią „Instructable“, kai tik turiu gerą idėją, arba jei žinote gerą, galite man pasiūlyti !!!
Na, aš tai padariau vieną vakarą, o „FrontEnd“buvo baigtas po kelių dienų. Nesiskųskite, kaip rodoma informacija, man nepatinka kurti šią dalį:)
Prekės
- Aviečių PI (pakanka nulio).- 2,7 colio el. Popieriaus skrybėlė. (Aš čia nusipirkau)- SD kortelė (pakanka 4Gb).
Jums taip pat reikia „OpenWeather“prieigos rakto, kad galėtumėte naudoti jų API (iš čia)
1 veiksmas: atnaujinkite programinę įrangą (SO)
Pirmasis žingsnis, kaip visada, yra paruošti Raspberry PI su naujausia OS.- Atsisiųskite naujausią OS (su darbalaukiu) iš čia.- Parašykite vaizdą tuščioje SD kortelėje.- Sukurkite tuščią failą „ssh“, kad įgalintumėte SSH ryšį.- Išsaugokite failą „wpa_supplicant.conf“SD kortelėje, kad jūsų „Wifi“būtų sukonfigūruotas prisijungti prie jūsų „Raspberry PI“per SSH (jūs jį paruošėte savo kompiuteryje, aš tai žinau).
Pradėkite „Raspberry Pi“.
Prisijunkite prie jo per SSH (taip pat galite tai padaryti, jei turite monitorių, klaviatūrą ir pelę, bet aš neturiu ir norėčiau prisijungti per SSH) ir atnaujinkite …
sudo apt -get update -y
sudo apt -get upgrade -y
Dabar turite įgalinti VNC, kad galėtumėte prisijungti nuotoliniu būdu ir SPI el.
sudo raspi-config
Sąsajos parinktys> VNC> Taip Sąsajos parinktys> SPI> Taip
Ir iš naujo paleiskite.
2 veiksmas: reikalinga programinė įranga
Gerai, dabar turime veikiantį „Raspberry PI“su naujausia programine įranga ir visomis pagrindinėmis galimybėmis prisijungti prie jos.
Atėjo laikas pradėti diegti reikalingą programinę įrangą, kad būtų galima valdyti „e-Paper HAT“.
Jei nepridėjote skrybėlės prie Raspberry PI, dabar yra paskutinis momentas, kai jį prijungsite. Išjunkite Raspberry PI ir uždėkite ant jo skrybėlę.
Norėdami atlikti kitus veiksmus, galite sekti „Waveshare“instrukcijas arba sekti tai atlikdami kitus veiksmus….
Įdiekite BCM2835 bibliotekas:
wget
tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/sudo./configure sudo make sudo make check sudo make install #Norėdami gauti daugiau informacijos, žr.
Įdiekite „wiringPi“bibliotekas:
sudo apt-get install wiringpi
#„Pi 4“atveju turite jį atnaujinti : cd/tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v #Gausite 2,52 informacijos jei teisingai ją įdiegsite
Įdiekite „Python“bibliotekas: (Jei atnaujinote SO su naujausia versija, visi šie veiksmai bus panašūs į „Reikalavimas jau įvykdytas“).
sudo apt-get atnaujinimas
sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 įdiegti RPi. GPIO sudo pip3 įdiegti spidev
Dabar galite atsisiųsti pavyzdžių iš „Waveshare“: (Ši dalis nereikalinga, tačiau galite juos atsisiųsti, kad žinotumėte, kaip tai veikia).
sudo git klonas
cd e-popierius/RaspberryPi / & JetsonNano/
Rekomenduoju pašalinti kai kuriuos aplankus:- „e-Paper“/„Arduino“(tai aviečių PI).- „e-Paper“/STM32 (tai „Raspberry PI“).- „e-Paper“/„Raspberry & JetsonNano“/c (naudosime „python“). apie šį projektą).
Jūs jų nenaudosite ir jums jų nereikia „Raspberry PI“.
Ir jei norite, galite pašalinti visus nereikalingus failus iš aplanko „lib“, pvz.: - epd1in02.py - epd1in54.py - epd2in9.py -…
Jei ketiname naudoti 2,7 colio, likusių failų nereikia.
Aš rekomenduoju šiek tiek perkelti aplanką „lib“atgal, kad galėtumėte jį lengvai naudoti:
sudo mv lib/home/pi/e-Paper/
Tačiau į mano kodą (iš „GitHub“) bibliotekos yra įtrauktos.
Įdiegta visa reikalinga programinė įranga.
Kitas žingsnis yra mūsų kodas!
3 veiksmas: atsisiųskite mano kodą
Dabar turime atsisiųsti kodą iš „GitHub“:
sudo git klonas
Turėdami tai, mes turėsime visą reikalingą kodą, įskaitant „Waveshare“bibliotekas į faktinį projektą.
Redaguokite failą „ShowInfo.py“, kad įterptumėte savo API ženklą iš „OpenWeather.com“….… Ir miesto (naudokite miesto pavadinimą arba ID):
def WeatherForecast ():
url = "https://api.openweathermap.org/data/2.5/forecast?" #url = url + "q = {city_name}" #url = url + "q = Düsseldorf" #ASCII problemos !!! url = url + "id = 2934246" #url = url + "& appid = {your_API_key}" url = url + "& units = metric" # In metric url = url + "& cnt = 6" # Tik 6 rezultatai
Tačiau turime įdiegti šriftų failus, kuriuos naudojame projekte. Failai buvo atsisiųsti su visu kodu.
Šriftai yra aplanke „e-Paper/fonts“.
Norėdami išpakuoti:
sudo unzip Bangers.zip -d/usr/share/fonts/truetype/google/
sudo unzip Bungee_Inline.zip -d/usr/share/fonts/truetype/google/sudo unzip Bungee_Outline.zip -d/usr/share/fonts/truetype/google/sudo unzip Bungee_Shade.zip -d/usr/share/fonts/ truetype/google/sudo unzip droid-sans.zip -d/usr/share/fonts/truetype/google/sudo unzip Indie_Flower.zip -d/usr/share/fonts/truetype/google/sudo unzip Jacques_Francois_Shadow.zip -d/ usr/share/fonts/truetype/google/sudo unzip Londrina_Outline.zip -d/usr/share/fonts/truetype/google/sudo unzip Londrina_Shadow.zip -d/usr/share/fonts/truetype/google/sudo unzip Londrina_Sketch. zip -d/usr/share/fonts/truetype/google/sudo unzip Oswald.zip -d/usr/share/fonts/truetype/google/sudo unzip Roboto.zip -d/usr/share/fonts/truetype/google/ sudo unzip Vast_Shadow.zip -d/usr/share/fonts/truetype/google/
Po įdiegimo rekomenduoju ištrinti ZIP failus, nes mums tų failų nebereikia:
sudo rm -R šriftai
4 žingsnis: Vykdykite BANDYMĄ
Eikite į tinkamą aplanką, kuriame turime bandomąjį failą:
cd ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk
Vykdykite bandomąjį failą naudodami 3 versijos „Python“:
python3 Test001.py
Kol programa bus vykdoma, turėsite atsektus komentarus.
E-popieriaus ekrane pamatysite pranešimus.
Kiekvieno mygtuko ekrane bus rodomas skirtingas pranešimas.
5 veiksmas: parodykite Mėnulio / kosmoso / TKS informaciją…
Gerai, mes visi bėgame ir dabar norime pamatyti, kur yra TKS visame pasaulyje, ar Mėnulio fazė …
Pirmiausia turite paleisti failą „ShowInfo.py“(esantis „~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk“).
python3 ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk/ShowInfo.py
Ir dabar, jei paspausite vieną mygtuką, turėsite užprogramuotą informaciją šiam mygtukui:
● 1 mygtukas: orų prognozė.
● 2 mygtukas: kas yra erdvėje ir kur.
● 3 mygtukas: kur yra TKS visame pasaulyje.
● 4 mygtukas: informacija apie Mėnulį.
6 veiksmas: vykdykite tai kaip paslaugą
Kaip alternatyvą, „Python“scenarijų galima paleisti įkrovos metu sukuriant paslaugą - daugiau informacijos rasite adresu
Sukurkite naują failą „ShowInfo.service“ir nukopijuokite žemiau esantį turinį į naują failą - atitinkamai pakoreguokite „WorkingDirectory“kelią:
[Vienetas]
Aprašymas = ShowInfo After = network-online.target Nori = network-online.target [Paslauga] ExecStart =/usr/bin/python3 ShowInfo.py WorkingDirectory =/home/pi/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk/StandardOutput = paveldėti StandardError = paveldėti Paleisti iš naujo = visada Vartotojas = pi [Įdiegti] WantedBy = multi-user.target
Nukopijuokite ShowInfo.service failą į/etc/systemd/system kaip root:
sudo cp ShowInfo.service/etc/systemd/system/
Pradėkite paslaugą:
sudo systemctl paleiskite „ShowInfo.service“
Patikrinkite, ar paslauga veikia:
sudo systemctl būsena ShowInfo.service
Išvestis turėtų būti panaši į:
● ShowInfo.service - ShowInfo
Įkelta: įkelta (/etc/systemd/system/ShowInfo.service; išjungta; iš anksto nustatytas tiekėjas: įjungta) Aktyvus: aktyvus (veikia) nuo penktadienio 2020-09-11 15:17:16 CEST; Prieš 14s Pagrindinis PID: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453/usr/bin/python3 ShowInfo.py Rugsėjo 11 15:33:17 eInk systemd [1]: Pradėta ShowInfo.
Jei paslauga veikia gerai, galite ją įjungti ir iš naujo paleisti „Raspberry Pi“, kad ji būtų automatiškai įkelta įkrovos metu:
sudo systemctl įgalinti ShowInfo.service
Norėdami sustabdyti paslaugą:
sudo systemctl sustabdyti ShowInfo.service
Ir viskas !!!!!
Dėkoju !!!!!