Cisco Suisse Blog
Share

DIY : Un serveur de terminal mobile basé sur un Raspberry Pi


19/07/2018


Sujet

Lors de la mise en place initiale d’un équipement dans un lab ou lors d’une intervention de dépannage, qui n’a pas du s’installer de manière inconfortable sur un tabouret pour pianoter en position instable, avec son laptop déséquilibré par des câbles toujours trop courts ? 

Pour travailler de manière plus agréable à distance, voilà une idée de montage à base de Raspberry Pi Zero, pour accéder en Wifi au port console série du switch, du routeur ou du point d’accès à configurer.

Le principe

On équipe un Raspberry Pi Zero W avec un module de type “port série”, à connecter à l’équipement à administrer. 

Le Raspberry Pi peut se comporter en client Wifi, s’il existe une infrastructure Wifi en place, ou éventuellement jouer le rôle de point d’accès pour offrir un accès proche depuis le laptop. 

Ensuite, on se connecte à distance depuis une salle plus adaptée au travail.

Pour faciliter la mise en place, on ajoute une batterie LiPo qui permet un branchement sans nécessiter le courant du secteur (accès à un accès-point au plafond par exemple, ou absence de rallonge électrique).

Le matériel 

Les composants principaux :

  • Un Raspberry PI Zero WH (avec Header)
  • Une carte mémoire microSD 16GB SDHD Card
  • Un module SerialPiZero (de AB Electronics UK)

Le module de charge et la batterie :

  • Un module Adafruit PowerBoost 1000 Charger chez Play-Zone
  • Une batterie Lithium – Ion (LiPo) – 1000mAh

L’alimentation et le boitier de montage :

  • Une alimentation compatible USB 2A
  • Un câble USB A vers USB micro (le plus court possible)
  • Un boitier plastique pour raccord électrique (9x4x4.5 cm)

Divers : 

  • Un fer à souder (le module SerialPiZero est livré avec le connecteur à souder)

Budget total : moins de 100 CHF

Installation 

Raspberry PI W

Il est possible de faire la configuration initiale sans avoir de console, vous pouvez trouver de nombreux tutoriaux en cherchant sur Internet “Raspberry Pi Zero Headless Setup”. 

Un exemple ici.

Une fois votre Raspberry Pi connecté au réseau et avec un accès ssh activé, vous pouvez mettre à jour et finir de configurer votre RPi avec les commandes : 

# apt-get update

# apt-get upgrade

Pour éviter un conflit sur le bus utilisé par le module série, il est nécessaire de désactiver le composant bluetooth embarqué ; 

# cd /boot

– éditer le fichier config.txt et ajouter la ligne : 

dtoverlay=pi3-disable-bt

– Il faut aussi activer le canal UART sur le port GPIO : (toujours dans le même fichier)

enable_uart=1

Il faut aussi éviter que Linux démarre une ligne série automatiquement sur le port série; la documentation associée au module série donne la procédure (modification du fichier /boot/cmdline.txt ici)

Sauver les fichiers, et redémarrer (# reboot)

Module SerialPiZero

La documentation est disponible ici.

Le module que j’ai reçu est arrivé avec le connecteur séparé de la carte, j’ai du la souder.

Une fois le module installé sur le bus GPIO du Raspberry Pi Zero (RPiZ), il est possible de tester la liaison. On peut installer le client “minicom” s’il n’est pas déjà présent dans la distribution. 

# apt-get install minicom

Une fois installé, vous pouvez lancer le client minicom sur votre port série de la façon suivante : 

# minicom  -b 9600 -o -D /dev/ttyAMA0

Si vous voulez garder une copie de la session dans un fichier “minicom.log”, vous pouvez utiliser : 

# minicom  -b 9600 -o -D /dev/ttyAMA0 -C minicom.log 

Voilà un example de session console à distance :  

 

La batterie

La batterie n’est pas indispensable, mais permet de donner une autonomie intéressante au RaspberryPi, qui peut être déplacé rapidement et ne nécessite plus obligatoirement de branchement électrique sur le secteur. 

N’importe quelle batterie de secours compatible USB pourrait faire l’affaire, mais dans mon cas, j’ai voulu réduire l’encombrement. 

Avec le modèle 1000 mAh indiquée dans la liste de matériel, le RPiZ et son module Série sont autonomes pendant 6 à 7h environ.

Le chargeur de la batterie

Le module PowerBoost possède 3 connecteurs : un connecteur standard pour une batterie LiPo, un connecteur USB micro sur lequel on branche une alimentation compatible USB, et une sortie USB type A, à connecter sur le port d’alimentation du RPiZ. Il est capable de charger la batterie lorsqu’il est alimenté par une source extérieure, convertit les 3.3V de la batterie LiPo en 5V sur la sortie USB, et coupe l’alimentation en cas de décharge pour protéger la batterie.

La mise en boite  

Une fois découpé pour donner accès aux ports USB et série du RPiZ et du module PowerBoost, le boitier accueille (de justesse) le RPiZ avec le module Série, la petite carte du PowerBoost et la batterie :

  

 

Le câble blanc sur la photo ci-dessus alimente le Raspberry Pi depuis la sortie du module PowerBoost.

Démonstration 

Monté, installé, et connecté au port série d’un switch dans un rack :  

Idées de variantes …

Dans le cas de la configuration présentée ici (headless setup), le Raspberry Pi est vu comme un client du réseau Wifi existant, avec une authentification de type pre-shared key (PSK).

Sur un réseau d’entreprise, on pourrait utiliser la fonctionnalité d’Identity PSK d’ISE (Cisco Identity Service Engine) pour lui allouer une PSK dédiée. (https://www.cisco.com/c/en/us/td/docs/wireless/controller/technotes/8-5/b_Identity_PSK_Feature_Deployment_Guide.html)

Il existe aussi des exemples de configuration en WPA / TKIP, mais en raison des faiblesses de ce type de protocole, il faut prendre des précautions avant de donner un accès autre que limité au réseau d’entreprise. 

Une autre possibilité consiste à configurer l’interface radio du Raspberry Pi en mode “point d’accès”, et de se connecter sur le SSID dédié depuis son laptop. Cela supprime en partie le problème de sécurité, mais la portée limitée du transmetteur Wifi du RPiZ ne permettra pas de travailler depuis bien loin ! 

Conclusion 

Le Raspberry Pi est une plate-forme extrêmement versatile, et qui reçoit une quantité incroyable d’extensions sous forme de modules additionnels de tous types … de quoi imaginer des usages les plus variés, pour le bureau, mais aussi pour la maison (particulièrement pour ceux qui transforment une partie de leur garage en annexe de leur bureau).

N’hésitez pas à partager vos commentaires et vos propositions d’améliorations !

Laisser un commentaire