Inhoudsopgave:

E-Ink: Maan / ISS / Mensen in de ruimte : 6 stappen
E-Ink: Maan / ISS / Mensen in de ruimte : 6 stappen

Video: E-Ink: Maan / ISS / Mensen in de ruimte : 6 stappen

Video: E-Ink: Maan / ISS / Mensen in de ruimte : 6 stappen
Video: Het Leven in het Internationale Ruimtestation 2024, Juli-
Anonim

Door emihermesVolg meer van de auteur:

Time-lapse met Raspberry PI
Time-lapse met Raspberry PI
Time-lapse met Raspberry PI
Time-lapse met Raspberry PI

Ik had een Raspberry en een e-Paper HAT en ik wilde die gebruiken om informatie te tonen zoals waar het ISS is of hoeveel mensen er nu in de ruimte zijn…

Ik zei dat ik moest kijken of er API's op internet zijn om die gegevens te krijgen, en ik heb ze gevonden. OK, gotcha !!!!

Wacht, deze HAT heeft 4 knoppen, en dan heb ik 4 gegevens nodig om getoond te worden…

- Waar is nu het ISS? - Hoeveel mensen zijn er nu in de ruimte? - In welke fase is de maan? - Gaat het regenen? Is het zo warm?…

Op dit moment laat ik die informatie zien, maar ik zou deze "Instructable" kunnen bijwerken zodra ik een goed idee heb, of als je een goed idee weet, kun je het me voorstellen !!!

Nou, ik heb het op een avond gehaald en de " FrontEnd " werd een paar dagen later beëindigd. Klaag niet over hoe de informatie wordt getoond, ik hou er niet van om dit deel te maken:)

Benodigdheden

- Raspberry PI (nul is genoeg). - 2.7inch e-Paper HAT. (Ik heb de mijne hier gekocht) - SD-kaart (4Gb is genoeg).

Je hebt ook een token van OpenWeather nodig om ze API's te gebruiken (vanaf hier)

Stap 1: Software bijwerken (SO)

Software bijwerken (SO)
Software bijwerken (SO)
Software bijwerken (SO)
Software bijwerken (SO)
Software bijwerken (SO)
Software bijwerken (SO)

De eerste stap, zoals altijd, is om je Raspberry PI voor te bereiden met het nieuwste besturingssysteem.- Download het nieuwste besturingssysteem (met desktop) vanaf hier.- Schrijf de afbeelding op een lege SD-kaart.- Maak een leeg bestand "ssh" om in te schakelen de SSH-verbinding.- Sla het bestand " wpa_supplicant.conf " op de SD-kaart op om je wifi te configureren om via SSH verbinding te maken met je Raspberry PI (je hebt het voorbereid op je computer, ik weet het).

Start je Raspberry Pi.

Maak er verbinding mee via SSH (je kunt het ook doen als je een monitor, toetsenbord en muis hebt, maar die heb ik niet en ik maak liever verbinding via SSH) en update het….

sudo apt-get update -y

sudo apt-get upgrade -y

Nu moet u VNC inschakelen om op afstand verbinding te kunnen maken en SPI voor de e-Paper HAT:

sudo raspi-config

Interfacing-opties> VNC> JaInterfacing-opties> SPI> Ja

En herstart het.

Stap 2: Benodigde software

Benodigde software
Benodigde software

Ok, nu hebben we een draaiende Raspberry PI met de nieuwste software en alle basisfuncties om er verbinding mee te maken.

Het is het moment om te beginnen met het installeren van de benodigde software om de e-Paper HAT te bedienen.

Als je de HAT niet op je Raspberry PI hebt aangesloten, is dit het laatste moment om hem aan te sluiten. Schakel je Raspberry PI uit en zet de HAT erop.

Voor de volgende stappen kun je de instructies van Waveshare volgen of het volgen met de volgende stappen….

Installeer BCM2835-bibliotheken:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/ sudo./configure sudo make sudo make check sudo make install #Ga voor meer informatie naar

BedradingPi-bibliotheken installeren:

sudo apt-get install bedradingpi

#Voor Pi 4 moet je het bijwerken: cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i bedradingpi-latest.deb gpio -v #Je krijgt 2,52 informatie als je het correct installeert

Installeer Python-bibliotheken: (Als u de SO hebt bijgewerkt met de nieuwste versie, zullen al deze stappen zijn als " Vereiste al voldaan ").

sudo apt-get update

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 kunt u de voorbeelden downloaden van Waveshare:(Dit onderdeel is NIET nodig, maar u kunt ze downloaden om te weten hoe het werkt).

sudo git clone

cd e-Paper/RaspberryPi\&JetsonNano/

