INHOUDSOPGAWE:

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

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

Video: E-Ink: Moon / ISS / People in Space : 6 stappe
Video: Six-year-old girl is a skateboarding prodigy 2024, November
Anonim

Volg meer deur die skrywer:

Tydsverloop met Framboos PI
Tydsverloop met Framboos PI
Tydsverloop met Framboos PI
Tydsverloop met Framboos PI

Ek het 'n framboos en 'n e-papier hoed gehad, en ek wou dit gebruik om inligting aan te toon, waar is die ISS of hoeveel mense nou in die ruimte is …

Ek het gesê om te kyk of daar API's op die internet is om die data te kry, en ek het dit gevind. OK, gotcha !!!!

Wag, hierdie hoed het 4 knoppies, en dan moet ek 4 data wys …

- Waar is die ISS nou?- Hoeveel mense is daar nou in die ruimte?- In watter fase is die maan?- Gaan dit reën? Is dit so warm?…

Op die oomblik wys ek die inligting, maar ek kan hierdie 'instruksies' opdateer sodra ek 'n goeie idee gekry het, of as u 'n goeie een weet, kan u dit aan my voorstel !!!

Ek het dit op 'n aand gemaak, en die 'FrontEnd' is 'n paar dae daarna beëindig. Moenie kla oor hoe die inligting getoon word nie, ek hou nie daarvan nie:)

Voorrade

- Framboos PI (nul is genoeg).- 2.7inch e-Paper HAT. (Ek het myne hier gekoop)- SD-kaart (4Gb is genoeg).

U benodig ook 'n teken van OpenWeather om dit API's te gebruik (van hier af)

Stap 1: Dateer sagteware (SO) op

Dateer sagteware op (SO)
Dateer sagteware op (SO)
Dateer sagteware op (SO)
Dateer sagteware op (SO)
Dateer sagteware op (SO)
Dateer sagteware op (SO)

Die eerste stap, soos altyd, is om u Raspberry PI voor te berei met die nuutste bedryfstelsel.- Laai die nuutste bedryfstelsel (met tafelblad) van hier af af.- Skryf die prent op 'n leë SD-kaart.- Skep 'n leë lêer "ssh" om dit moontlik te maak die SSH-verbinding.- Stoor die "wpa_supplicant.conf" -lêer op die SD-kaart sodat u Wifi gekonfigureer is om via SSH aan u Raspberry PI te koppel (u het dit op u rekenaar voorberei, ek weet dit).

Begin jou Raspberry Pi.

