Christian possède de nombreux Raspberry Pi et il trouvait que lancer VNC manuellement, en se souvenant de l’IP de chaque machine, commençait à devenir pénible. Il s’est alors lancé dans la réalisation de ce lanceur IP qui répond à ce besoin, mais qui permet aussi de lancer des sites Web, ou de transférer des programmes en Python, créés sur le Raspberry Pi qu’il utilise pour le développement, vers les autres Raspberry Pi. Je lui laisse la parole pour vous présenter sa réalisation…
UNE NOUVELLE VERSION DE CET UTILITAIRE EST DISPONIBLE ICI
AVEC EN PLUS UN LOGICIEL DE SAUVEGARDE :
https://www.framboise314.fr/un-lanceur-ip-version-2-et-une-sauvegarde-pour-le-raspberry-pi/
Au sommaire :
Lanceur IP pour le Raspberry Pi
Ce programme a été développé sous Python 3.7 et Buster (Debian10) pour les Raspberry Pi 3, PI4 et PI400.
Vu le nombre de Raspberry Pi que j’utilise, il devenait pénible de lancer VNC (en se souvenant de l’IP) pour des actions répétitives et courantes.
Le lanceur permet également de lancer des sites Internet et je m’en sers pour transférer les Scripts Python développés sur mon Raspberry Pi de développement vers mes autres Raspberry Pi. Avant, il fallait que je passe par le PC.
INSTALLATION
On commence par installer paramiko. Paramiko est une implémentation Python (2.7, 3.4+) du protocole SSH v2, fournissant à la fois des fonctionnalités client et serveur. Bien qu’il utilise une extension C de Python pour la cryptographie de bas niveau (Cryptography), Paramiko lui-même est une interface Python pure autour des concepts de réseau SSH.
1 |
sudo pip3 install paramiko |
Vous pouvez maintenant récupérer les programmes du lanceur et les dézipper dans un dossier.
Copiez Lanceur-IP-107.py et Cdpetit.gif dans le dossier de vos Scripts Python.
Créer un sous-dossier : Lib et copiez les 4 librairies suivantes dans ce dossier Lib
- clsCDBI : Librairie Générale
- clsSSH : Librairie SSH
- clsSCP : Librairie SCP pour transfert de Fichier/Dossier
- clsToolTip : Librairie pour les ToolTipTexte (n’existe pas dans tkinter)
Copiez également le fichier Lanceur-IP-1.pdf dans le dossier de Lanceur-IP-107.py également.
PREMIER LANCEMENT
Comme c’est la première utilisation du logiciel, il n’y a pas encore de fichier de configuration : Lanceur-IP-107.conf
On doit obtenir l’écran suivant :
Cliquez sur le bouton OK et saisissez le mot de passe SSH et appuyez sur ENTRÉE.
Tous les Raspberry Pi doivent avoir le même mot de passe
Leurs noms seront automatiquement renseignés.
ENREGISTREMENT DES IP
Faire un SCAN-IP pour trouver les Raspberry Pi disponibles en ligne (Analyse entre 192.168.1.2 et 100). L’opération est assez longue, le TimeOut du SSH est fixé à 2s.
Rentrer les IP des machines que vous voulez contrôler en colonne 2 de la grille. Le bouton ENR/RAFRAICHIR permet d’enregistrer les données. Le bouton TEST-IP est utilisé pour valider les connections et les boutons d’accès. Le nom des Raspberry Pi apparaît en colonne 1 si le programme les a trouvés.
A chaque clic sur ENR/RAFFRAICHIR, le fichier de configuration est sauvegardé en .BAK
LES BOUTONS D’ACCES
Coche Browser |
Lance Chromium sur l’IP avec le bouton VOIR Peut contenir un port comme 192.168.1.xx:yyyy ou une adresse internet (exemple dans l dernière copie d’écran, plus bas dans l’article) Le nom est alors en marron Les boutons d’accès sont dévalidés |
Bouton MAJ |
Lance les mises à jour sur l’IP et enregistre la date Envoie également un « autoremove » Résultats affichés dans la zone texte |
Bouton Voir |
Lance VNC sur l’IP ou Chromium si Browser coché |
Bouton CMD |
Lance la commande définie dans la zone texte en bas en SSH |
Boutons ReBoot et Arret |
Comme le nom l’indique |
COMMANDES GENERALES
Nombre de Lignes |
Ajuste le nombre de lignes donc le nombre de Raspberry Pi à contrôler Faire ENR/RAFRAICHIR pour valider La fenêtre est automatiquement re-dimensionnée Attention, les lignes non visibles ne seront pas enregistrées |
User SSH |
par défaut « pi » pour le SSH |
Passe SSH |
pour le SSH (le même pour tous) |
ENR/RAFRAICHIR |
Enregistre la configuration et rafraichit l’affichage |
TEMPÉRATURES |
Affiche les températures CPU des Raspberry Pi disponibles |
TEST-IP |
Vérifie la présence des Raspberry Pi de la grille Si non présent, le nom est en rose et boutons invalidés Remet le nom du Raspberry Pi s’il a changé en colonne 1 Coche Auto Lance le TEST-IP au démarrage et à chaque ENR-RAFFRAICHIR |
SCAN-IP |
Analyse des IP entre 192.168.1.2 et 192.168.1.100 |
AIDE |
Clic gauche pour afficher Apropos dans la zone texte Clic droit pour lancer la notice (Lanceur-IP-107.odt) sous OpenOffice (gestion erreur si pas installé sur le Raspberry Pi) |
TRANSFERT DE FICHIERS ENTRE RASPBERRY PI
CAPTURE D’ÉCRAN
Utilise scrot Clic Droit pour voir le chemin de destination L’attente est réglée à 10s Message dans la zone texte quand terminé |
DOUBLE CLIC COLONNE 1 (NOM)
Infos CPU et Mémoire affichées en zone texte
SUPPRIMER UN RASPBERRY PI
Simplement en effaçant l’IP en colonne 2
Puis bouton ENR/RAFRAICHIR
AJOUTER UN RASPBERRY PI
Rentrer son IP en colonne 2
Puis bouton TEST-IP pour trouver son nom
Puis bouton ENR/RAFRAICHIR pour finaliser
Exemple
Voici le lanceur utilisé tous les jours par Christian. On a aussi l’affichage des infosCPU et mémoire du M-Center.
ATTRIBUER UNE ADRESSE IP FIXE AUX RASPBERRY PI
Pour être tranquille, il vaut mieux mettre des IP fixes sur tous les Raspberry Pi
1 2 3 4 5 6 7 8 9 10 11 12 13 |
sudo nano /etc/dhcpcd.conf # Example static IP configuration: interface eth0 static ip_address=192.168.1.xx/24 static ip6_address=fd51:42f8:caae:d92e::ff/64 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 8.8.8.8 fd51:42f8:caae:d92e::1 |
Conclusion
Voici un bel exemple de ce qu’un maker peut réaliser avec l’outil informatique, pour faciliter sa vie de tous les jours. En général ce sont les tâches répétitives qui déclenche l’envie d’automatiser des actions. Cette solution du lanceur IP pourra aussi être très utile à des entreprises qui mettent en œuvre de nombreux Raspberry Pi. avantage non négligeable, la solution est open source et vous avez accès à tous les programmes que Christian met à votre disposition… Merci à lui 😀
Les précédents articles de Christian sur le blog
Picam avec détecteur infrarouge – Câble HDMI vers le Raspberry Pi
Utilisation simultanée de PiFace 2 et SenseHAT sur un Raspberry Pi
https://www.framboise314.fr/utilisation-simultanee-de-piface-2-sensehat-raspberry-pi-retour/
https://www.framboise314.fr/utilisation-simultanee-de-piface-2-sensehat-raspberry-pi-episode-iii/
Sources
- http://www.paramiko.org/
- https://www.framboise314.fr/wp-content/uploads/2021/08/Lanceur.zip
- https://www.framboise314.fr/wp-content/uploads/2021/08/Lanceur-IP-1.odt
Faire un SCAN-IP pour trouver les Raspberry Pi disponibles en ligne (Analyse entre 192.168.1.2 et 100).
Comment faire si les raspberry ont une adresse entre 192.168.1.177 et 192.168.1.182 ?
Merci
😉
Bonjour
il y a une ligne à modifier dans Lanceur-IP-107.py :
for k in range (2,101):
Très juste doudy
je vais mettre 2 boutons de SCAN-IP pour 2 à 100 et 100 à 200
Scanner tout entre 2 et 200 est trop long
Bonjour,
super projet 🙂
Moi qui suis fan de VS code ca serait super intéressant de reprendre le principe pour en faire une extension, mais c’est du JS. Il y a déjà quelques extensions pour gérer le SSH notamment la fonction remote qui est super pratique.
En tout cas bravo
Pierre-Etienne
Merci Pierre-Etienne