Ik raad je aan enkele mappen te verwijderen: - e-Paper/Arduino (het is een Raspberry PI). - e-Paper/STM32 (Het is een Raspberry PI). - e-Paper/Raspberry & JetsonNano/c (we gebruiken python op dit project).

Je zult ze niet gebruiken en je hebt ze ook niet nodig op een Raspberry PI.

En als je wilt, kun je alle bestanden die je niet nodig hebt uit de map "lib" verwijderen, zoals: - epd1in02.py - epd1in54.py - epd2in9.py - …

Als we een 2.7inch gaan gebruiken, zijn de rest van de bestanden NIET nodig.

Ik raad je aan om de map "lib" een beetje terug te verplaatsen om het gemakkelijk te kunnen gebruiken:

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

In mijn code (van GitHub) zijn de bibliotheken echter opgenomen.

Alle benodigde software is geïnstalleerd.

De volgende stap is onze code!

Stap 3: Download mijn code

Nu moeten we de code downloaden van GitHub:

sudo git kloon

Hiermee hebben we alle benodigde code, inclusief de bibliotheken van Waveshare, in het eigenlijke project.

Bewerk het bestand "ShowInfo.py" om uw API-token van OpenWeather.com……. en de stad in te voegen (gebruik de naam of het ID van de stad):

def WeatherForecast():

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

We moeten echter de lettertypebestanden installeren die we voor het project gebruiken. De bestanden zijn gedownload met alle code.

De lettertypen staan in de map "e-Paper/fonts".

Uitpakken:

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/

Ik raad je aan om de zip-bestanden na de installatie te verwijderen, omdat we die bestanden niet meer nodig hebben:

sudo rm -R lettertypen

Stap 4: Voer de TEST uit

Voer de TEST uit
Voer de TEST uit
Voer de TEST uit
Voer de TEST uit

Ga naar de juiste map waar we het testbestand hebben:

cd ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk

Voer het testbestand uit met versie 3 van Python:

python3 Test001.py

U zult een getraceerd commentaar hebben terwijl het programma wordt uitgevoerd.

En in het e-Paper scherm ziet u de berichten.

Voor elke knop toont het scherm een ander bericht.

Stap 5: Toon de maan / ruimte / ISS-informatie …

Toon de Maan / Ruimte / ISS Informatie…
Toon de Maan / Ruimte / ISS Informatie…
Toon de Maan / Ruimte / ISS Informatie…
Toon de Maan / Ruimte / ISS Informatie…
Toon de Maan / Ruimte / ISS Informatie…
Toon de Maan / Ruimte / ISS Informatie…
Toon de Maan / Ruimte / ISS Informatie…
Toon de Maan / Ruimte / ISS Informatie…

OK, we zijn allemaal aan het rennen en we willen nu zien waar het ISS boven de wereld is, of de fase van de maan…

Eerst moet u het bestand "ShowInfo.py" uitvoeren (te vinden op " ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk").

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

En nu, als je op één knop drukt, heb je de informatie voor deze knop geprogrammeerd:

● Knop 1: Weersvoorspelling.

● Knop 2: Wie zit er op de Space en waar.

● Knop 3: Waar is het ISS over de hele wereld.

● Knop 4: Informatie van de maan.

Stap 6: Voer het uit als een service

Als alternatief kan het Python-script tijdens het opstarten worden gestart door een service te maken - meer info op

Maak een nieuw bestand met de naam ShowInfo.service en kopieer de onderstaande inhoud naar het nieuwe bestand - pas het WorkingDirectory-pad dienovereenkomstig 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=inherit StandardError =overnemen Restart=altijd Gebruiker=pi [Installeren] WantedBy=multi-user.target

Kopieer het ShowInfo.service-bestand naar /etc/systemd/system als root:

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

Start de dienst:

sudo systemctl start ShowInfo.service

Controleer of de service actief is:

sudo systemctl-status ShowInfo.service

De uitvoer moet vergelijkbaar zijn met:

● ShowInfo.service - ShowInfo

Geladen: geladen (/etc/systemd/system/ShowInfo.service; uitgeschakeld; vooraf ingestelde leverancier: ingeschakeld) Actief: actief (in bedrijf) sinds vr 2020-09-11 15:17:16 CEST; 14s geleden Hoofd-PID: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453 /usr/bin/python3 ShowInfo.py 11 september 15:33:17 eInk systemd[1]: ShowInfo gestart.

Als de service goed werkt, kunt u deze inschakelen en de Raspberry Pi opnieuw opstarten om deze automatisch te laden tijdens het opstarten:

sudo systemctl inschakelen ShowInfo.service

Om de dienst te stoppen:

sudo systemctl stop ShowInfo.service

En dat is alles !!!!!

Bedankt !!!!!

Aanbevolen: