Inhaltsverzeichnis:

E-Ink: Mond / ISS / Menschen im Weltraum - Gunook
E-Ink: Mond / ISS / Menschen im Weltraum - Gunook
Anonim

Von emihermesFolgen Sie mehr vom Autor:

Zeitraffer mit Raspberry PI
Zeitraffer mit Raspberry PI
Zeitraffer mit Raspberry PI
Zeitraffer mit Raspberry PI

Ich hatte einen Raspberry und einen e-Paper HAT und wollte damit Informationen anzeigen, wo sich die ISS befindet oder wie viele Menschen sich jetzt im Weltraum befinden…

Ich sagte, ich solle nachsehen, ob es APIs im Internet gibt, um diese Daten zu erhalten, und ich habe sie gefunden. OK, gotcha !!!!

Warte, dieser HAT hat 4 Tasten, und dann brauche ich 4 Daten, die angezeigt werden…

- Wo ist jetzt die ISS?- Wie viele Menschen sind jetzt im Weltraum?- In welcher Phase befindet sich der Mond?- Wird es regnen? Ist es so warm?…

Im Moment zeige ich diese Informationen, aber ich könnte dieses "Instructable" aktualisieren, sobald ich eine gute Idee habe, oder wenn Sie eine gute kennen, können Sie sie mir vorschlagen !!!

Nun, ich habe es an einem Abend geschafft und das "FrontEnd" wurde ein paar Tage später beendet. Beschwere dich nicht darüber, wie die Informationen angezeigt werden, ich mag diesen Teil nicht:)

Lieferungen

- Raspberry PI (Null ist genug). - 2,7 Zoll e-Paper HAT. (Ich habe meine hier gekauft) - SD-Karte (4 GB ist genug).

Sie benötigen auch einen Token von OpenWeather, um die APIs zu verwenden (von hier aus)

Schritt 1: Software aktualisieren (SO)

Software aktualisieren (SO)
Software aktualisieren (SO)
Software aktualisieren (SO)
Software aktualisieren (SO)
Software aktualisieren (SO)
Software aktualisieren (SO)

Der erste Schritt besteht wie immer darin, Ihren Raspberry PI mit dem neuesten Betriebssystem vorzubereiten.- Laden Sie das neueste Betriebssystem (mit Desktop) von hier herunter.- Schreiben Sie das Image auf eine leere SD-Karte.- Erstellen Sie eine leere Datei "ssh" zum Aktivieren die SSH-Verbindung.- Speichern Sie die Datei " wpa_supplicant.conf " auf der SD-Karte, um Ihr Wifi so zu konfigurieren, dass es sich über SSH mit Ihrem Raspberry PI verbindet (Sie haben es auf Ihrem Computer vorbereitet, ich weiß es).

Starten Sie Ihren Raspberry Pi.

Verbinden Sie sich über SSH (Sie können es auch tun, wenn Sie einen Monitor, eine Tastatur und eine Maus haben, aber ich habe keine und verbinde mich lieber über SSH) und aktualisieren Sie es….

sudo apt-get update -y

sudo apt-get upgrade -y

Jetzt müssen Sie VNC aktivieren, um eine Remote-Verbindung und SPI für den e-Paper HAT herstellen zu können:

sudo raspi-config

Schnittstellenoptionen > VNC > JaSchnittstellenoptionen > SPI > Ja

Und starte es neu.

Schritt 2: Benötigte Software

Benötigte Software
Benötigte Software

Ok, jetzt haben wir einen laufenden Raspberry PI mit der neuesten Software und allen Grundlagen, um sich damit zu verbinden.

Jetzt ist es an der Zeit, mit der Installation der erforderlichen Software zur Steuerung des e-Paper HAT zu beginnen.

Wenn Sie den HAT nicht an Ihren Raspberry PI angeschlossen haben, ist jetzt der letzte Moment, um ihn anzuschließen. Schalten Sie Ihren Raspberry PI aus und setzen Sie den HAT auf.

Für die nächsten Schritte können Sie den Anweisungen von Waveshare folgen oder mit den nächsten Schritten folgen….

BCM2835-Bibliotheken installieren:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/ sudo./configure sudo make sudo make check sudo make install #Weitere Informationen finden Sie unter

WiringPi-Bibliotheken installieren:

sudo apt-get install wiringpi

#Für Pi 4 müssen Sie es aktualisieren: cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb gpio -v #Sie erhalten 2.52 Informationen wenn du es richtig installierst

Python-Bibliotheken installieren: (Wenn Sie die SO mit der neuesten Version aktualisiert haben, sind alle diese Schritte wie "Anforderung bereits erfüllt").

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 installiere spidev

Jetzt können Sie die Beispiele von Waveshare herunterladen: (Dieser Teil wird NICHT benötigt, aber Sie können sie herunterladen, um zu erfahren, wie es funktioniert).

sudo git clone

CD ePaper/RaspberryPi\&JetsonNano/

Ich empfehle Ihnen, einige Ordner zu entfernen:- e-Paper/Arduino (Es ist ein Raspberry PI).- e-Paper/STM32 (Es ist ein Raspberry PI).- e-Paper/Raspberry & JetsonNano/c (wir verwenden Python zu diesem Projekt).

