June 3rd, 2017

L'environnement de travail du Raspberry Pi n'est pas le plus confortable. Les programmes conviviaux avec des interfaces utilisateur graphiques ne sont pas disponibles dans la version légère de Raspbiam installée sur l'ordinateur monocarte. Même si la version complète de Raspbian avait été installée, le Raspberry Pi serait plutôt lent par rapport à un ordinateur de bureau i7 avec quatre cœurs. J'ai développé des habitudes de travail qui rendent le processus tolérable. Certains peuvent les trouver utiles ou peuvent trouver l'inspiration pour développer leur propre approche.

En d'autres termes, alors que je commençais à écrire des scripts sur le Raspberry Pi, j'ai rapidement eu envie d'utiliser mon éditeur de texte habituel plutôt l'éditeur nano. De toute évidence, je préfère travailler principalement sur l'ordinateur de bureau et transférer rapidement des fichiers entre ma machine principale et le serveur de domotique.

Table des matières

  1. Transfer de fichiers avec SFTP
  2. Transfer de fichiers avec FileZilla
  3. Synchronisation de répertoires avec FileZilla
  4. Modification de fichiers avec FileZilla
  5. Sauvegarde de la carte SD du Raspberry Pi
  6. Sauvegarde de la base de données de Domoticz
  7. Meilleur accès au site Web du serveur Domoticz

  1. Transfer de fichiers avec SFTP
  2. Étant donné que le serveur SSH du Raspberry Pi est activé, des fichiers peuvent être transférés vers un ordinateur de bureau selon le protocole SFTP qui est le protocole pour transférer et gérer des fichiers à distance à l'aide du protocole de communication sécurisé SSH. Et il n'y a pas de changement à apporter au Raspberry Pi. Toute modification à faire se fait sur l'ordinateur de bureau.

    Le programme SFTP est probablement déjà installé sur un ordinateur Linux et peut être utilisé à partir d'un terminal. Ce qui suit téléchargera tous les scripts Lua dans le répertoire home/pi/domoticz/scripts/lua du Raspberry Pi vers le répertoire Documents de mon répertoire personnel de mon ordinateur de bureau.

    michel@hp:~$ sftp pi@192.168.0.22 pi@192.168.0.22's password: remember nothing is shown not even '*'s Connected to 192.168.0.22. sftp> get domoticz/scripts/lua/*lua Documents Fetching /home/pi/domoticz/scripts/lua/JSON.lua to Documents/JSON.lua /home/pi/domoticz/scripts/lua/JSON.lua 100% 49KB 49.4KB/s 00:00 ... sftp>quit
    C'est un programme interactif très proche du logiciel FTP. Pour téléverser des fichiers on utilise put, pour afficher le dossier de travail sur l'ordinateur distant la commande est pwd, pour changer le dossier de travail local on utilise lcd et ainsi de suite. Ceci est vieux jeu et pas très convivial. En revanche, il n'y a rien à installer.

  3. Transfer Files with FileZilla
  4. Je préfère utiliser FileZilla plus convivial avec une interface graphique et qui fonctionne sous Linux, Mac OS X et Windows. L'installation sur mon ordinateur de bureau s'est fait en un clin d'oeil à partir de la logithèque Ubuntu.

    Une fois qu'il est installé, démarrez FileZilla et ouvrez le gestionnaire de site (Site Manager) dans le menu Fichier (File). Cliquez sur le bouton nouveau site (New Site), puis donnez au site du serveur SSH du Raspberry Pi un nom significatif. Continuer en remplissant remplir les champs hôte (Host), utilisateur (User) et mot de passe (Password), qui sont, les valeurs utilisées pour vous connecter à une session SSH sur le Raspberry Pi. Comme protocole, il faut sélectionner SFTP. Enfin, cliquez sur le bouton OK pour enregistrer les paramètres.

    Désormais, pour lancer une session, revenez au gestionnaire de site (Site Manager dans le menu File), sélectionnez le bon site dans la liste à gauche, et puis cliquez sur le bouton de connexion (Connect).

    Sur mon ordinateur de bureau, il existe une copie exacte du répertoire de l'utilisateur pi du Raspberry Pi. Lorsque j'ai besoin d'ajouter un script ou de le modifier, je le fais sur le bureau à l'aide de mon éditeur de texte préféré, et puis je téléverse les nouveaux fichiers ou les fichiers modifiés vers Raspberry Pi.

    Pour téléverser un fichier de l'ordinateur de bureau vers le Raspberry Pi, il suffit de double-cliquer sur son nom dans la liste à gauche dans FileZilla. Le fichier sera copié dans le répertoire affiché sur le côté droit qui se trouve sur le Raspberry Pi.

    La procédure est la même pour télécharger un fichier du Raspberry Pi vers l'ordinateur de bureau: double-cliquez sur son nom dans la liste de droite dans FileZilla. Le fichier sera copié dans le répertoire affiché sur le côté gauche.

    Heureusement, FileZilla facilite la synchronisation des fichiers sur l'ordinateur de bureau (l'ordinateur local) et le Raspberry Pi (l'ordinateur distant). La première chose à faire est d'ouvrir les bons répertoires à la connexion à l'ordinateur distant. Accédez au gestionnaire du site à nouveau, sélectionné le bon ordinateur distant dans la liste à gauche, cliquez sur l'onglet d'options avancées (Advanced) puis remplissez les noms des répertoires par défaut.

    La deuxième étape est de cocher la navigation synchronisée (Use synchronized browsing). Alors en sélectionnant un répertoire dans l'arborescence à gauche ou à droite, le même répertoire est automatiquement ouvert dans l'autre arborescence.
    Malheureusement, FileZilla a cessé de fonctionner. J'ai décoché cette option et j'ai mis à jour le logiciel (vers la version 3.23.0.2, la plus récente version est 3.25.2) et depuis il n'y a plus de problème avec la navigation synchronisé.

  5. Synchronisation de répertoires avec FileZilla
  6. Si vous ajoutez ou modifiez de nombreux fichiers, il est plus facile de voir les différences dans le contenu des répertoires locaux et distants en activant la comparaison des répertoires dans le menu affichage (Directory comparison dans View).

    Les listes de fichiers seront codées par couleur. Un arrière-plan jaune identifie un fichier manquant dans l'autre répertoire, tandis qu'un fond vieux rose identifie un fichier qui est d'une taille différente du fichier nommé de manière similaire dans l'autre répertoire. Un fond vert identifie un fichier qui a une date de modification différente par rapport à un fichier portant le même nom dans l'autre répertoire. Le fond blanc ou clair est réservé aux fichiers jugés les mêmes dans les deux répertoires. Ces fichiers peuvent être cachés en cochant l'option pour masquer les fichiers identiques dans le menu (Hide identical files). Les fichiers avec le même nom dans le répertoire local et distant sont considérés comme différents si leur taille est différente ou si leur temps de modification est différent. Un seul des deux critères peut être appliqué à tout moment.

    Un certain soin doit être utilisé si la taille du fichier est le critère de comparaison. Si la seule modification d'un fichier se trouve dans une adresse IP, "192.168.0.22" au lieu de "192.168.1.22", les fichiers ne s'afficheront pas comme différents.

    L'utilisation de la date du fichier comme critère n'est pas plus infaillible. Il se peut qu'il y ait de faux positifs, où un fichier inchangé a été sauvegardé par dessus lui-même, ce qui a changé la date de modification. Bien sûr que ce n'est pas très dramatique; cela peut vous amener à copier inutilement un fichier, mais comme ils sont identiques, il n'y aurait pas de mauvaises conséquences.

    Plus conséquent, c'est le fait que, Filezilla considère égaux des fichiers dont la différence dans leur date de modification est inférieure à une minute. C'est un problème parce que vous pouvez facilement effectuer un changement mineur dans un fichier et l'enregistrer dans un délai de cette durée. Bien que le seuil puisse être augmenté (Edit/Preferences/Interface/File lists/Directory comparison) comparaison), il ne peut pas être défini en fraction de minute. On ne peut donc le réduire à 0 minute et alors il peut y avoir beaucoup de faux positifs si l'ordinateur de bureau et le Raspberry Pi ont des systèmes d'exploitation différents. Le temps est souvent arrondi à différents nombres de seconde ou de fractions de secondes. D'autres gestionnaires de fichiers utilisent un seuil beaucoup plus petit: 2 secondes dans un cas au moins.

    Je suppose que la morale de l'histoire est qu'on doit être attentif quand on à recours à la fonction de comparaison synchroniser le contenu de répertoires avec Filezilla.

  7. Modification de fichiers avec FileZilla
  8. Parfois, les modifications à apporter à un script sont mineureques. Dans ce cas, je peux éditer le fichier sur le Raspberry Pi avec mon éditeur par défaut de mon ordinateur de bureau directement, en cliquant avec le bouton droit de la souris sur le nom du fichier dans la liste de droite. Ensuite, je sélectionne Afficher/Modifier (View/Edit) dans le menu contextuel. En réalité, FileZilla télécharge de manière transparente le fichier sur mon ordinateur local, ouvre mon éditeur par défaut avec ce fichier. Lorsque l'édition est terminée, il faut sauvegarder le fichier modifié sans changer son nom. FileZilla vérifie et s'il constate que le fichier enregistré est différent de l'original, il proposera de téléverser la version révisée par-dessus le fichier original du Raspberry Pi.

    Si vous faites cela, et si vous conservez une copie des fichiers du serveur domotique sur votre ordinateur de bureau, vous devriez télécharger le fichier modifié sur l'ordinateur local à un moment donné. Sinon, les répertoires copiés et originaux ne seront plus synchronisés.

  9. Sauvegarde de la carte SD du Raspberry Pi
  10. Compte tenu de tout le travail et le temps consacré à installer Raspbiam et Domoticz, en particulier avec un vieux Raspberry Pi, il serait judicieux de sauvegarder la carte SD du petit ordinateur. Cela signifie copier le contenu de la carte SD vers un fichier image sur l'ordinateur de bureau. En fait, il s'agit d'effectuer le processus initial d'installation de l'image Debian dans la direction opposée. Malheureusement, ETCHER ne fonctionne pas en sens inverse donc vous devrez recourir aux applications traditionnelles pour copier vers et depuis une carte SD.

    Les instructions spécifiques pour installer l'image Debian sur une carte SD avec un ordinateur de bureau Linux expliquent également comment faire l'inverse. Selon mes souvenirs, il était facile d'utiliser l'utilitaire Win32DiskImager pour faire le même genre de chose dans Windows. Il semble que les instructions pour Mac OSX sont assez semblables à celles de Linux. Voici la série de commandes utilisées sur Linux:

    michel@hp:~$ df -h ... identify the physical devices containing the boot partition (fat) ... and the operating system (ext) partition, in my case, sde1 and sde2. michel@hp:~$ sudo umount /dev/sde1 michel@hp:~$ sudo umount /dev/sde2 michel@hp:~$ cd Downloads/raspberrypi michel@hp:~/Downloads/raspberrypi$ sudo dd bs=4M if=/dev/sde of=backup.img

  11. Sauvegarde de la base de données de Domoticz
  12. L'enregistrement complet de la carte SD du Raspberry nécessite beaucoup de temps et peut même impliqué un déplacement physique. Je cherche à minimiser mes mouvements par soucis l'environnement: consommation excessive d'oxygène, dégagement de gaz, pollution du bruit, usure et des escaliers et des planchers, et autres considération de ce genre. Donc, faire une sauvegarde de la base de données Domoticz après des changements importants aux périphériques, aux horloges, aux scènes, etc. est une bonne pratique et peut être fait à partir du confort d'un ordinateur de bureau. Voici les étapes (virtuelles) impliquées:

    1. Connectez-vous à l'interface Web du serveur Domoticz.
    2. Cliquez sur l'onglet Setup.
    3. Choisissez Settings dans le menu déroulant.
    4. Cliquez sur l'onglet Backup/Restore.
    5. Cliquez sur le bouton Backup Database.
    6. Sélectionnez Save File ou l'équivalent selon le navigateur Web et les paramètres du système d'exploitation.

  13. Meilleur accès au site Web du serveur Domoticz
  14. L'ajout de nouveaux périphériques, les plannings, les scènes et ainsi de suite ou les modifications à ces choses se font sur le site Web du serveur Domoticz sur le Raspberry Pi. J'ai constaté que je perds rapidement l'onglet du site Web parmi tous les onglets ouverts dans les nombreuses fenêtres de navigateur que j'ai. Il m'arrive souvent de fermer le site accidentellement. J'ai trouvé pratique de créer une icône de la barre de lancement pour ouvrir le navigateur à la bonne page. Lorsque je ne retrouve plus le site Domoticz, je n'ai qu'à cliquer sur l'icône et pour que le site soit affiché en premier plan.

    Les instructions pour faire cela avec Firefox sur Ubuntu sont disponibles ici: une application Domoticz sous Linux. J'imagine que quelque chose de similaire peut être fait avec Firefox sur Windows. Quelque chose de similaire peut certainement être fait avec Chrome sur Android: Domoticz avec Android.