Table des matières:

E-Ink : Lune / ISS / Les gens dans l'espace : 6 étapes
E-Ink : Lune / ISS / Les gens dans l'espace : 6 étapes

Vidéo: E-Ink : Lune / ISS / Les gens dans l'espace : 6 étapes

Vidéo: E-Ink : Lune / ISS / Les gens dans l'espace : 6 étapes
Vidéo: Revivez le premier pas de l'Homme sur la Lune 2024, Novembre
Anonim

Par emihermesSuivez plus par l'auteur:

Laps de temps avec Raspberry PI
Laps de temps avec Raspberry PI
Laps de temps avec Raspberry PI
Laps de temps avec Raspberry PI

J'avais un Raspberry et un e-Paper HAT et je voulais l'utiliser pour montrer des informations comme où se trouve l'ISS ou combien de personnes sont maintenant dans l'espace…

J'ai dit de regarder s'il y avait des API sur Internet pour obtenir ces données, et je les ai trouvées. OK, gotcha !!!!

Attendez, ce HAT a 4 boutons, et puis, j'ai besoin de 4 données à afficher…

- Où est maintenant l'ISS ?- Combien de personnes sont maintenant dans l'espace ?- Dans quelle phase se trouve la Lune ?- Va-t-il pleuvoir ? Il fait si chaud ?…

En ce moment, je montre ces informations, mais je pourrais mettre à jour ce "Instructable" dès que j'ai une bonne idée, ou si vous en connaissez une bonne, vous pouvez me la suggérer !!!

Bon, je l'ai fait un soir et le " FrontEnd " s'est terminé quelques jours après. Ne vous plaignez pas de la façon dont les informations sont présentées, je n'aime pas faire cette partie:)

Fournitures