Sie werden sie nicht verwenden und Sie benötigen sie nicht auf einem Raspberry PI.

Und wenn Sie möchten, können Sie alle Dateien, die Sie nicht benötigen, aus dem Ordner "lib" entfernen, wie zum Beispiel: - epd1in02.py - epd1in54.py - epd2in9.py - …

Wenn wir eine 2,7-Zoll-Datei verwenden, werden die restlichen Dateien NICHT benötigt.

Ich empfehle Ihnen, den Ordner "lib" etwas nach hinten zu verschieben, um ihn einfach zu verwenden:

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

In meinem Code (von GitHub) sind die Bibliotheken jedoch enthalten.

Alle benötigte Software ist installiert.

Der nächste Schritt ist unser Code!

Schritt 3: Meinen Code herunterladen

Jetzt müssen wir den Code von GitHub herunterladen:

sudo git-Klon

Damit haben wir den gesamten benötigten Code, einschließlich der Bibliotheken von Waveshare, in das eigentliche Projekt.

Bearbeiten Sie die Datei "ShowInfo.py", um Ihren API-Token von OpenWeather.com einzufügen….…und die Stadt (verwenden Sie den Namen oder die ID der Stadt):

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 Metrik url = url + "&cnt=6" # Nur 6 Ergebnisse

Wir müssen jedoch die Schriftartdateien installieren, die wir für das Projekt verwenden. Die Dateien wurden mit dem gesamten Code heruntergeladen.

Die Schriftarten befinden sich im Ordner „e-Paper/fonts“.

Entpacken:

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 entpacken Vast_Shadow.zip -d /usr/share/fonts/truetype/google/

Ich empfehle Ihnen, die Zip-Dateien nach der Installation zu löschen, da wir diese Dateien nicht mehr benötigen:

sudo rm -R Schriftarten

Schritt 4: Führen Sie den TEST aus

Führe den TEST durch
Führe den TEST durch
Führe den TEST durch
Führe den TEST durch

Gehen Sie in den richtigen Ordner, in dem wir die Testdatei haben:

cd ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk

Führen Sie die Testdatei mit der Version 3 von Python aus:

python3 Test001.py

Während das Programm ausgeführt wird, erhalten Sie einen verfolgten Kommentar.

Und im E-Paper-Bildschirm sehen Sie die Nachrichten.

Für jede Schaltfläche zeigt der Bildschirm eine andere Meldung an.

Schritt 5: Mond-/Weltraum-/ISS-Informationen anzeigen…

Mond- / Weltraum- / ISS-Informationen anzeigen…
Mond- / Weltraum- / ISS-Informationen anzeigen…
Mond- / Weltraum- / ISS-Informationen anzeigen…
Mond- / Weltraum- / ISS-Informationen anzeigen…
Mond- / Weltraum- / ISS-Informationen anzeigen…
Mond- / Weltraum- / ISS-Informationen anzeigen…
Mond- / Weltraum- / ISS-Informationen anzeigen…
Mond- / Weltraum- / ISS-Informationen anzeigen…

OK, wir haben alle laufen und wir wollen jetzt sehen, wo sich die ISS über der Welt befindet, oder die Mondphase…

Zuerst müssen Sie die Datei " ShowInfo.py " (befindet sich auf " ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk ") ausführen.

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

Und jetzt, wenn Sie eine Taste drücken, werden die Informationen auf diese Taste programmiert:

● Taste 1: Wettervorhersage.

● Button 2: Wer ist auf dem Space und wo.

● Schaltfläche 3: Wo ist die ISS über der Welt?

● Taste 4: Informationen zum Mond.

Schritt 6: Als Dienst ausführen

Alternativ kann das Python-Skript beim Booten gestartet werden, indem ein Dienst erstellt wird - mehr Infos unter

Erstellen Sie eine neue Datei namens ShowInfo.service und kopieren Sie den Inhalt unten in die neue Datei - passen Sie den WorkingDirectory-Pfad entsprechend an:

[Einheit]

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 =inherit Restart=always User=pi [Install] WantedBy=multi-user.target

Kopieren Sie die Datei ShowInfo.service in /etc/systemd/system als root:

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

Starten Sie den Dienst:

sudo systemctl starte ShowInfo.service

Überprüfen Sie, ob der Dienst ausgeführt wird:

sudo systemctl status ShowInfo.service

Die Ausgabe sollte ähnlich sein wie:

● ShowInfo.service - ShowInfo

Geladen: geladen (/etc/systemd/system/ShowInfo.service; deaktiviert; Hersteller-Preset: aktiviert) Aktiv: aktiv (läuft) seit Fr 2020-09-11 15:17:16 MESZ; vor 14s Main PID: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453 /usr/bin/python3 ShowInfo.py 11. September 15:33:17 eInk systemd[1]: Started ShowInfo.

Wenn der Dienst gut läuft, können Sie ihn aktivieren und den Raspberry Pi neu starten, um ihn beim Booten automatisch zu laden:

sudo systemctl aktivieren ShowInfo.service

So beenden Sie den Dienst:

sudo systemctl stop ShowInfo.service

Und das ist alles !!!!!

Vielen Dank !!!!!

Empfohlen: