Aller au contenu principal

PiKVM V2 DIY

Présentation

PiKVM est un projet opensource s'articulant autour d'un Raspberry Pi pour fournir sur le réseau un accès au clavier/écran/souris (KVM pour Keyboard/Video/Mouse) d'une machine. Le site du projet peux se trouver ici : PiKVM. Je distingue deux branches au projet, une version clef en main qu'on peux acheter contre espèces sonnante et trébuchantes, et une version DIY qu'on peux assembler fait de différentes pièces qu'on pourra choisir sur mesure.

Les versions

la version "ready-made"

C'est une version toute prête, qu'on peux acheter. Le modèle plus récent au moment où j'écris est le PiKVM V4.

PiKVM V4

On est dans les 490€ donc cela a un prix, et en plus, on s'amuse moins. La V4 se subdivise en V4 Plus et V4 Mini. Les deux s'appuie sur un Raspberry Pi CM4, un Raspberry Pi 4 dans un format compact et intégrable dans un produit manufacturé. La version précédente, la V3 est un peut moins cher, entre 290€ et 350€. Elle s'appuie sur un Raspberry Pi 4 plus classique. Si vous êtes du genre à vouloir du clef en mai, vous trouverez votre bonheur dans les liens de vendeurs par ici : Où acheter ?.

la version DIY

Encore une fois, deux choix :

Comparaison des différentes version

Ca en fait du monde

Regardons donc Les variants. En suivant ce lien vous aurez une belle vue des modèles disponible et un tableau qui sera d'une grande aide quand aux compromis que vous ferez ou pas en choisissant une version ou une autre.

Les versions DIY offrent encore plus de flexibilités et donc plus de choix à faire qui viennent avec leur lots de compromis. Le site du projet nous guide pas à pas dans les choix des composants la construction et/ou l'assemblage. Et tout ceci commence par ici.

De mon côté je suis parti sur une version DIY V2. Avec un petit plus, le Multiports ! Quesako ? l'ajout d'un KVM (Switch clavier/écran/souris) piloté par PiKVM. J'ai pour le moment deux serveurs à piloter, j'ai donc pris un switch 4 ports histoire de garder une marge de manoeuvre. Voilà, vous savez tout.

C'est donc l'histoire de cette configuration que je vais vous conter ici.

La construction

Liste de course

Le site du projet donne toute ses indications ici. Et comme le dit si bien l'intro : "So many choices!". Précision pour le tableau qui suit, ce sont des liens amazon tout ce qu'il y a de plus simple, pas sponso ni rien du tout. Juste pour raison pratique. Bien évidement on est sur des composants classique que vous pourrez trouver dans pas mal d'autres boutiques.

ComposantChoixPrixDescription
MicroSD cardMicroSD card 64Gb class 1017.47€le projet indique un minimum de 16Go mais j'avais celle-ci en stock
Raspberry PiRaspberry Pi 4 Modèle B75.90€Le coeur du projet 😄 idem, ici c'est la version avec 4Go de RAM, la version 2Go n'étais pas/peu disponible au moment de ma commande
Video capture deviceGeekworm Raspberry Pi Module HDMI vers CSI-236.89€Le projet donne le choix entre cette carte et un dongle USB (qui ne détecte pas la résolution, augmente la latence, ne supporte par le H.264)
USB-C/Power Splitter ModuleMOGOOD USB C Splitter11.99€Comme raconté dans le point 4 seul le port USB-C (qui sers à l'alimentation), peut agir en tant que périphérique USB. On utilise donc un "doubleur" de câble USB-C. On est dans le cas Variant #2
USB Power BlockerPortaPow Bloqueur d'alimentation11.49€Permet donc de bloquer le retour d'alimentation entre le host et le RasperryPi, cf Variant #2
Official USB-C Power SupplyRASPBERRY Alimentation USB-C 5.1V 3A - Blanc15.00€Quoi dire
USB-A to USB-C cable (male-male)Amazon Basics Câble USB-C to USB-A 2.010.44€Pour connecter le RaspberryPi au port USB clavier/souris du KVM
Câble Micro USBCâble Micro USB [1M/Lot de 2]5.94€Pour connecter le RaspberryPi au KVM pour piloter le switch de source
HDMI courtcable HDMI court, 50cm7.49€Afin de relier la carte de capture vidéo au KVM
HDMI longTwozoh Câbles HDMI 4K 2M Lot de 213.99€Pour relier le KVM aux serveurs, partie vidéo
USB longdeleyCON 2m Câble de Données USB8.09€Pour relier le KVM aux serveurs, partie clavier/souris
KVM 4 portsCommutateur KVM ezcoo EZ-SW41KVMU3P169.99€Le fameux KVM testé et validé par le projet

Le coût total est donc de 384,68€. On voie qu'une bonne partie part dans le commutateur 4 ports (près de 170€ plus les quelques câbles supplémentaires qu'il nous fait prendre).