- Raspberry PI (Zéro suffit). - 2,7 pouces e-Paper HAT. (J'ai acheté le mien ici) - Carte SD (4 Go suffisent).

Vous avez également besoin d'un jeton d'OpenWeather pour utiliser ces API (à partir d'ici)

Étape 1: Mettre à jour le logiciel (SO)

Mettre à jour le logiciel (SO)
Mettre à jour le logiciel (SO)
Mettre à jour le logiciel (SO)
Mettre à jour le logiciel (SO)
Mettre à jour le logiciel (SO)
Mettre à jour le logiciel (SO)

La première étape, comme toujours, consiste à préparer votre Raspberry PI avec le dernier système d'exploitation.- Téléchargez le dernier système d'exploitation (avec bureau) à partir d'ici.- Écrivez l'image sur une carte SD vide.- Créez un fichier vide "ssh" pour activer la connexion SSH.- Enregistrez le fichier " wpa_supplicant.conf " sur la carte SD pour que votre Wifi soit configuré pour se connecter à votre Raspberry PI via SSH (vous l'avez préparé sur votre ordinateur, je le sais).

Démarrez votre Raspberry Pi.

Connectez-vous via SSH (vous pouvez également le faire si vous avez un moniteur, un clavier et une souris, mais je n'en ai pas et je préfère me connecter via SSH) et mettez-le à jour….

sudo apt-get update -y

sudo apt-get upgrade -y

Maintenant, vous devez activer VNC pour pouvoir se connecter à distance et SPI pour l'e-Paper HAT:

sudo raspi-config

Options d'interfaçage > VNC > OuiOptions d'interfaçage > SPI > Oui

Et redémarrez-le.

Étape 2: Logiciels nécessaires

Logiciel requis
Logiciel requis

Ok, maintenant nous avons un Raspberry PI en cours d'exécution avec le dernier logiciel et toutes les bases pour s'y connecter.

C'est le moment de commencer à installer le logiciel nécessaire pour contrôler l'e-Paper HAT.

Si vous n'avez pas branché le HAT sur votre Raspberry PI, c'est maintenant le dernier moment pour le connecter. Éteignez votre Raspberry PI et placez le HAT dessus.

Pour les prochaines étapes, vous pouvez suivre les instructions de Waveshare ou les suivre avec les prochaines étapes….

Installez les bibliothèques BCM2835:

wget

tar zxvf bcm2835-1.60.tar.gz cd bcm2835-1.60/ sudo./configure sudo make sudo make check sudo make install #Pour plus de détails, veuillez vous référer à

Installez les bibliothèques wirePi:

sudo apt-get install câblagepi

#Pour Pi 4, vous devez le mettre à jour: cd /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wirepi-latest.deb gpio -v #Vous obtiendrez 2,52 informations si vous l'installez correctement

Installez les bibliothèques Python: (Si vous avez mis à jour le SO avec la dernière version, toutes ces étapes seront comme " Exigence déjà satisfaite ").

sudo apt-get mise à jour

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

Vous pouvez maintenant télécharger les exemples depuis Waveshare: (Cette partie n'est PAS nécessaire, mais vous pouvez les télécharger pour savoir comment cela fonctionne).

sudo git clone

cd e-Paper/RaspberryPi\&JetsonNano/

Je vous recommande de supprimer certains dossiers:- e-Paper/Arduino (C'est un Raspberry PI).- e-Paper/STM32 (C'est un Raspberry PI).- e-Paper/Raspberry & JetsonNano/c (nous utiliserons python sur ce projet).

Vous ne les utiliserez pas et vous n'en aurez pas besoin sur un Raspberry PI.

Et, si vous le souhaitez, vous pouvez supprimer tous les fichiers dont vous n'avez pas besoin du dossier "lib", comme:- epd1in02.py - epd1in54.py - epd2in9.py - …

Si nous allons utiliser un 2,7 pouces, le reste des fichiers n'est PAS nécessaire.

Je vous recommande de reculer un peu le dossier "lib" pour l'utiliser facilement:

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

Cependant, dans mon code (de GitHub), les bibliothèques sont incluses.

Tous les logiciels nécessaires sont installés.

La prochaine étape est notre code !

Étape 3: Télécharger mon code

Maintenant, nous devons télécharger le code depuis GitHub:

sudo git clone

Avec cela, nous aurons tout le code nécessaire, y compris les bibliothèques de Waveshare dans le projet réel.

Editez le fichier "ShowInfo.py" pour insérer votre API-Token d'OpenWeather.com….…et la Ville (utilisez le nom ou l'ID de la ville):

def WeatherForecast():

url = "https://api.openweathermap.org/data/2.5/forecast?" #url = url + "q={city_name}" #url = url + "q=Düsseldorf" # Problèmes ASCII !!! url = url + "id=2934246" #url = url + "&appid={your_API_key}" url = url + "&units=metric" # En Métrique url = url + "&cnt=6" # Seulement 6 résultats

Cependant, nous devons installer les fichiers de polices que nous utilisons sur le projet. Les fichiers ont été téléchargés avec tout le code.

Les polices se trouvent dans le dossier " e-Paper/fonts ".

Pour décompresser:

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/

Je vous recommande de supprimer les fichiers zip après l'installation, car nous n'avons plus besoin de ces fichiers:

sudo rm -R polices

Étape 4: Exécutez le TEST

Exécuter le TEST
Exécuter le TEST
Exécuter le TEST
Exécuter le TEST

Allez dans le bon dossier où nous avons le fichier de test:

cd ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk

Exécutez le fichier de test avec la version 3 de Python:

python3 Test001.py

Vous aurez un commentaire tracé pendant l'exécution du programme.

Et dans l'écran e-Paper, vous verrez les messages.

Pour chaque bouton, l'écran affichera un message différent.

Étape 5: Afficher les informations sur la Lune / l'espace / l'ISS…

Afficher les informations sur la Lune / Espace / ISS…
Afficher les informations sur la Lune / Espace / ISS…
Afficher les informations sur la Lune / Espace / ISS…
Afficher les informations sur la Lune / Espace / ISS…
Afficher les informations sur la Lune / Espace / ISS…
Afficher les informations sur la Lune / Espace / ISS…
Afficher les informations sur la Lune / Espace / ISS…
Afficher les informations sur la Lune / Espace / ISS…

OK, nous avons tous couru et nous voulons maintenant voir où est l'ISS au-dessus du monde, ou la phase de la Lune…

Vous devez d'abord exécuter le fichier " ShowInfo.py " (situé sur " ~/eInk_Moon_ISS_PeopleSpace/e-Paper/ShowEInk ").

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

Et maintenant, si vous appuyez sur un bouton, vous aurez les informations programmées sur ce bouton:

● Bouton 1: Prévisions météo.

● Bouton 2: Qui est sur l'Espace et où.

● Bouton 3: Où se trouve l'ISS dans le monde.

● Bouton 4: Information de la Lune.

Étape 6: Exécutez-le en tant que service

Comme alternative, le script Python peut être démarré pendant le démarrage en créant un service - plus d'informations sur

Créez un nouveau fichier appelé ShowInfo.service et copiez le contenu ci-dessous dans le nouveau fichier - ajustez le chemin de WorkingDirectory en conséquence:

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

Copiez le fichier ShowInfo.service dans /etc/systemd/system en tant que root:

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

Démarrer le service:

sudo systemctl démarrer ShowInfo.service

Vérifiez si le service est en cours d'exécution:

statut sudo systemctl ShowInfo.service

La sortie doit être similaire à:

● ShowInfo.service - ShowInfo

Chargé: chargé (/etc/systemd/system/ShowInfo.service; désactivé; préréglage du fournisseur: activé) Actif: actif (en cours d'exécution) depuis le ven 2020-09-11 15:17:16 CEST; Il y a 14s PID principal: 1453 (python3) CGroup: /system.slice/ShowInfo.service └─1453 /usr/bin/python3 ShowInfo.py 11 septembre 15:33:17 eInk systemd[1]: a démarré ShowInfo.

Si le service fonctionne correctement, vous pouvez l'activer et redémarrer le Raspberry Pi pour le charger automatiquement au démarrage:

sudo systemctl activer ShowInfo.service

Pour arrêter le service:

sudo systemctl arrêter ShowInfo.service

Et c'est tout !!!!!

Merci !!!!!

Conseillé: