Publié le 5 septembre 2021 - par

Un lanceur IP (version 2) et une sauvegarde pour le Raspberry Pi

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. Il a également créé un système pour réaliser plus facilement ses sauvegarde. Je lui laisse la parole pour vous présenter ses réalisations…

 

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.

Vous pouvez maintenant récupérer les programmes du lanceur et les dézipper dans un dossier.
Copiez Lanceur-IP-108.py, Lanceur-IP-108.pdf et Cdpetit.gif dans le dossier de vos Scripts Python. (Le numéro de version peut évoluer dans le temps, adaptez votre commande).
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)

 

PREMIER LANCEMENT

Comme c’est la première utilisation du logiciel, il n’y a pas encore de fichier de configuration : Lanceur-IP-108.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 ou 200). 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
Le bouton indique MAJ, ou MAJF, ou MAJD plus la date  et est sauvegardé
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
Attendre…….Indication lorsque le Reboot est terminé
Après 1à essais de re-connexion

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
AIDE
Clic Gauche => A propos
Clic Droit => Affiche la notice en .PDF
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-IP1 ou 2

1 > Analyse des IP entre 192.168.1.2 et 192.168.1.100
2 > Analyse des IP entre 192.168.1.100 et 192.168.1.200
Affiche les IP trouvés en zone texte

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

Utilise SCP version 1
Double click sur l’IP en colonne 2
Indique si disponible ou son Nom

Fichiers/Dossier Origine

Click-Droit pour choisir le fichier
Faire Annuler pour passer au choix Dossier
Répéter l’opération pour chaque fichier à copier (Affichés dans la liste)
Copie d’un seul dossier à la fois avec ses sous- dossiers (Récursif)

Rentrer le Chemin de destination

ENTREE  permet de lire le contenu de ce dossier
pour vérification des Fichiers/Dossiers actuels

Bouton COPIER

Si la destination n’existe pas, création avec les droits 777
Les erreurs seront affichées dans la zone texte

Bouton RAZ

Efface toutes les données ci-dessus

CAPTURE D’ÉCRAN

Utilise scrot
Clic Droit pour voir le chemin de destination
L’attente est réglée à 10s

Quand terminé

Message dans la zone texte
Le bouton revient en état normal
Indication TERMINE

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

LIAISON AVEC PC WINDOWS

Tous mes Raspberry ont SAMBA d’installé et les partages configurés
Écran de l’accès rapide du PC :

Vous pouvez télécharger tous les fichiers de ce lanceur IP ici :
https://codes-sources.commentcamarche.net/source/103302-lanceur-sur-ip-raspberry

Logiciel de sauvegarde

Voici un petit logiciel de Sauvegarde dont je me sert sans arrêt pour sauver mes sources ou autres…

CRÉATION D’UN PROFIL

Choisir un numéro pour ce profil et rentrer son nom
Choisir un dossier d’origine avec le bouton « … »
Idem pour le dossier principal de destination
  – Le nom du dossier origine sera ajouté au dossier principal de sauvegarde
Faire « ENR »
Vous pouvez enregistrer plusieurs profiles en les sélectionnant avec « + » et « – » et les supprimer

SAUVEGARDE

Choisir un profil
Indication de la date/heure de la dernière sauvegarde
Coche « Effacer Destination avant » pour nettoyer
Coche « Différentiel » ne copie que les fichiers plus récents
Faire « COPIER »
  – Indication du nombre de Sous-Dossiers traités (Récursif) et du nombre de fichiers copiés

Faire « Fichiers Copiés » pour vérification

En gras si la date est plus récente

Vous pouvez télécharger les fichiers de ce logiciel de sauvegarde ici :
https://codes-sources.commentcamarche.net/source/103303-sauvegarde-raspberry

 

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

Une horloge avec le Raspberry Pi et Pi Juice

Picam avec détecteur infrarouge – Câble HDMI vers le Raspberry Pi

Un ampli audio pour votre Raspberry Pi

Piloter un ventilateur de Raspberry Pi en PWM

Boîtier de commande I2C pour 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

 

Share Button

À propos François MOCQ

Électronicien d'origine, devenu informaticien, et passionné de nouvelles technologies, formateur en maintenance informatique puis en Réseau et Télécommunications. Dès son arrivée sur le marché, le potentiel offert par Raspberry Pi m’a enthousiasmé j'ai rapidement créé un blog dédié à ce nano-ordinateur (www.framboise314.fr) pour partager cette passion. Auteur de plusieurs livres sur le Raspberry Pi publiés aux Editions ENI.

6 réflexions au sujet de « Un lanceur IP (version 2) et une sauvegarde pour le Raspberry Pi »

  1. Ping : Un lanceur IP pour le Raspberry Pi - Framboise 314, le Raspberry Pi à la sauce française....

  2. doudy

    Bonjour,

    J’ai fait l’installation comme prévue ci-dessus.

    J’ai fait un ” chmod +x clsToolTip.py”

    Et ensuite ?

    Si je fait :

    sudo python clsToolTip.py
    File “clsToolTip.py”, line 28
    self.fentip.geometry(f’+{event.x_root+2}+{event.y_root+2}’)
    ^
    SyntaxError: invalid syntax

    Si je fait :

    pi@raspberrypi-182:~/scripts/python $ python3 clsToolTip.py
    pi@raspberrypi-182:~/scripts/python $

     

    Dans l’aide il y a :

    PREMIER LANCEMENT
    Il n’y a pas encore de fichier de configuration: Lanceur-IP-107.conf
    On doit obtenir l’écran suivant :

    Mais il n’est pas indiqué comment faire le premier lancement !

    😳

    Répondre
      1. cdbi30

        sudo chmod +x chemin/Lanceur-IP-108.py
        Ensuite un double-click sur le fichier Lanceur-IP-108.py
        ou Ouvrir dans le menu du click-droit
        Les modules de classe ne sont pas des exécutables

        Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Complétez ce captcha SVP * Time limit is exhausted. Please reload CAPTCHA.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.