Schémas d'assemblage

schéma

Bon, je ne gagnerais clairement pas un prix pour ce schéma, j'espère que vous voyez l'idée. Ce qu'il faut retenir :

  • Le port Micro USB sur le côté du switch ezCoo se connecte sur un port USB-A du RaspberryPi.
  • Pour pouvoir utiliser clavier et souris, on connecte le port USB-C du RaspberryPi (le port data en sortie du splitter) sur le port souris du switch ezCoo en intercalant le USB Power Blocker (absent du schéma, voir la photo).
  • Sur la partie gauche de la photo du ezCoo, on connecte chaque couple HDMI/USB au serveur qu'on souhaite raccorder.
  • Pour relier le RasperryPi au module de capture HDMI, on peut suivre le tuto du site.

Et voilà :

sac de noeud

Au cas ou vous vous posiez la question, j'ai fait l'impasse sur le contrôleur ATX permettant de piloter les arrêts/relances des serveurs (simulation des boutons on/off/reset). Peut-être une upgrade un jour ?

Préparation de la carte mémoire

Rien de bien difficile ici. Je vous laisse avec la documentation officiel.

Premier démarrage

Préparation

Le guide officiel se trouve par ici.

Il vous faut l'adresse IP de votre PiKVM. Plein de solution pour vous pour la trouver. De mon côté, branché en RJ45, le RasperryPi a récupéré une adresse IP auprès du serveur DHCP. j'ai la chance d'avoir un switch manageable qui a pu me donner l'adresse IP.

Accès Web

Ensuite, on se connecte en https sur l'interface d'administration : https://[IP]/ . le user par défaut est admin, le mot de passe par défaut est admin sans 2FA (il va sans dire que c'est la première chose à changer).

defaut_login

On arrive sur la page principale et on vas vite aller sur le Terminal pour aller changer tout ca :

pikvm_homepage

En arrivant dans le Terminal, on doit passer root pour aller changer les mots de passe. Ceci se fait par la commande su -. Le mot de passe par défaut est : root (vous comprenez le besoin de changer !).

Les commandes à passer sont :

[root@pikvm ~]# rw
[root@pikvm ~]# passwd root
[root@pikvm ~]# kvmd-htpasswd set admin
[root@pikvm ~]# ro

Voici le résultat :

password_change

Tant qu'on est ici, on vas réaliser une mise à jour avec la commande :

[root@pikvm ~]# pikvm-update

Accès SSH

Rien de compliqué à ce stade, on connais l'IP, on a changé le mot de passe du compte root à l'étape précédente.

Contrôle du Commutateur KVM ezcoo 4 ports dans l'interface

  1. Se connecter en ssh au pikvm et passer la carte sd en lecture/écriture avec la commande : rw
  2. Si vous avez bien suivi les instructions de montage, l'interface de contrôle du commutateur est disponible sur /dev/ttyUSB0. Si c'est bien le cas, la commande ls /dev/ttyUSB0 ne doit pas renvoyer d'erreur.
  3. On vas éditer un fichier de configuration nano /etc/kvmd/override.yaml et y ajouter les lignes suivantes :
kvmd:
gpio:
drivers:
ez:
type: ezcoo
protocol: 2
device: /dev/ttyUSB0
scheme:
ch0_led:
driver: ez
pin: 0
mode: input
ch1_led:
driver: ez
pin: 1
mode: input
ch2_led:
driver: ez
pin: 2
mode: input
ch3_led:
driver: ez
pin: 3
mode: input
ch0_button:
driver: ez
pin: 0
mode: output
switch: false
ch1_button:
driver: ez
pin: 1
mode: output
switch: false
ch2_button:
driver: ez
pin: 2
mode: output
switch: false
ch3_button:
driver: ez
pin: 3
mode: output
switch: false
view:
table:
- ["#Input 1", ch0_led, ch0_button]
- ["#Input 2", ch1_led, ch1_button]
- ["#Input 3", ch2_led, ch2_button]
- ["#Input 4", ch3_led, ch3_button]

💡 Tip: Je vous encourage grandement à personnaliser "#Input 1" par quelquechose de plus parlant pour vous comme par exemple : "#Mon NAS".

Conclusion

Et voilà, on en a fini pour le moment. Je vous laisse sur ce bel écran en direct du serveur Proxmox bien au frais dans le grenier.

pikvm_proxmox