Mise à jour: 2019-03-18
Une mise à jour et une mise à niveau du système d'exploitation sur
l'Orange Pi Zero plus tôt dans la journée se sont très mal déroulées.
Impossible d'ouvrir une session ssh
sur l'OPiZ. En effet,
l'ordinateur monocarte n'était même plus visible sur le réseau local, même
avec une connexion filaire Ethernet en place.
Voilà une bonne
occasion de tester le port de débogage UART situé à côté du connecteur RJ45.
En même temps, je pouvais tester un autre convertisseur USB-TTL basé sur le
CH340G que j'avais acheté il y a quelque temps pour presque rien. J'oublie
l'origine de l'appareil, mais on dirait qu'il est facile à obtenir auprès des
points de vente chinois habituels. L'appareil est affiché comme étant un
adaptateur de QinHeng Electronics avec la commande
lsusb
.
QinHeng Electronics HL-340 USB-Serial adapter
Tout était très simple à connecter et le convertisseur a fonctionné sans problème. Un blogue de codelectron est consacré à ce sujet. Datant de mai 2017, il contient de nombreuses photographies. Il n'y a pas grand-chose à ajouter si vous aimez PuTTY sur une machine Linux. Un lecteur qui utilise ce logiciel dans Windows m'a envoyé un message confirmant que la connexion a l'OPiZ fonctionne. Voici les paramètres de connexion.
Puisque je n'utilise pas ce logiciel, j'ai d'abord essayé
miniterm.py
comme auparavant avec nodeMCU des périphériques ESP8266. Le résultat a été
décevant, en particulier lors de l'utilisation d'utilitaires de configuration
ou d'autres programmes qui dessinent une interface utilisateur texte avec des
codes d'échappement ANSI. Ensuite, j'ai essayé GNU
Screen. S'il n'est pas déjà présent, il peut être installé avec Logiciels Ubuntu ou avec le gestionnaire de paquets APT. Je
suggère d'installer un fichier de configuration dans le répertoire de base
pour activer un tampon de défilement.
Branchez le convertisseur sur un port USB de l'ordinateur de bureau.
Connectez le convertisseur aux broches d’entête de l’OPiZ qui doit être
déconnecté de sa source d’alimentation. Nous avons besoin de savoir quel
port TTY est attribué au convertisseur USB-TTL. Essayez de lister tous les
périphériques tty
. Il devrait apparaître comme
ttyUSB0
quelque chose de similaire. S'il y a trop de noms
similaires dans le répertoire, alors la commande dmesg
indiquera
le port sur lequel le dernier convertisseur ch341-uart
(ou le
type de puce sur lequel votre convertisseur USB-TTL est basé) a été
connecté.
Sachant le port, lancez screen
dans le terminal et, APRÈS,
mettez l’OPiZ sous tension. On verra alors défiler beaucoup de texte dans
la fenêtre du terminal. Vous verrez la séquence de démarrage typique de Linux comme si un écran physique avait été connecté à
OPiZ.
Si screen
rouspète au sujet des autorisations, vous pouvez
les modifier pour le périphérique /dev/ttyUSB0
, mais la
meilleure solution consiste à vous ajouter (en tant qu'utilisateur) au groupe
dialout
de l'ordinateur de bureau.
Pour passer en mode défilement dans screen
appuyez sur la
combinaison de touches CtrlA puis sur la touche ESC. Les
touches de curseur haut/bas et PageHaut/PageDown feront défiler le tampon. Il
est possible de sélectionner une région de texte avec le bouton gauche de la
souris, qui peut ensuite être copiée dans le Presse-papiers du système en
cliquant sur le bouton droit de la souris. Appuyez sur la touche ESC pour quitter le mode de défilement.
Pour quitter screen
, appuyez sur la combinaison de touches
CtrlA puis sur la touche
\. Avec le clavier français AZERTY sur mon ordinateur,
je produis un "\" avec la combinaison Alt Gr8.
Toutes ces combinaisons de touches ne me sont pas familières, alors j'ai essayé Kermit. L'origine de ce logiciel remonte à plusieurs années; je l'ai rencontré dans les années 1980. Voici comment j'ai installé puis démarré le programme.
On peut démarrer kermit
en mode interactif pour spécifier
les paramètres, puis se connecter.
Au lieu d'entrer dans cette longue ligne de commande compliquée ou de
passer par la petite session interactive, créez un fichier de configuration
.kermrc
contenant les lignes suivantes et enregistrez-le dans le
répertoire de base /home/user/dietpi
.
Dorénavant, kermit
se connectera automatiquement à l’OPiZ
au lancement.
C'est un programme énorme, mais il est plus simple à utiliser. En
particulier, les touches de défilement fonctionnent comme prévu, nul besoin
d'entrer dans un mode commande. Toutefois, pour quitter le programme, il faut
activer le mode commande avec la combinaison Ctrl\ puis appuyer sur
C. Avec un
clavier AZERTY, la combinaison initiale est une affaire à trois touches
CtrlAlt Gr
8. En mode commande, entrer quit
pour enfin quitter le programme.
Si GNU screen et Kermit ne vous attirent pas, vous pouvez essayer minicom comme recommandé par OrangePi org. En fin de compte, utilisez ce qui vous convient le mieux.
Quel que soit le programme de terminal que vous utilisez, vous trouverez
peut-être que le port UART de débogage est beaucoup plus pratique qu'une
session ssh
. Et le meilleur de tous, vous n'avez pas besoin de
trouver l'adresse IP attribuée à l'interface Ethernet ou Wi-Fi pour établir
une connexion. En fait, cela peut être un moyen plus rapide de trouver
l'adresse IP telle qu'elle est affichée sur l'écran de connexion. Si celle-ci
a défilé trop rapidement, on peut utiliser la commande ip
pour
l'afficher en tout temps.
On peut aussi utiliser la commande ifconfig
, mais elle n'est
pas toujours installée ce qui est le case dans la version dietPi
de Armbian.
En ce qui concerne ssh
, je n'ai jamais réussi à le faire
fonctionner sur l'OPiZ après la mise à niveau. En revanche, j'ai rechargé
une sauvegarde récente de ma carte SD avec Etcher ce
qui a demandé moins de 15 minutes et cette fois la mise à niveau de l'image
d'Armbian s'est déroulée sans accroc.
REMARQUE: Il peut
s'avérer impossible d'établir une connexion avec screen
ou
Kermit
.
Il n'y avait aucun doute que /dev/ttyUSB0
était le bon port
série. Le problème est peut-être causé par un processus qui utilise le port.
Dans mon cas, une session screen
que j'avais laissée en suspens
lorsque j'ai fermé le terminal dans lequel screen
tournait sans
quitter le programme lui-même était toujours connectée au port. Pour
reprendre le contrôle du port, il faut d'abord obtenir l'identificateur du
processus (son pid
), pour le tuer après.
Merci à AppBeing Studio pour l'astuce.
AVERTISSEMENT: je ne suis pas responsable si vous perdez tout votre travail parce que vous avez tué le mauvais processus à cause de doigts trop gros, de dyslexie ou de malchance. Faites attention.