Aller au contenu

Utiliser un raspberry pi en mode <em>headless</em>


Ldfa

Messages recommandés

20191016-headless_raspberry_piUn raspberry pi sans tĂȘte đŸ˜±Un raspberry pi sans tĂȘte đŸ˜±

(C'est Ă  dire sans Ă©cran ni clavier)

Pourquoi faire ça ? En fait, parfois (ou mĂȘme souvent), on a bien envie que notre petit Raspberry Ă  tout faire soit mis dans un coin et qu'il fasse ce qu'on lui demande. Ça marche souvient bien, mais quand mĂȘme, des fois, il faut bien s'y connecter pour mettre Ă  jour le systĂšme ou voir pourquoi ça ne fait pas ce qu'on veut. Et si vous ĂȘtes un peu feignant comme moi (comme tout bon informaticien qui se respecte en fait), vous avez forcĂ©ment la flemme de sortir l'Ă©cran, le cĂąble HDMI et de tout connecter. Nous allons donc voir deux mĂ©thodes qui permettent de s'en passer.

Matériel nécessaire

SSH

Oui, bon, celle lĂ , elle est facile. On fait quand mĂȘme un point vite fait, histoire de revoir les bases (et, j'avoue, ça me fera mon mini how-to pour la prochaine fois).

Pour se connecter en SSH, il y a deux cas : on connait l'adresse IP de la bĂȘte ou pas. Voyons les deux possibilitĂ©s.

Il faut Ă©galement que notre PC soit connectĂ© sur le mĂȘme rĂ©seau local (typiquement, connectĂ© sur la mĂȘme box internet Ă  la maison).

Je connais mon adresse IP

Ça, c'est le cas oĂč on a dĂ©marrĂ© notre petit Rasp avec un Ă©cran, un clavier et peut ĂȘtre mĂȘme une souris. Depuis la ligne de commande, j'ai donc rĂ©cupĂ©rĂ© l'adresse IP (pour mĂ©moire, c'est avec ip a que vous l'aurez).

Je peux maintenant passer sur la machine depuis laquelle je veux me connecter au raspberry. LĂ , pas de surprise, depuis mon client prĂ©fĂ©rĂ© (Putty sous Windows, ligne de commande en Linux et Mac, client dĂ©diĂ© - il y en a mĂȘme sous Android et IOS), on se connecte directement (je fais la version ligne de commande, adaptez Ă  votre logiciel) :

ssh pi@192.168.0.34

Là, je suis parti du principe que vous avez gardé le compte par défaut. Du coup, votre mot de passe est raspberry.

Si vous voulez faire quelque chose d'un peu plus "propre" d'un point de vue sécurité informatique, commencez par changer le mot de passe du compte par défaut (voire créez un autre compte et interdisez l'accÚs SSH au compte pi). Vous pouvez également vous connectez à l'aide d'une clé SSH. C'est un peu plus long à mettre en place mais c'est plus robuste et plus simple par la suite. En effet, si vous choisissez d'utilisez une clé privée sans mot de passe (bon, faut pas la perdre celle-là..), vous allez pouvoir vous connectez directement par ssh sans taper de mot de passe. Je fait court sur ce point mais ssh, c'est vraiment puissant, il y a pas de chose pour se sécuriser et se simplifier la vie d'administrateur.

Je ne connais pas mon adresse IP

Bon, ben, va falloir la trouver... ^^. Je ne compte pas la possibilitĂ© de garder un Ă©cran et un clavier connectĂ©, ce n'est pas ce qu'on cherche Ă  faire ici. En revanche, vous pouvez utiliser un scanner de ports (l'orthographe est importante 😋), celui que je prĂ©fĂšre est nmap. Depuis votre PC, vous allez chercher un port ouvert sur votre rĂ©seau. Il suffit de savoir que le numĂ©ro de port du protocole ssh est 22 et la commande Ă  taper est :

nmap -p 22 192.168.1.0/24

(ps : c'est Ă  adapter Ă  votre rĂ©seau. Moi je sais que mon adressage est de la forme 192.168.1.xxx mais chez vous ça peut ĂȘtre 192.168.0.xxx ou 10.xxx.yyy.zzz)

Et vous devriez alors obtenir quelque chose du genre :

Starting Nmap 7.80 ( https://nmap.org ) at 2019-10-28 09:25 CET
Nmap scan report for box (192.168.1.1)
Host is up (0.0026s latency).

PORT   STATE    SERVICE
22/tcp filtered ssh

Nmap scan report for raspberrypi (192.168.1.31)
Host is up (0.0075s latency).

J'ai donc bien identifié l'adresse IP de mon raspberry à 192.168.1.31. Je n'ai plus qu'à m'y connecter en ssh.

Connexion serial

C'est ici qu'on va se servir de l'adaptateur USB - TTL (ou série, ou UART).

Tout d'abord, il faut activer la console sur le port série du raspberry. Pour ça, on a deux solutions.

Activer la console série

Via /boot/config.txt

Il faut modifier le fichier /boot/config.txt qui est présent sur la carte SD. On doit donc la lire avec un autre ordinateur et ouvrir le fichier config.txt puis ajouter tout en bas la ligne enable_uart=1.

On remet la carte SD dans le raspberry et on le rallume. (J'explique plus loin comment brancher l'adaptateur puis se connecter Ă  la console).

Via l'outil raspi-config

Si votre raspberry est connecté à un écran, c'est assez facile. Vous lancez la commande :

sudo rasp-config

Vous allez dans Interfacing Options puis Serial. A la question Would you like a login shell to be accessible over serial? répondez Yes puis rebootez le raspberry.

Connecter l'adaptateur USB - série

Maintenant que l'option console via le port série est active, nous pouvons connecter notre adaptateur. Il y a en tout quatre cùbles à brancher mais deux sont optionnels.

Cùbles pour la liaison série

Les deux premiers cĂąbles Ă  brancher sont ceux connectĂ©s aux broches RX et TX. LĂ  il faut juste saisir la logique du systĂšme pour ne pas se tromper. En effet, sur le raspberry la broche RX (rĂ©ception donc) attend des donnĂ©es. Ces donnĂ©es doivent donc ĂȘtre Ă©mise depuis l'adapteur par la broche TX (transmission) car c'est lui qui va envoyer les informations.

Les broches des raspberry sont définies selon la photo ci-dessous :

Broches Raspberry Pi 2 & 3Broches Raspberry Pi 2 & 3

Source : Microsoft - Raspberry Pi 2 & 3 Pin Mappings

Donc il faut brancher un cĂąble entre la broche RX de notre adaptateur et la broche TX du raspberry (broche numĂ©ro 08 sur la photo). De mĂȘme pour l'autre cĂąble, TX de l'adaptateur vers RX (broche numĂ©ro 10).

Avec ces deux cĂąbles, vous rebranchez tout et vous pourrez avoir accĂšs Ă  votre console. Mais on peut faire un peut mieux ! En effet, l'adaptateur USB-TTL possĂšde Ă©galement une broche GND et +5v (normalement, c'est trĂšs souvent le cas). Et avec ces deux broches, on peut alimenter notre rasp !

CĂąble pour l'alimentation

Comme dit juste au-dessus, on peut alimenter notre raspberry avec notre adaptateur. Il suffit de connecter la broche GND de notre adaptateur à une des broches GND du rasp, il y en a plein, par exemple la numéro 06. Puis il faut connecter le +5v de l'adaptateur à un pin identique du nano ordinateur, la 02 ou la 04.

Et voilĂ  ! Tout devrait se lancer correctement, avec trĂšs peu de cĂąble au final đŸ€—.

Connection Ă  la console

La vitesse par défaut est de 115200 bauds.

Pour se connecter, ça dépend de votre systÚme d'exploitation. Pour Windows, Putty sera le plus pratique, c'est l'outil le plus utilisé. Il faut choisir le bon port COM correspondant à son adaptateur et choisir la bonne vitesse.

Pour Linux et Mac, moi j'utilise l'utilitaire screen, c'est pratique et lĂ©ger mais il faut aimer la ligne de commande 😉. Mais une fois qu'on connaĂźt deux-trois trucs, c'est un peu comme vim, on s'y fait et on l'apprĂ©cie. Pour ma part (sous Mac), pour accĂ©der Ă  la console il me suffit de faire :

screen /dev/cu.SLAB_USBtoUART 115200

Si vous avez l'impression qu'il ne se passe rien, appuyez sur la touche Entrée et le prompt devrait apparaßtre pour accéder au systÚme.

Toujours sous Mac, pour quitter une session screen je fait Ctrl A puis je tape :quit et je valide avec EntrĂ©e. Ca peut servir de le savoir 😉.

Voilà le résultat chez moi :

Console via le port sérieConsole via le port série

Conclusion

On a fait un tour rapide des diffĂ©rentes maniĂšres de se connecter Ă  un raspberry pi sans Ă©cran. Moi ma mĂ©thode prĂ©fĂ©rĂ©e reste celle avec l'adaptateur USB, on a beaucoup moins de cĂąble mais on a quand mĂȘme besoin d'un PC Ă  proximitĂ©. La solution en SSH conviendra aux boĂźtes que l'on veut plus cacher (genre derriĂšre la tĂ©lĂ© ^^).

Afficher l’article complet

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • CrĂ©er...

Information importante

Nous avons placĂ© des cookies sur votre appareil pour aider Ă  amĂ©liorer ce site. Vous pouvez choisir d’ajuster vos paramĂštres de cookie, sinon nous supposerons que vous ĂȘtes d’accord pour continuer.