Indholdsfortegnelse:

E-Ink: Moon / ISS / People in Space : 6 trin
E-Ink: Moon / ISS / People in Space : 6 trin

Video: E-Ink: Moon / ISS / People in Space : 6 trin

Video: E-Ink: Moon / ISS / People in Space : 6 trin
Video: Soyuz rendezvous and docking explained 2024, Juli
Anonim

Af emihermesFølg mere af forfatteren:

Tidsforløb med hindbær PI
Tidsforløb med hindbær PI
Tidsforløb med hindbær PI
Tidsforløb med hindbær PI

Jeg havde en Hindbær og en e-Paper HAT, og jeg ville bruge den til at vise oplysninger om hvor ISS er, eller hvor mange mennesker der nu er i rummet …

Jeg erklærede at se om der er API'er på Internettet for at få disse data, og jeg fandt dem. OK, gotcha !!!!

Vent, denne HAT har 4 knapper, og derefter skal jeg have 4 data vist …

- Hvor er ISS nu?- Hvor mange mennesker er der nu i rummet?- I hvilken fase er månen?- Kommer det til at regne? Er det så varmt?…

Lige nu viser jeg disse oplysninger, men jeg kunne opdatere denne "instruerbare" så snart jeg fik en god idé, eller hvis du kender en god, kan du foreslå det for mig !!!

Nå, jeg nåede det en aften, og "FrontEnd" blev afsluttet et par dage efter. Klag ikke over, hvordan oplysningerne vises, jeg kan ikke lide at lave denne del:)

Forbrugsvarer

- Hindbær PI (nul er nok).- 2,7 tommer e-Paper HAT. (Jeg købte mit her)- SD-kort (4Gb er nok).

Du har også brug for et Token fra OpenWeather for at bruge dem API'er (herfra)

Trin 1: Opdater software (SO)

Opdater software (SO)
Opdater software (SO)
Opdater software (SO)
Opdater software (SO)
Opdater software (SO)
Opdater software (SO)

Det første trin er som altid at forberede din Raspberry PI med det nyeste operativsystem.- Download det nyeste operativsystem (med skrivebord) herfra.- Skriv billedet på et tomt SD-kort.- Opret en tom fil "ssh" for at aktivere SSH-forbindelsen.- Gem filen "wpa_supplicant.conf" på SD-kortet for at få din Wifi konfigureret til at oprette forbindelse til din Raspberry PI via SSH (du har den forberedt på din computer, jeg ved det).

Start din Raspberry Pi.

Opret forbindelse til det via SSH (du kan også gøre det, hvis du har en skærm, tastatur og mus, men jeg har ikke, og jeg foretrækker at oprette forbindelse via SSH) og opdatere det ….

sudo apt -get update -y

sudo apt -get upgrade -y

Nu skal du aktivere VNC for at kunne forbinde eksternt og SPI til e-Paper HAT:

sudo raspi-config

Grænsefladeindstillinger> VNC> Ja Interfaceringsindstillinger> SPI> Ja

Og genstart det.

Trin 2: Nødvendig software

Nødvendig software
Nødvendig software

Ok, nu har vi et kørende hindbær PI med den nyeste software og alt det grundlæggende for at oprette forbindelse til det.

Det er øjeblikket til at begynde at installere den nødvendige software til at styre e-Paper HAT.

Hvis du ikke har tilsluttet HAT til din Raspberry PI, er det sidste øjeblik at tilslutte den. Sluk din Raspberry PI og sæt HAT på den.

For de næste trin kan du følge instruktionerne fra Waveshare eller følge den med de næste trin ….

Installer BCM2835 -biblioteker:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/sudo./configure sudo make sudo make check sudo make install #For flere detaljer henvises til

Installer wiringPi -biblioteker:

sudo apt-get install wiringpi

#Til Pi 4 skal du opdatere den: cd/tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v #Du får 2.52 oplysninger hvis du installerer det korrekt

Installer Python -biblioteker: (Hvis du opdaterede SO med den nyeste version, vil alle disse trin være "Krav allerede opfyldt").

sudo apt-get opdatering

sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi. GPIO sudo pip3 install spidev

Nu kan du downloade eksemplerne fra Waveshare: (Denne del er IKKE nødvendig, men du kan downloade dem for at vide, hvordan det fungerer).

sudo git-klon

cd e-Paper/RaspberryPi / & JetsonNano/

Jeg anbefaler dig at fjerne nogle mapper:- e-Paper/Arduino (It's a Raspberry PI).- e-Paper/STM32 (It's a Raspberry PI).- e-Paper/Raspberry & JetsonNano/c (vi bruger python på dette projekt).

Du vil ikke bruge dem, og du har ikke brug for dem på en Raspberry PI.

Og hvis du ønsker det, kan du fjerne alle de filer, du ikke har brug for, fra mappen "lib", som: - epd1in02.py - epd1in54.py - epd2in9.py - …

Hvis vi skal bruge en 2,7 tommer, er resten af filerne IKKE nødvendige.

Jeg anbefaler dig at flytte mappen "lib" lidt tilbage for let at bruge den:

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

Men i min kode (fra GitHub) er bibliotekerne inkluderet.

Al den nødvendige software er installeret.

Det næste trin er vores kode!

Trin 3: Download min kode

Nu skal vi downloade koden fra GitHub:

sudo git -klon

Med dette har vi al den nødvendige kode, inklusive bibliotekerne fra Waveshare til det faktiske projekt.

Rediger filen "ShowInfo.py" for at indsætte dit API-Token fra OpenWeather.com …. og byen (brug byens navn eller id):

def WeatherForecast ():

url = "https://api.openweathermap.org/data/2.5/forecast?" #url = url + "q = {city_name}" #url = url + "q = Düsseldorf" #ASCII problemer !!! url = url + "id = 2934246" #url = url + "& appid = {your_API_key}" url = url + "& units = metric" # In Metric url = url + "& cnt = 6" # Kun 6 resultater

Vi skal dog installere de skrifttypefiler, vi bruger på projektet. Filerne blev downloadet med al koden.

Skrifttyperne findes i mappen "e-Paper/fonts".

For at pakke ud:

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/

Jeg anbefaler dig at slette zip -filerne efter installationen, fordi vi ikke længere har brug for disse filer:

sudo rm -R skrifttyper

Trin 4: Udfør TEST

Udfør TEST
Udfør TEST
Udfør TEST
Udfør TEST

Gå til den korrekte mappe, hvor vi har testfilen:

cd ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk

Udfør testfilen med version 3 af Python:

python3 Test001.py

Du vil have en sporet kommentar i mellemtiden, programmet er udført.

Og i e-Paper-skærmen vil du se meddelelserne.

For hver knap viser skærmen en anden besked.

Trin 5: Vis oplysninger om månen / rummet / ISS…

Vis oplysninger om månen / rummet / ISS…
Vis oplysninger om månen / rummet / ISS…
Vis oplysninger om månen / rummet / ISS…
Vis oplysninger om månen / rummet / ISS…
Vis oplysninger om månen / rummet / ISS…
Vis oplysninger om månen / rummet / ISS…
Vis oplysninger om månen / rummet / ISS…
Vis oplysninger om månen / rummet / ISS…

OK, vi kører alle, og vi vil nu se, hvor er ISS over Verden eller månens fase …

Først skal du eksekvere filen "ShowInfo.py" (placeret på "~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk").

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

Og nu, hvis du trykker på en knap, har du informationerne programmeret til denne knap:

● Knap 1: Vejrudsigt.

● Knap 2: Hvem er på rummet og hvor.

● Knap 3: Hvor er ISS over hele verden.

● Knap 4: Information om månen.

Trin 6: Udfør det som en service

Som et alternativ kan Python -scriptet startes under opstart ved at oprette en tjeneste - mere info på

Opret en ny fil kaldet ShowInfo.service og kopier indholdet herunder til den nye fil - juster WorkDirectory -stien i overensstemmelse hermed:

[Enhed]

Beskrivelse = ShowInfo After = network-online.target Wants = network-online.target [Service] ExecStart =/usr/bin/python3 ShowInfo.py WorkingDirectory =/home/pi/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk/StandardOutput = arv StandardError = arv Genstart = altid Bruger = pi [Install] WantedBy = multi-user.target

Kopier ShowInfo.service -filen til/etc/systemd/system som root:

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

Start tjenesten:

sudo systemctl start ShowInfo.service

Kontroller, om tjenesten kører:

sudo systemctl status ShowInfo.service

Outputtet skal ligne:

● ShowInfo.service - ShowInfo

Indlæst: indlæst (/etc/systemd/system/ShowInfo.service; deaktiveret; leverandør forudindstillet: aktiveret) Aktiv: aktiv (kører) siden fre 2020-09-11 15:17:16 CEST; 14 s siden Main PID: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453/usr/bin/python3 ShowInfo.py Sep 11 15:33:17 eInk systemd [1]: Startede ShowInfo.

Hvis tjenesten kører fint, kan du aktivere den og genstarte Raspberry Pi for at indlæse den automatisk under opstart:

sudo systemctl aktiver ShowInfo.service

Sådan stopper du tjenesten:

sudo systemctl stop ShowInfo.service

Og det er alt !!!!!

Tak !!!!!

Anbefalede: