Sommario:

E-Ink: Luna / ISS / Persone nello Spazio: 6 Passi
E-Ink: Luna / ISS / Persone nello Spazio: 6 Passi

Video: E-Ink: Luna / ISS / Persone nello Spazio: 6 Passi

Video: E-Ink: Luna / ISS / Persone nello Spazio: 6 Passi
Video: Candela Obscura: Tide & Bone | Episode 1 | The Antiquarian 2024, Dicembre
Anonim

Di emihermesSegui di più dell'autore:

Lasso di tempo con Raspberry PI
Lasso di tempo con Raspberry PI
Lasso di tempo con Raspberry PI
Lasso di tempo con Raspberry PI

Avevo un Raspberry e un HAT e-Paper e volevo usarlo per mostrare informazioni come dov'è l'ISS o quante persone ci sono ora nello spazio…

Ho detto di cercare se ci sono API su Internet per ottenere quei dati e li ho trovati. OK, capito !!!!

Aspetta, questo HAT ha 4 pulsanti, quindi ho bisogno di 4 dati da mostrare…

- Dov'è ora la ISS?- Quante persone ci sono ora nello spazio?- In quale fase si trova la Luna?- Pioverà? Fa così caldo?…

In questo momento, sto mostrando quelle informazioni, ma potrei aggiornare questo "Instructable" non appena ho una buona idea, o se ne conosci una buona, puoi suggerirmela !!!

Beh, ce l'ho fatta una sera e il "Frontend" è finito pochi giorni dopo. Non lamentarti di come vengono mostrate le informazioni, non mi piace fare questa parte:)

Forniture

- Raspberry PI (Zero è sufficiente). - CAPPELLO e-Paper da 2,7 pollici. (Ho comprato il mio qui)- Scheda SD (4Gb è sufficiente).

Hai anche bisogno di un token da OpenWeather per utilizzare le API (da qui)

Passaggio 1: aggiornamento del software (SO)

Aggiorna software (SO)
Aggiorna software (SO)
Aggiorna software (SO)
Aggiorna software (SO)
Aggiorna software (SO)
Aggiorna software (SO)

Il primo passo, come sempre, è preparare il tuo Raspberry PI con l'ultimo OS.- Scarica l'ultimo OS (con desktop) da qui.- Scrivi l'immagine su una scheda SD vuota.- Crea un file vuoto "ssh" per abilitare la connessione SSH.- Salva il file " wpa_supplicant.conf " sulla scheda SD per configurare il tuo Wifi per connettersi al tuo Raspberry PI tramite SSH (lo hai preparato sul tuo computer, lo so).

Avvia il tuo Raspberry Pi.

Collegati ad esso via SSH (puoi farlo anche se hai monitor, tastiera e mouse, ma io non ce l'ho e preferisco connettermi via SSH) e aggiornalo….

sudo apt-get update -y

sudo apt-get upgrade -y

Ora, devi abilitare VNC per poter connettere in remoto e SPI per l'e-Paper HAT:

sudo raspi-config

Opzioni di interfaccia > VNC > Sì Opzioni di interfaccia > SPI > Sì

E riavvialo.

Passaggio 2: software necessario

Software necessario
Software necessario

Ok, ora abbiamo un Raspberry PI in esecuzione con il software più recente e tutte le basi per connettersi ad esso.

È il momento di iniziare a installare il software necessario per controllare l'e-Paper HAT.

Se non hai collegato l'HAT al tuo Raspberry PI, ora è l'ultimo momento per collegarlo. Spegni il tuo Raspberry PI e metti l'HAT su di esso.

Per i passaggi successivi puoi seguire le istruzioni di Waveshare o seguirlo con i passaggi successivi….

Installa le librerie BCM2835:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/ sudo./configure sudo make sudo make check sudo make install #Per maggiori dettagli, fare riferimento a

Installa le librerie di cablaggioPi:

sudo apt-get install cablaggio

#Per Pi 4, devi aggiornarlo: cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i cablaggiopi-latest.deb gpio -v #Otterrai 2.52 informazioni se lo installi correttamente

Installa le librerie Python: (se hai aggiornato SO con l'ultima versione, tutti questi passaggi saranno come "Requisito già soddisfatto").

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

Ora puoi scaricare gli esempi da Waveshare: (Questa parte NON è necessaria, ma puoi scaricarli per sapere come funziona).

sudo git clone

cd e-Paper/RaspberryPi\&JetsonNano/

Ti consiglio di rimuovere alcune cartelle:- e-Paper/Arduino (è un Raspberry PI).- e-Paper/STM32 (è un Raspberry PI).- e-Paper/Raspberry & JetsonNano/c (useremo python su questo progetto).

Non li userai e non ti servono su un Raspberry PI.

E, se lo desideri, puoi rimuovere tutti i file che non ti servono dalla cartella "lib", come:- epd1in02.py - epd1in54.py - epd2in9.py - …

Se useremo un 2,7 pollici, il resto dei file NON è necessario.

Ti consiglio di spostare un po' indietro la cartella "lib" per usarla facilmente:

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

Tuttavia, nel mio codice (da GitHub) sono incluse le librerie.

Tutto il software necessario è installato.

Il prossimo passo è il nostro codice!

Passaggio 3: scarica il mio codice

Ora dobbiamo scaricare il codice da GitHub:

sudo git clone

Con questo avremo tutto il codice necessario, incluse le librerie di Waveshare nel progetto vero e proprio.

Modifica il file "ShowInfo.py" per inserire il tuo token API da OpenWeather.com….…e la città (usa il nome o l'ID della città):

def Previsioni Meteo():

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

Tuttavia, dobbiamo installare i file dei caratteri che utilizziamo nel progetto. I file sono stati scaricati con tutto il codice.

I font si trovano nella cartella " e-Paper/fonts ".

Per decomprimere:

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/

Ti consiglio di eliminare i file zip dopo l'installazione, perché non abbiamo più bisogno di quei file:

sudo rm -R caratteri

Passaggio 4: eseguire il TEST

Esegui il TEST
Esegui il TEST
Esegui il TEST
Esegui il TEST

Vai alla cartella corretta in cui abbiamo il file di test:

cd ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk

Esegui il file di test con la versione 3 di Python:

python3 Test001.py

Avrai un commento tracciato nel frattempo che il programma viene eseguito.

E nella schermata e-Paper vedrai i messaggi.

Per ogni pulsante, lo schermo mostrerà un messaggio diverso.

Passaggio 5: mostra le informazioni sulla Luna / Spazio / ISS…

Mostra le informazioni sulla Luna / Spazio / ISS…
Mostra le informazioni sulla Luna / Spazio / ISS…
Mostra le informazioni sulla Luna / Spazio / ISS…
Mostra le informazioni sulla Luna / Spazio / ISS…
Mostra le informazioni sulla Luna / Spazio / ISS…
Mostra le informazioni sulla Luna / Spazio / ISS…
Mostra le informazioni sulla Luna / Spazio / ISS…
Mostra le informazioni sulla Luna / Spazio / ISS…

OK, abbiamo tutti funzionato e ora vogliamo vedere dov'è la ISS nel mondo, o la fase della Luna…

Per prima cosa devi eseguire il file" ShowInfo.py " (che si trova su " ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk ").

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

E ora, se premi un pulsante, avrai le informazioni programmate su questo pulsante:

● Pulsante 1: Previsioni del tempo.

● Pulsante 2: chi è nello spazio e dove.

● Pulsante 3: Dov'è la ISS nel mondo.

● Pulsante 4: Informazioni sulla Luna.

Passaggio 6: eseguilo come servizio

In alternativa, lo script Python può essere avviato durante l'avvio creando un servizio - maggiori informazioni su

Crea un nuovo file chiamato ShowInfo.service e copia i contenuti di seguito nel nuovo file - regola di conseguenza il percorso di WorkingDirectory:

[Unità]

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 =eredita Riavvia=sempre Utente=pi [Installa] WantedBy=multi-utente.target

Copia il file ShowInfo.service in /etc/systemd/system come root:

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

Avvia il servizio:

sudo systemctl start ShowInfo.service

Controlla se il servizio è in esecuzione:

sudo systemctl status ShowInfo.service

L'output dovrebbe essere simile a:

● ShowInfo.service - ShowInfo

Caricato: caricato (/etc/systemd/system/ShowInfo.service; disabilitato; preset del fornitore: abilitato) Attivo: attivo (in esecuzione) da Ven 2020-09-11 15:17:16 CEST; 14 s fa PID principale: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453 /usr/bin/python3 ShowInfo.py 11 settembre 15:33:17 eInk systemd[1]: avviato ShowInfo.

Se il servizio funziona correttamente, puoi abilitarlo e riavviare il Raspberry Pi per caricarlo automaticamente durante l'avvio:

sudo systemctl enable ShowInfo.service

Per interrompere il servizio:

sudo systemctl stop ShowInfo.service

E questo è tutto !!!!!

Grazie !!!!!

Consigliato: