E-Ink: Księżyc / ISS / Ludzie w kosmosie : 6 kroków
E-Ink: Księżyc / ISS / Ludzie w kosmosie : 6 kroków
Anonim

Autor: emihermesObserwuj Więcej autora:

Upływ czasu z Raspberry PI
Upływ czasu z Raspberry PI
Upływ czasu z Raspberry PI
Upływ czasu z Raspberry PI

Miałem Raspberry i e-Paper HAT i chciałem go użyć, aby pokazać informacje, takie jak gdzie jest ISS lub ile osób jest teraz w kosmosie…

Poprosiłem o sprawdzenie, czy w Internecie są interfejsy API, aby uzyskać te dane, i znalazłem je. OK, mam !!!!

Poczekaj, ten HAT ma 4 przyciski, a następnie potrzebuję 4 danych do wyświetlenia…

- Gdzie jest teraz ISS? - Ilu ludzi jest teraz w kosmosie? - W jakiej fazie jest Księżyc? - Czy będzie padać? Czy jest tak ciepło?…

W tej chwili pokazuję te informacje, ale mogę zaktualizować ten „Instruktaż”, gdy tylko wpadnę na dobry pomysł lub jeśli znasz dobry, możesz mi go zasugerować !!!

Cóż, zrobiłem to pewnego wieczoru, a "FrontEnd" skończył się kilka dni później. Nie narzekaj na to, jak wyświetlają się informacje, nie lubię robić tej części:)

Kieszonkowe dzieci

- Raspberry PI (wystarczy zero). - 2.7-calowy kapelusz e-papierowy. (Kupiłem tutaj) - karta SD (wystarczy 4Gb).

Potrzebujesz również tokena z OpenWeather, aby używać ich API (stąd)

Krok 1: Zaktualizuj oprogramowanie (SO)

Aktualizacja oprogramowania (SO)
Aktualizacja oprogramowania (SO)
Aktualizacja oprogramowania (SO)
Aktualizacja oprogramowania (SO)
Aktualizacja oprogramowania (SO)
Aktualizacja oprogramowania (SO)

Pierwszym krokiem, jak zawsze, jest przygotowanie Raspberry PI z najnowszym systemem operacyjnym. - Pobierz stąd najnowszy system operacyjny (z pulpitem). - Zapisz obraz na pustej karcie SD. - Utwórz pusty plik "ssh", aby umożliwić połączenie SSH. - Zapisz plik "wpa_supplicant.conf" na karcie SD, aby skonfigurować Wifi do łączenia się z Raspberry PI przez SSH (masz go przygotowany na swoim komputerze, wiem o tym).

Uruchom swoje Raspberry Pi.

Połącz się z nim przez SSH (możesz też to zrobić, jeśli masz monitor, klawiaturę i myszkę, ale ja nie mam i wolę łączyć się przez SSH) i zaktualizuj….

aktualizacja sudo apt-get -y

sudo apt-get upgrade -y

Teraz musisz włączyć VNC, aby móc połączyć się zdalnie i SPI dla e-Paper HAT:

sudo raspi-config

Opcje interfejsu > VNC > Tak Opcje interfejsu > SPI > Tak

I uruchom go ponownie.

Krok 2: Potrzebne oprogramowanie

Potrzebne oprogramowanie
Potrzebne oprogramowanie

Ok, teraz mamy działającego Raspberry PI z najnowszym oprogramowaniem i wszystkimi podstawowymi funkcjami do połączenia się z nim.

Nadszedł moment, aby rozpocząć instalację potrzebnego oprogramowania do sterowania e-Paper HAT.

Jeśli nie podłączyłeś HAT do Raspberry PI, teraz jest ostatni moment, aby go podłączyć. Wyłącz Raspberry PI i umieść na nim HAT.

Aby wykonać kolejne kroki, możesz postępować zgodnie z instrukcjami Waveshare lub postępować zgodnie z kolejnymi krokami….

Zainstaluj biblioteki BCM2835:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/ sudo./configure sudo make sudo make check sudo make install # Aby uzyskać więcej informacji, odwiedź

Zainstaluj biblioteki okablowaniaPi:

sudo apt-get install wirepi

#Dla Pi 4 musisz go zaktualizować: cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wirepi-latest.deb gpio -v # Otrzymasz 2.52 informacje jeśli zainstalujesz go poprawnie

Zainstaluj biblioteki Pythona:(Jeśli zaktualizowałeś SO do najnowszej wersji, wszystkie te kroki będą wyglądały jak „Wymaganie już spełnione”).

aktualizacja sudo apt-get

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

Teraz możesz pobrać przykłady z Waveshare:(Ta część NIE jest potrzebna, ale możesz je pobrać, aby wiedzieć, jak to działa).

klon sudo git

cd e-Papier/RaspberryPi\&JetsonNano/

Polecam usunąć niektóre foldery:- e-Paper/Arduino (to Raspberry PI).- e-Paper/STM32 (to Raspberry PI).- e-Paper/Raspberry & JetsonNano/c (będziemy używać Pythona na tym projekcie).

Nie będziesz ich używać i nie potrzebujesz ich na Raspberry PI.

A jeśli chcesz, możesz usunąć wszystkie niepotrzebne pliki z folderu „lib”, takie jak:- epd1in02.py - epd1in54.py - epd2in9.py - …

Jeśli zamierzamy użyć 2,7 cala, reszta plików NIE jest potrzebna.

Polecam cofnąć folder „lib”, aby móc z niego łatwo korzystać:

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

Jednak w moim kodzie (z GitHub) zawarte są biblioteki.

Całe potrzebne oprogramowanie jest zainstalowane.

Następnym krokiem jest nasz kod!

Krok 3: Pobierz mój kod

Teraz musimy pobrać kod z GitHub:

klon sudo git

Dzięki temu będziemy mieli cały potrzebny kod, w tym biblioteki z Waveshare do rzeczywistego projektu.

Edytuj plik „ShowInfo.py”, aby wstawić swój token API z OpenWeather.com….… i miasto (użyj nazwy lub identyfikatora miasta):

def Prognoza Pogody():

url = "https://api.openweathermap.org/data/2.5/forecast?" #url = url + "q={nazwa_miasta}" #url = url + "q=Düsseldorf" # Problemy z ASCII !!! url = url + "id=2934246" #url = url + "&appid={your_API_key}" url = url + "&units=metric" # Dane url = url + "&cnt=6" # Tylko 6 wyników

Musimy jednak zainstalować pliki czcionek, których używamy w projekcie. Pliki zostały pobrane z całym kodem.

Czcionki znajdują się w folderze „e-Papier/czcionki”.

Odsunąć zamek błyskawiczny:

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/

Zalecam usunięcie plików zip po instalacji, ponieważ nie potrzebujemy już tych plików:

sudo rm -R czcionki

Krok 4: Wykonaj TEST

Wykonaj TEST
Wykonaj TEST
Wykonaj TEST
Wykonaj TEST

Przejdź do odpowiedniego folderu, w którym mamy plik testowy:

cd ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk

Uruchom plik testowy z wersją 3 Pythona:

python3 Test001.py

W międzyczasie program zostanie wykonany.

A na ekranie e-Papier zobaczysz wiadomości.

Dla każdego przycisku na ekranie pojawi się inny komunikat.

Krok 5: Pokaż informacje o Księżycu / Kosmosie / ISS…

Pokaż informacje o Księżycu / Kosmosie / ISS…
Pokaż informacje o Księżycu / Kosmosie / ISS…
Pokaż informacje o Księżycu / Kosmosie / ISS…
Pokaż informacje o Księżycu / Kosmosie / ISS…
Pokaż informacje o Księżycu / Kosmosie / ISS…
Pokaż informacje o Księżycu / Kosmosie / ISS…
Pokaż informacje o Księżycu / Kosmosie / ISS…
Pokaż informacje o Księżycu / Kosmosie / ISS…

OK, wszyscy mamy uruchomione i teraz chcemy zobaczyć, gdzie jest ISS nad światem lub faza Księżyca…

Najpierw musisz uruchomić plik " ShowInfo.py " (znajdujący się na " ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk ").

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

A teraz, jeśli naciśniesz jeden przycisk, będziesz miał informacje zaprogramowane do tego przycisku:

● Przycisk 1: Prognoza pogody.

● Przycisk 2: Kto jest w przestrzeni i gdzie.

● Przycisk 3: Gdzie jest ISS na świecie.

● Przycisk 4: Informacje o Księżycu.

Krok 6: Wykonaj to jako usługę

Alternatywnie skrypt Pythona można uruchomić podczas rozruchu, tworząc usługę - więcej informacji na

Utwórz nowy plik o nazwie ShowInfo.service i skopiuj poniższą zawartość do nowego pliku - odpowiednio dostosuj ścieżkę WorkingDirectory:

[Jednostka]

Description=ShowInfo After=network-online.target Wants=network-online.target [Usługa] ExecStart=/usr/bin/python3 ShowInfo.py WorkingDirectory=/home/pi/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk/ StandardOutput=inherit StandardError =inherit Restart=always User=pi [Zainstaluj] WantedBy=multi-user.target

Skopiuj plik ShowInfo.service do /etc/systemd/system jako root:

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

Uruchom usługę:

sudo systemctl start ShowInfo.service

Sprawdź, czy usługa działa:

stan sudo systemctl ShowInfo.service

Wynik powinien być podobny do:

● ShowInfo.service - ShowInfo

Załadowany: załadowany (/etc/systemd/system/ShowInfo.service; wyłączony; ustawienie dostawcy: włączony) Aktywny: aktywny (działa) od pt. 2020-09-11 15:17:16 CEST; 14s temu Główny PID: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453 /usr/bin/python3 ShowInfo.py 11 września 15:33:17 eInk systemd[1]: Uruchomiono ShowInfo.

Jeśli usługa działa poprawnie, możesz ją włączyć i ponownie uruchomić Raspberry Pi, aby załadować ją automatycznie podczas rozruchu:

sudo systemctl włączyć ShowInfo.service

Aby zatrzymać usługę:

sudo systemctl zatrzymaj ShowInfo.service

I to wszystko !!!!!

Dziękuję !!!!!