
L'auteur a intégré un Raspberry Pi Zero, un dongle Bluetooth et un câble à l'intérieur de son nouvel afficheur braille Handy Tech Active Star 40. Le port USB intégré fournit de l'alimentation. Cela a donné un ordinateur ARM autonome, sans écran, fonctionnant sous Linux, équipé d'un clavier et d'un afficheur braille. Il peut être chargé / alimenté via USB, y compris via une batterie externe ou un chargeur solaire. Ainsi, il peut fonctionner sans réseau électrique pendant plusieurs jours au lieu de quelques heures.

Différenciation des afficheurs braille
Tout d'abord, ils se distinguent par la longueur de la ligne. Les appareils avec 60 caractères ou plus sont idéaux pour le travail avec un ordinateur de bureau, tandis que ceux avec 40 caractères sont pratiques pour être transportés avec un ordinateur portable. Il existe désormais également des afficheurs braille connectés aux smartphones et tablettes, avec des longueurs de ligne de 14 ou 18 caractères.
Autrefois, les afficheurs braille étaient plutôt encombrants. Un modèle de 40 caractères, par exemple, avait des dimensions et un poids comparables à ceux d'un ordinateur portable de 13 pouces. Maintenant, ils sont assez compacts pour que l'on puisse placer l'afficheur devant l'ordinateur portable tout en conservant le même nombre de caractères.
C'est bien sûr mieux, mais il reste peu pratique de tenir deux appareils séparés sur les genoux. Au bureau, il n'y a pas de problèmes, mais il convient de se rappeler que l'ordinateur portable est aussi appelé 'laptop', et d'essayer de justifier ce nom ; il s'avère alors que l'afficheur braille miniaturisé de 40 caractères est même moins pratique.
Ainsi, l'auteur a attendu la sortie du nouveau modèle tant attendu de la série Handy Tech Star. En 2002, le précédent modèle Handy Tech Braille Star 40 avait été lancé, dont la surface était suffisamment grande pour placer un ordinateur portable dessus. Et s'il ne tenait pas — un support rétractable était prévu. Ce modèle a maintenant été remplacé par l'Active Star 40, qui est pratiquement le même, mais avec une électronique modernisée.

Et le support rétractable est toujours là :