Koppel daaraan via SSH (u kan dit ook doen as u 'n monitor, sleutelbord en muis het, maar ek het nie en verkies om via SSH aan te sluit) en werk dit op ….

sudo apt -get update -y

sudo apt -get upgrade -y

Nou moet u VNC in staat stel om op afstand en SPI te kan skakel vir die e-Paper HAT:

sudo raspi-config

Koppelvlakopsies> VNC> Ja Koppelvlakopsies> SPI> Ja

En herlaai dit.

Stap 2: benodigde sagteware

Sagteware benodig
Sagteware benodig

Ok, nou het ons 'n lopende Raspberry PI met die nuutste sagteware en al die basiese inligting om daaraan te koppel.

Dit is die oomblik om die nodige sagteware te begin installeer om die e-Paper HAT te beheer.

As u nie die HAT op u Raspberry PI kon koppel nie, is dit die nuutste oomblik om dit aan te sluit. Skakel u Raspberry PI af en sit die HAT daarop.

Vir die volgende stappe kan u die instruksies van Waveshare volg of dit volg met die volgende stappe …

Installeer BCM2835 -biblioteke:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/sudo./configureer sudo maak sudo maak tjek sudo maak installeer #Vir meer besonderhede, verwys na

Installeer wiringPi -biblioteke:

sudo apt-get install wiringpi

#Vir Pi 4 moet u dit opdateer: cd/tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v #U kry 2.52 inligting as u dit korrek installeer

Installeer Python -biblioteke: (As u die SO met die nuutste weergawe opgedateer het, sal al hierdie stappe soos 'Vereiste reeds nagekom' wees).

sudo apt-get update

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

Nou kan u die voorbeelde van Waveshare aflaai: (Hierdie deel is NIE nodig nie, maar u kan dit aflaai om te weet hoe dit werk).

sudo git kloon

cd e-Paper/RaspberryPi / & JetsonNano/

Ek raai u aan om 'n paar dopgehou te verwyder:- e-Paper/Arduino (It's a Raspberry PI).- e-Paper/STM32 (It's a Raspberry PI).- e-Paper/Raspberry & JetsonNano/c (we will use python oor hierdie projek).

U sal dit nie gebruik nie, en u hoef dit nie op 'n Framboos -PI te hê nie.

En as u wil, kan u alle lêers wat u nie benodig nie, verwyder uit die "lib" -vouer, soos: - epd1in02.py - epd1in54.py - epd2in9.py - …

As ons 'n 2.7 duim gaan gebruik, is die res van die lêers NIE nodig nie.

Ek raai u aan om die 'lib' vouer 'n bietjie terug te skuif om dit maklik te gebruik:

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

In my kode (van GitHub) is die biblioteke egter ingesluit.

Al die nodige sagteware is geïnstalleer.

Die volgende stap is ons kode!

Stap 3: Laai my kode af

Nou moet ons die kode van GitHub aflaai:

sudo git kloon

Hiermee het ons al die nodige kode, insluitend die biblioteke van Waveshare in die werklike projek.

Wysig die lêer "ShowInfo.py" om u API-token van OpenWeather.com in te voeg …. en die Stad (gebruik die naam of die ID van die stad):

def WeatherForecast ():

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

Ons moet egter die lettertipe lêers wat ons op die projek gebruik, installeer. Die lêers is met al die kode afgelaai.

Die lettertipes is in die gids "e-Paper/fonts".

Om uit te pak:

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/

Ek raai u aan om die zip -lêers na die installasie te verwyder, want ons het nie meer die lêers nodig nie:

sudo rm -R lettertipes

Stap 4: Voer die TOETS uit

Voer die TOETS uit
Voer die TOETS uit
Voer die TOETS uit
Voer die TOETS uit

Gaan na die regte gids waar ons die toetslêer het:

cd ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk

Voer die toetslêer uit met weergawe 3 van Python:

python3 -toets001.py

U sal opmerkings opspoor terwyl die program uitgevoer word.

En in die e-Paper-skerm sien u die boodskappe.

Vir elke knoppie sal die skerm 'n ander boodskap wys.

Stap 5: Wys die maan / ruimte / ISS -inligting …

Wys die maan / ruimte / ISS -inligting …
Wys die maan / ruimte / ISS -inligting …
Wys die maan / ruimte / ISS -inligting …
Wys die maan / ruimte / ISS -inligting …
Wys die maan / ruimte / ISS -inligting …
Wys die maan / ruimte / ISS -inligting …
Wys die maan / ruimte / ISS -inligting …
Wys die maan / ruimte / ISS -inligting …

OK, ons is almal aan die gang en ons wil nou sien waar is die ISS oor die hele wêreld, of die fase van die maan …

U moet eers die lêer "ShowInfo.py" (geleë op "~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk") uitvoer.

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

En nou, as u op een knoppie druk, het u die inligting op hierdie knoppie geprogrammeer:

● Knoppie 1: Weervoorspelling.

● Knoppie 2: Wie is op die ruimte en waar.

● Knoppie 3: Waar is die ISS oor die hele wêreld?

● Knoppie 4: Inligting oor die maan.

Stap 6: voer dit as 'n diens uit

As alternatief kan die Python -script tydens die opstart begin word deur 'n diens te skep - meer inligting op

Skep 'n nuwe lêer genaamd ShowInfo.service en kopieer die onderstaande inhoud na die nuwe lêer - pas die WorkingDirectory -pad dienooreenkomstig aan:

[Eenheid]

Description = 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 = erf StandardError = erf herlaai = altyd gebruiker = pi [Installeer] WantedBy = multi-user.target

Kopieer die ShowInfo.service -lêer na/etc/systemd/system as root:

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

Begin die diens:

sudo systemctl begin ShowInfo.service

Kyk of die diens werk:

sudo systemctl status ShowInfo.service

Die uitset moet soortgelyk wees aan:

● ShowInfo.service - ShowInfo

Laai: gelaai (/etc/systemd/system/ShowInfo.service; gedeaktiveer; verskaffer vooraf ingestel: geaktiveer) Aktief: aktief (loop) sedert Vrydag 2020-09-11 15:17:16 CEST; 14s gelede Main PID: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453/usr/bin/python3 ShowInfo.py Sep 11 15:33:17 eInk systemd [1]: Begin met ShowInfo.

As die diens goed werk, kan u dit aktiveer en die Raspberry Pi herlaai om dit outomaties te laai tydens die opstart:

sudo systemctl aktiveer ShowInfo.service

Om die diens te stop:

sudo systemctl stop ShowInfo.service

En dit is al !!!!!

Dankie !!!!!

Aanbeveel: