KVM est l'abréviation de « Keyboard, Video, Mouse » (clavier, vidéo, souris). Quiconque y a accès peut commander un ordinateur à distance. Grâce à l'astucieux logiciel Pi-KVM et à un Raspberry Pi 4, vous pouvez commander à peu de frais un PC et d'autres appareils via l’internet, sans avoir à installer de logiciel sur l'ordinateur commandé à distance. Pi-KVM autorise également les disques virtuels, ce qui permet non seulement de commander et maintenir un ordinateur à distance, mais aussi d’effectuer une réinstallation complète.


Pendant la pandémie, j'ai découvert que mes parents avaient encore chez eux des ordinateurs fonctionnant sous Windows 7 (et même sous Windows XP). En raison des failles de sécurité, qui ne peuvent plus être corrigées, ces ordinateurs devaient être mis à jour de toute urgence. Malheureusement, une mise à jour n'était pas suffisante pour ces machines. Elles nécessitaient une réinstallation complète, mais il n'était pas question de se rendre sur place en voiture, en raison du confinement et de plus de huit heures de route.

Quiconque a déjà essayé de guider quelqu'un à travers des dizaines d'étapes d'installation avec un mélange d'appels téléphoniques et de tchat vidéo peut facilement imaginer que ce n’est pas la bonne solution pour l'installation d'un système d'exploitation et la sauvegarde de données. Ce qu'il faut, c'est un accès à distance. Et c'est exactement ce que l’on peut faire avec un RPi comme télécommande KVM.

À ce stade du texte, vous pouvez remplacer parents par clients, ordinateurs par commandes de machines et nouvelle installation par analyse des erreurs. Une paire d'yeux avec laquelle on peut observer un système à distance, indépendamment du matériel, permet d'éviter de longs déplacements sur site. Il est également possible de faire fonctionner à distance des appareils et des instruments de mesure qui n'ont jamais été prévus à cet effet par le fabricant. La figure 1 illustre l'utilisation de Pi-KVM pour le contrôle à distance d'un PC. Une machine peut être maintenue à distance comme le montre la figure 2.

Figure 1. Assistance à distance avec Pi-KVM sur le PC distant.
Figure 2. Maintenance à distance d'une machine avec Pi-KVM.

L' alternative Pi-KVM

Il est vrai que les logiciels de maintenance à distance existent déjà. Si vous utilisez un RPi ou un PC, vous avez sûrement utilisé des outils comme VNC, AnyDesk ou TeamViewer. En dehors de ceux-ci, il existe nombre d'autres solutions pour la maintenance et la commande à distance. Toutes ces solutions sont peu coûteuses, voire gratuites pour l'utilisateur privé. Pour aider quelqu'un à configurer un nouveau logiciel ou poster des messages sur les réseaux sociaux, c’est une solution simple et rapide. En revanche, ces aides nécessitent toutes un système d'exploitation qui fonctionne et une connexion à l’internet.

Mais que faire si l'ordinateur ne démarre plus ou ne parvient plus à se connecter au réseau ? Ou s’il faut réinstaller le système d'exploitation ? C'est à ce moment-là qu'une personne compétente doit se rendre sur place pour faire redémarrer le système d'exploitation et établir une connexion réseau ou internet. Cela s'applique également à la réinstallation d'un système d'exploitation. La figure 3 montre le message du BIOS d'un PC qui n'a pas trouvé de support de démarrage.

Figure 3. Message d'erreur au démarrage.

Le Pi-KVM fonctionne indépendamment de l'ordinateur à commander et transmet via le réseau l'image vidéo produite par la carte graphique à un second système qui ne fait qu’exécuter un navigateur web compatible HTML5. Là, non seulement l'image de l'ordinateur commandé à distance peut être affichée, mais les mouvements de la souris et les entrées du clavier sont aussi renvoyés à l'ordinateur asservi. Cela vous permet de commander l'ordinateur distant comme si vous étiez devant son écran, sa souris et son clavier. La figure 4 montre le message du BIOS du PC maintenant correctement installé, dans le navigateur d'un ordinateur distant. L'accès au BIOS (comme le montre la figure 5) peut également être commandé facilement via un navigateur distant, il n'est donc pas absolument nécessaire d'être à proximité du PC.

Figure 4. Message d'erreur dans le navigateur avec Pi-KVM.
Figure 5. Paramètres du BIOS à distance.

Disques virtuels

Les choses se compliquent lorsqu’il s’agit d’insérer à distance (typiquement à plus de 2 m) des clés de démarrage USB ou des supports de données rotatifs tels que DVD ou CD. Vous pourriez envoyer une clé de démarrage au PC à commander à distance et espérer que quelqu'un sur place l'insère correctement. Pi-KVM dispose d’une option de disques virtuels (c'est-à-dire qu'il peut émuler une clé USB ou un lecteur de CD-ROM USB). Pour ce faire, il suffit de télécharger et d’installer l'image disque appropriée via un navigateur. La figure 6 montre le menu du disque virtuel. L'émulation de CD est actuellement limitée aux fichiers ISO, qui ne doivent donc pas dépasser 2 Go. Pour les fichiers ISO de plus de 2 Go (fig. 7), il faut des ISO hybrides (c'est-à-dire qui peuvent aussi être écrits sur une clé USB). Ceux-ci peuvent alors être utilisés avec le type d'émulation Flash et apparaître comme un stockage de masse USB.

Figure 6. Disques virtuels.
Figure 7. Les ISO de plus de 2 Go comme mémoire de masse.

Une solution abordable et ouverte

Est-ce que quelque chose comme Pi-KVM n'existe pas déjà ? Les fonctions offertes par Pi-KVM sont également proposées par des dispositifs d'autres fabricants, mais généralement beaucoup plus chers que la solution Pi-KVM et avec un micrologiciel fermé. Avec ces dispositifs, certaines fonctions de confort font alors également l'objet d'un supplément de prix. Le Pi-KVM est un projet à code source ouvert et peut être assemblé avec du matériel courant. Prévoyez un budget global d'environ 100 € pour la solution faite maison.

Il y a deux façons de construire un Pi-KVM, l'une avec un pont HDMI vers CSI et l'autre avec une carte d’acquisition HDMI vers USB. Les figures 8 et 9 montrent les flux de données à travers le RPi 4 avec chacune des solutions. Passons maintenant à la présentation des composants requis et à quelques conseils sur leur assemblage.

Figure 8. Flux de données avec le pont HDMI-CSI.
Figure 9. Flux de données avec la clé d’acquisition HDMI-USB.

Matériel nécessaire

Le matériel nécessaire pour le Pi-KVM est assez simple :

  • Un Raspberry Pi 4 (2 Go de RAM ou plus) (figure 10)
  • Une carte Micro-SD (16 Go recommandés)
  • Une alimentation USB (5 V/3 A)
  • Un boîtier (facultatif)
  • Un pont HDMI -> CSI ou une carte d’acquisition HDMI -> USB (clé USB) (figure 11)
  • Un câble USB en Y (figures 12 et 13)
 
Figure 10. Raspberry Pi 4, version 2 Go.
Figure 11. Pont HDMI-CSI et clé d’acquisition HDMI-USB.
Figure 12. Câble USB A-Y.
Figure 13. Câble USB-A vers USB-C.

Si les trois premiers composants devraient être disponibles ou faciles à obtenir pour la plupart des lecteurs, les trois derniers sont un peu plus difficiles à trouver. Pour le pont HDMI-CSI (la figure 14 montre deux variantes), il faut un peu chercher en Europe ou vous rabattre vers l’Extrême-Orient. On peut commander pour quelques euros une clé d’acquisition HDMI-USB auprès de sociétés de vente par correspondance spécialisées. Même si on peut être tenté par le prix de ces clés, elles présentent certaines limites en termes de stabilité ou de résolutions prises en charge. Le pont HDMI-CSI est le choix le plus stable et le plus compatible.

Figure 14. Deux variantes du pont HDMI-CSI.

Pour la connexion entre le RPi 4 et l'ordinateur à commander, on utilise le port USB-C du RPi 4 en mode USB OTG. Cela permet au RPi 4 de se comporter comme un clavier, une souris ou un périphérique de stockage de masse vis-à-vis d'un PC. Pour cela, le RPi 4 est connecté à l'ordinateur avec un câble USB-A vers USB-C et est également alimenté par ce biais. Comme il faut ici 3 A sous 5 V, on ne peut pas garantir un fonctionnement stable sans un bloc d’alimentation de 5 V supplémentaire.

Le port USB-C étant utilisé en mode OTG, vous pourriez alimenter le RPi 4 en 5 V via l'embase à 40 broches. Cependant, ces 5 V alimentent également l'ordinateur connecté au port USB-C. C'est un phénomène que peu d'ordinateurs apprécient et qui se traduit par des dysfonctionnements. Une solution consiste à utiliser un câble en Y qui sépare les données et l'alimentation électrique.

Pour éviter d’avoir à souder deux câbles USB, le laboratoire d’Elektor a conçu un petit circuit imprimé (fig. 15). Deux prises USB-B (fig. 16) permettent une connexion à une alimentation électrique et une autre à un ordinateur sans retour d’alimentation en 5 V. Pour chacune des deux prises, une LED signale la présence de la tension de 5 V du bus. La carte est disponible sous forme d’un projet KiCAD à télécharger dans le dépôt GitHub d'Elektor [1]. Toutefois la carte n'a pas encore été testée de manière approfondie, la réalisation est donc à vos risques et périls. Vous trouverez la liste des composants et le schéma du circuit à la fin de l'article.

Figure 15. Carte d'adaptation assemblée.
Figure 16. Deux robustes prises USB-B.

 

Installation du logiciel

Vous pouvez télécharger le logiciel Pi-KVM depuis la page d'accueil du développeur [2]. Une carte SD avec 16 Go de mémoire (fig. 17) est recommandée pour l'installation. Avec un pont HDMI-CSI, utilisez l’image Raspberry Pi 4 v2 platform for HDMI-to-CSI bridge ; avec une clé USB-HDMI, utilisez l'image Raspberry Pi 4 v2 platform for HDMI-to-USB dongle.

Figure 17. Carte micro-SD avec 16 Go de mémoire.

Le fichier téléchargé doit être décompressé à l'aide d'un programme comme 7-Zip, puis écrit sur une carte SD avec un outil comme Raspberry Pi Imager. L'installation de base est ainsi terminée et vous pouvez commencer à assembler le matériel. Pour examiner le code source, rendez-vous dans le dépôt GitHub [3] de Pi-KVM.

 

Assemblage du matériel

Si on utilise le pont HDMI-CSI, il est malheureusement un peu plus difficile de trouver un boîtier adapté. Soit quelqu'un a déjà construit un tel boîtier, soit il faut se débrouiller avec un peu de FreeCAD et une imprimante 3D. Pour cet article, le montage est volant.

Dans cette configuration, vous aurez besoin de la carte correspondante et d'un câble de caméra RPi. Il faut insérer dans le RPi 4 une carte SD convenablement préparée avec la dernière image pour Pi-KVM et connecter au port de la caméra le pont HDMI-CSI. Le câble USB en Y doit être connecté au port USB-C du RPi 4. Avec cela, le Pi-KVM est prêt à être utilisé (fig. 18).

Figure 18. Installation terminée avec le pont HDMI-CSI.

Pour la variante avec la clé d’acquisition HDMI-USB, il faut l’enficher dans un des ports USB 2.0 du RPi 4. La clé USB ne sera pas reconnue si vous utilisez un des ports USB 3.0 bleus (fig. 19).

Figure 19. Installation terminée avec la clé d’acquisition HDMI-USB.

 

Premier essai

Une fois que tous les composants ont été assemblés et, si possible, installés dans un boîtier, rien ne s'oppose au premier essai. J'ai utilisé un deuxième RPi 4 comme objet de test, celui qui sert depuis un certain temps de caméra sur mon bureau (fig. 20) (voir l’article du n°491 d’Elektor [4]). Le RPi 4 qui exécute Pi-KVM est connecté à un réseau câblé.

Figure 20. Caméra Raspberry Pi (Elektor 09-10/2021 [4]).

Le premier démarrage de Pi-KVM dure longtemps car la partition est ajustée à la taille de la carte SD. Une fois le processus terminé, Pi-KVM essaie d'obtenir une adresse IP via DHCP. Vous devrez peut-être vérifier dans le routeur ou le serveur DHCP quelle est l’adresse IP du Pi-KVM. Enfin appelez l'interface du Pi-KVM dans un navigateur web.

Après le démarrage, connectez-vous à l'interface avec le nom d'utilisateur admin et le mot de passe admin. Sous la rubrique KVM, l'écran du deuxième RPi 4 apparaît, la souris et le clavier peuvent maintenant être utilisés à distance.

La figure 21 montre l'interface web avec le bureau du RPi distant, capturée avec le pont HDMI-CSI. La figure 22 montre la même scène, cette fois avec une clé HDMI-USB. La qualité de l'image a diminué et des bords verts sont visibles comme artefacts.

Figure 21. Bureau de la caméra Raspberry Pi capturé avec le pont HDMI-CSI.
Figure 22. Bureau de la caméra Raspberry Pi capturé avec la clé d’acquisition HDMI-USB.

Pour des configurations et options supplémentaires, cela vaut la peine de consulter la page d'accueil de Pi-KVM ou le dépôt GitHub. En plus de la souris et du clavier, un stockage de masse est disponible comme déjà mentionné. Le RPi 4 avec Pi-KVM peut émuler un lecteur optique ou une clé USB. Pour ce faire, l'image appropriée peut être copiée sur le RPi 4 via l'interface web (fig. 23).

Figure 23. Émulation de mémoire de masse sur l'interface web.

 

Outlook

Avec le logiciel Pi-KVM et quelques composants peu coûteux, vous pouvez transformer un RPi 4 en une télécommande pour ordinateurs et autres dispositifs manipulés avec une souris et un clavier. Si vous ne souhaitez pas assembler les composants vous-même, jetez un œil à la page d'accueil de Pi-KVM. Ils y travaillent sur un HAT complet pour le RPi 4 avec un boîtier correspondant. Pi-KVM et ses développeurs sont actuellement financés par des dons via Patreon ou Paypal. Si vous aimez le projet, l’équipe appréciera sûrement un peu de reconnaissance.

 

Des questions, des commentaires?

Envoyez un courriel à l'auteur (mathias.claussen@elektor.com) ou contactez Elektor (redaction@elektor.fr).

_______________________________________________________________________
 

Composants

Liste des composants

Résistances (0,25 W)
R1,R2,R3 = 100 kΩ
R4,R5 = 1 kΩ
 
Condensateurs
C1,C2,C3 = 100 nF
 
Semi-conducteurs
D1,D2 = LED rouge, 5 mm
 
Autres
K1,K2 = connecteur USB-B 
K3 = connecteur USB-A 
Circuit imprimé 200523-1 V1.0

Traduction : Denis Lafourcade