Mais le plus pratique avec cette nouveauté est l'encoche, de taille semblable à un smartphone (voir les images). Elle s'ouvre en déplaçant la plateforme vers l'arrière. Il s'est révélé peu pratique de tenir un smartphone là-dedans, mais il fallait bien utiliser cet espace vide, à l'intérieur duquel une sortie d'alimentation est même prévue.
La première idée de l'auteur a été d'y placer un Raspberry Pi, mais lorsque l'écran a été acquis, il s'est avéré que le support qui ferme le compartiment ne peut pas se déplacer avec la « framboise ». Si seulement la carte avait été 3 mm plus fine…
Mais un collègue a parlé de la sortie du Raspberry Pi Zero, qui était si miniaturisé que deux, voire trois, pourraient tenir dans le compartiment. Il a été immédiatement commandé avec une carte mémoire de 64 Go, un Bluetooth, une clé et un câble Micro USB. Quelques jours plus tard, tout cela est arrivé, et des amis voyants ont aidé l'auteur à préparer la carte. Tout a tout de suite fonctionné comme prévu.
Ce qui a été fait
Au dos du Handy Tech Active Star 40, il y a deux ports USB pour des appareils tels que des claviers. Un clavier compact avec un système de fixation magnétique est fourni. Lorsque le clavier est connecté et que l'écran fonctionne via Bluetooth, l'ordinateur le reconnaît également comme un clavier Bluetooth.
Ainsi, si on connecte un Bluetooth « clé » au Raspberry Pi Zero placé dans le compartiment pour smartphone, il pourra échanger des données avec l'écran braille via Bluetooth en utilisant , et si un clavier est également connecté à l'écran, la « framboise » fonctionnera aussi avec celui-ci.
Mais ce n'est pas tout. La « framboise », à son tour, peut accéder à Internet via Bluetooth PAN depuis tout appareil compatible. L'auteur a configuré son smartphone et ses ordinateurs à la maison et au travail en conséquence, mais prévoit de consacrer une autre « framboise » - classique, pas Zero, connectée à Ethernet et à une autre clé Bluetooth.
BlueZ 5 et PAN
La méthode de configuration du PAN à l'aide de s'est révélée non évidente. L'auteur a trouvé un script Python bt-pan (voir ci-dessous) permettant de configurer le PAN sans interface graphique.
Avec celui-ci, on peut configurer à la fois le serveur et le client. En recevant la commande appropriée via D-Bus en mode client, il crée un nouveau dispositif réseau bnep0 immédiatement après l'établissement de la connexion avec le serveur. En général, le DHCP est utilisé pour attribuer une adresse IP à cette interface. En mode serveur, BlueZ nécessite de spécifier le nom de l'appareil pont, auquel il peut ajouter un périphérique connu pour connecter chaque client. Configurer une adresse pour l'appareil pont et lancer un serveur DHCP plus un IP masquage sur le pont est généralement tout ce qui est requis.
Point d'accès Bluetooth PAN avec Systemd
Pour configurer le pont, l'auteur a utilisé systemd-networkd :
Fichier /etc/systemd/network/pan.netdev
[NetDev]
Name=pan
Kind=bridge
ForwardDelaySec=0Fichier /etc/systemd/network/pan.network
[Match]
Name=pan
[Network]
Address=0.0.0.0/24
DHCPServer=yes
IPMasquerade=yesMaintenant, il faut configurer BlueZ pour le profil NAP. Il s'est avéré qu'avec les utilitaires standards de BlueZ 5.36, cela n'est pas possible. Si l'auteur se trompe, corrigez-le : mlang (peut bouger les oreilles) blind (peut être accès et quantique) guru
Mais il a trouvé et pour effectuer les appels nécessaires sur D-Bus.
Pour plus de commodité, l'auteur a utilisé le service Systemd pour lancer le script et vérifier la résolution des dépendances.
Fichier /etc/systemd/system/pan.service
[Unit]
Description=Réseau personnel Bluetooth
After=bluetooth.service systemd-networkd.service
Requires=systemd-networkd.service
PartOf=bluetooth.service
[Service]
Type=notify
ExecStart=/usr/local/sbin/pan
[Install]
WantedBy=bluetooth.targetFichier /usr/local/sbin/pan
#!/bin/sh
# Ugly hack to work around #787480
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
exec /usr/local/sbin/bt-pan --systemd --debug server panLe second fichier ne serait pas nécessaire si Debian supportait IPMasquerade= (voir. ).
Après l'exécution des commandes systemctl daemon-reload et systemctl restart systemd-networkd il est possible de lancer Bluetooth PAN avec la commande systemctl start pan
Client Bluetooth PAN avec Systemd
Il est également assez simple de configurer la partie client à l'aide de Systemd.
Fichier /etc/systemd/network/pan-client.network
[Match]
Name=bnep*
[Network]
DHCP=yesFichier /etc/systemd/system/pan@.service
[Unit]
Description=Client réseau personnel Bluetooth
[Service]
Type=notify
ExecStart=/usr/local/sbin/bt-pan --debug --systemd client %I --waitMaintenant, après avoir rechargé la configuration, il est possible de se connecter à un point d'accès Bluetooth désigné comme suit :
systemctl start pan@00:11:22:33:44:55Appairage via ligne de commande
Évidemment, la configuration du serveur et des clients doit être effectuée après leur appairage par Bluetooth. Sur le serveur, il faut lancer bluetoothctl et lui donner les commandes :
power on
agent on
default-agent
scan on
scan off
pair XX:XX:XX:XX:XX:XX
trust XX:XX:XX:XX:XX:XXAprès avoir lancé le scan, attendez quelques secondes que le dispositif souhaité apparaisse dans la liste. Notez son adresse et utilisez-la en donnant la commande pair, et si nécessaire — la commande trust.
Du côté client, il faut faire la même chose, mais la commande trust ne sera pas nécessaire. Le serveur en a besoin pour accepter la connexion selon le profil NAP sans confirmation manuelle de l'utilisateur.
L'auteur n'est pas sûr que ce soit la séquence de commandes optimale. Peut-être que tout ce qui est nécessaire — c'est l'appairage du client au serveur et l'exécution de la commande trust sur le serveur, mais il n'a jamais essayé de le faire ainsi.
Autorisation d'utilisation du profil Bluetooth HID
Il est nécessaire que le « framboise » reconnaisse le clavier connecté au périphérique braille par câble, et déjà relayé par le périphérique lui-même via Bluetooth. Cela fonctionne de la même manière, mais au lieu de agent sur il faut donner la commande agent KeyboardOnly et bluetoothctl trouvera un appareil avec le profil HID.
Mais configurer Bluetooth via la ligne de commande est un peu compliqué
Bien que l'auteur ait réussi à tout configurer, il comprend que configurer BlueZ via la ligne de commande n'est pas pratique. Au début, il pensait que les agents étaient nécessaires uniquement pour entrer des codes PIN, mais il s'est avéré, par exemple, que pour activer le profil HID, il fallait saisit « agent KeyboardOnly ». Étonnamment, pour démarrer Bluetooth PAN, il faut fouiller dans les référentiels à la recherche du script approprié. Il se souvient que dans la version précédente de BlueZ, il y avait un outil prêt à l'emploi pand — où est-il donc passé dans BlueZ 5 ? Peut-être qu'il existe une nouvelle solution, inconnue de l'auteur, mais facilement accessible ?
Performance
La vitesse de transmission des données était d'environ 120 kbit/s, ce qui est tout à fait suffisant. Un processeur ARM de 1 GHz est très rapide pour une interface en ligne de commande. L'auteur a néanmoins prévu d'utiliser principalement ssh et emacs sur l'appareil.
Polices de console et résolution d'écran
La résolution d'écran utilisée par le framebuffer sur Raspberry Pi Zero par défaut est plutôt étrange : fbset indique qu'elle est de 656×416 pixels (évidemment, le moniteur n'est pas connecté). Avec une police de console de 8×16, cela donne 82 caractères par ligne et 26 lignes.
Travailler avec un affichage braille de 40 caractères dans ce mode n'est pas pratique. L'auteur aimerait également que les signes Unicode soient affichés en braille sur l'affichage. Heureusement, Linux prend en charge 512 caractères, et la plupart des polices de console en gèrent 256. Grâce à console-setup, il est possible d'utiliser deux polices de 256 caractères ensemble. L'auteur a ajouté au fichier /etc/default/console-setup les lignes suivantes :
SCREEN_WIDTH=80
SCREEN_HEIGHT=25
FONT="Lat15-Terminus16.psf.gz brl-16x8.psf"Remarque : pour rendre la police brl-16×8.psf disponible, il est nécessaire d'installer console-braille.
Et après ?
L'affichage en braille dispose d'une prise 3,5 mm, mais l'auteur ne connaît pas d'adaptateurs pour extraire le signal audio depuis Mini-HDMI. Il n'a pas réussi à utiliser la carte son intégrée à la "Raspberry", ce qui est étrange, car le traducteur pensait qu'il n'y en avait pas sur le Zero, mais il existe des moyens de sortir du son par PWM sur GPIO. Il prévoit d'utiliser un hub USB-OTG et de connecter une carte externe pour sortir le son sur le haut-parleur intégré de l'afficheur en braille. Deux cartes externes n'ont pas fonctionné pour une raison quelconque; il cherche maintenant un dispositif similaire avec un autre chipset.
Il est encore inconfortable de déconnecter manuellement la "Raspberry", d'attendre quelques secondes et de déconnecter l'afficheur en braille. Tout cela parce qu'il coupe l'alimentation du connecteur dans le compartiment au moment de la déconnexion. L'auteur prévoit de placer une petite batterie tampon dans le compartiment et de signaler à la "Raspberry" via GPIO la déconnexion de l'afficheur, afin qu'elle puisse commencer à terminer son fonctionnement. C'est donc une petite alimentation sans coupure.
Image du système
Si vous avez un afficheur en braille similaire et que vous souhaitez faire la même chose, l'auteur est prêt à fournir une image système prête à l'emploi (basée sur Raspbian Stretch). Écrivez-lui à l'adresse indiquée ci-dessus. S'il y a suffisamment de demande, il est même possible de sortir des kits contenant tout le nécessaire pour cette modification.
Remerciements
Merci à Dave Mielke pour la relecture du texte.
Merci à Simon Kainz pour les illustrations photographiques.
Merci aux collègues de l'Université technique de Graz pour avoir rapidement introduit l'auteur à l'univers de Raspberry Pi.
P.S. de l'auteur sur ce sujet (non accessible — traducteur) a été fait seulement cinq jours avant la publication de l'original de cet article, et il est raisonnable de considérer que, sauf les problèmes de son, la tâche fixée est pratiquement résolue. Au fait, la version finale du texte a été révisée par l'auteur en connectant son "afficheur en braille autonome" à son ordinateur domestique via SSH.
Source : habr.com
