Afficheur braille Raspberry Pi Zero Inside Handy Tech Active Star 40



L'auteur a placé le Raspberry Pi Zero, un «sifflet» Bluetooth et un câble à l'intérieur de son nouvel afficheur braille Handy Tech Active Star 40. Un port USB intégré fournit de l'énergie. Le résultat a été un ordinateur autonome sans moniteur sur ARM avec le système d'exploitation Linux, équipé d'un clavier et d'un afficheur braille. Vous pouvez le charger / alimenter via USB, incl. d'une banque d'alimentation ou d'un chargeur solaire. Par conséquent, il peut se passer de l'alimentation secteur non pas pendant plusieurs heures, mais pendant plusieurs jours.



Différenciation dimensionnelle des afficheurs braille


Tout d'abord, ils diffèrent par la longueur des cordes. Les appareils 60 et plus familiers sont bons lorsque vous travaillez avec un ordinateur de bureau, 40 appareils sont pratiques à transporter avec un ordinateur portable. Il existe maintenant des afficheurs braille qui se connectent aux smartphones et tablettes, avec une longueur de chaîne de 14 ou 18 familiarité.

Dans le passé, les affichages en braille étaient assez massifs. Le 40-familier, par exemple, avait les dimensions et le poids d'un ordinateur portable de 13 pouces. Maintenant, avec le même degré de familiarité, ils sont suffisamment miniatures pour placer l'écran devant l'ordinateur portable, et non l'ordinateur portable sur l'écran.

Bien sûr, c'est mieux, mais ce n'est pas très pratique de garder deux appareils séparés sur vos genoux. Lorsque vous travaillez à table, il n'y a rien à redire, mais il convient de se rappeler que l'ordinateur portable est appelé un ordinateur portable d'une manière différente, et essayez de justifier son nom, car il s'avère que l'écran miniature de 40 places est encore moins pratique.

L'auteur a donc attendu la sortie du nouveau modèle promis depuis longtemps dans la série Handy Tech Star. En 2002, le précédent modèle Handy Tech Braille Star 40 a été publié, où la zone du corps est suffisante pour mettre un ordinateur portable sur le dessus. Et s'il ne rentre pas, un support rétractable est fourni. Maintenant, ce modèle est remplacé par Active Star 40, il est presque le même, mais avec une électronique améliorée.



Et le support rétractable est resté:



Mais la chose la plus pratique dans la nouveauté est une niche d'environ la taille d'un smartphone (voir KDPV). Il s'ouvre lorsque la plateforme recule. Il s'est avéré peu pratique de garder le smartphone là-bas, mais vous devez en quelque sorte utiliser le compartiment vide, à l'intérieur duquel même une sortie de puissance est fournie.

La première chose que l'auteur a trouvée a été d'y mettre le Raspberry Pi, mais lorsque l'écran a été acheté, il s'est avéré qu'avec le "framboise" le support, qui ferme le compartiment, ne bouge pas. Maintenant, si la planche n'était plus mince que de 3 mm ...

Mais un collègue a parlé de la sortie du Raspberry Pi Zero, qui s'est avéré si petit que deux pourraient entrer dans le compartiment ... ou peut-être même trois. Il a été immédiatement commandé avec une carte mémoire de 64 Go, Bluetooth, un sifflet et un câble Micro USB. Quelques jours plus tard, tout cela est arrivé et des amis voyants ont aidé l'auteur à préparer une carte. Tout a immédiatement fonctionné comme il se doit.

Qu'est-ce qui a été fait pour cela


À l'arrière du Handy Tech Active Star 40 se trouvent deux ports USB pour des appareils tels que des claviers. Un petit clavier magnétique est inclus. Lorsque le clavier est connecté et que l'écran lui-même fonctionne via Bluetooth, l'ordinateur le reconnaît également comme un clavier Bluetooth.

Ainsi, si vous connectez un «sifflet» Bluetooth au Raspberry Pi Zero placé dans le compartiment du smartphone, il peut échanger des données avec l'afficheur braille via Bluetooth à l'aide de BRLTTY , et si vous connectez également un clavier à l'écran, le «Malinka» fonctionnera et avec elle.

Mais ce n'est pas tout. Malinka lui-même, à son tour, peut accéder à Internet via Bluetooth PAN à partir de n'importe quel appareil qui le prend en charge. L'auteur a configuré son smartphone et ses ordinateurs en conséquence à la maison et au travail, mais à l'avenir, il prévoit d'adapter une «framboise» de plus pour cela - une classique, pas Zero, connectée à Ethernet et un autre «sifflet» Bluetooth.

BlueZ 5 et PAN


La façon de configurer un PAN à l'aide de BlueZ n'était pas évidente. L'auteur a trouvé le script pyhton bt-pan (voir ci-dessous) qui vous permet de configurer PAN sans interface graphique.

Avec lui, vous pouvez configurer à la fois le serveur et le client. Ayant reçu la commande D-Bus appropriée lorsqu'il travaille en mode client, il crée un nouveau périphérique réseau bnep0 immédiatement après avoir établi une connexion au serveur. Normalement, DHCP est utilisé pour attribuer une adresse IP à cette interface. En mode serveur, BlueZ requiert le nom du périphérique bridge auquel il peut être ajouté par l'esclave pour connecter chaque client. La configuration de l'adresse du périphérique de pont et le démarrage du serveur DHCP plus le masquage IP sur le pont sont généralement tout ce qui est requis.

Point d'accès Bluetooth PAN avec Systemd


Pour configurer le pont, l'auteur a appliqué systemd-networkd:

Fichier /etc/systemd/network/pan.netdev

[NetDev] Name=pan Kind=bridge ForwardDelaySec=0 

Fichier /etc/systemd/network/pan.network

 [Match] Name=pan [Network] Address=0.0.0.0/24 DHCPServer=yes IPMasquerade=yes 

Vous devez maintenant forcer BlueZ à configurer le profil NAP. Il s'est avéré que les utilitaires réguliers de BlueZ 5.36 ne peuvent pas être utilisés. Si l'auteur se trompe, corrigez-le: gourou mlang (sait comment bouger les oreilles) aveugle (parfois accès et quantique)

Mais il a trouvé un article de blog et un script Python pour faire les appels nécessaires à D-Bus.

Pour plus de commodité, l'auteur a utilisé le service Systemd pour exécuter le script et vérifier la résolution des dépendances.

Fichier /etc/systemd/system/pan.service

 [Unit] Description=Bluetooth Personal Area Network After=bluetooth.service systemd-networkd.service Requires=systemd-networkd.service PartOf=bluetooth.service [Service] Type=notify ExecStart=/usr/local/sbin/pan [Install] WantedBy=bluetooth.target 

Fichier / 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 pan 

Le deuxième fichier ne serait pas nécessaire si Debian avait IPMasquerade = support (voir # 787480 ).

Après avoir exécuté les commandes systemctl daemon-reload et systemctl restart systemd-networkd, vous pouvez démarrer le Bluetooth PAN avec la commande systemctl start pan

Client Bluetooth PAN utilisant Systemd


Le côté client est également facile à configurer à l'aide de Systemd.

Fichier /etc/systemd/network/pan-client.network

 [Match] Name=bnep* [Network] DHCP=yes 

Fichier /etc/systemd/system/pan@.service

 [Unit] Description=Bluetooth Personal Area Network client [Service] Type=notify ExecStart=/usr/local/sbin/bt-pan --debug --systemd client %I --wait 

Maintenant, après avoir redémarré la configuration, vous pouvez vous connecter au point d'accès Bluetooth spécifié comme ceci:

 systemctl start pan@00:11:22:33:44:55 

Couplage en ligne de commande


Bien sûr, le serveur et les clients doivent être configurés après les avoir couplés via Bluetooth. Sur le serveur, vous devez exécuter bluetoothctl et lui donner la commande:

 power on agent on default-agent scan on scan off pair XX:XX:XX:XX:XX:XX trust XX:XX:XX:XX:XX:XX 

Après avoir lancé l'analyse, attendez quelques secondes jusqu'à ce que le périphérique dont vous avez besoin apparaisse dans la liste. Notez son adresse et utilisez-la en émettant la commande pair et, si nécessaire, la commande trust.

Le client doit faire de même, mais la commande trust ne sera pas nécessaire à coup sûr. Le serveur en a besoin pour accepter la connexion sur le profil NAP sans confirmation manuelle de l'utilisateur.

L'auteur n'est pas sûr qu'il s'agisse de la séquence optimale de commandes. Peut-être que tout ce qui est nécessaire est de coupler le client avec le serveur et d'exécuter la commande de confiance sur le serveur, mais il ne l'a pas encore essayé.

Activation du profil Bluetooth HID


Il est nécessaire que le "Malinka" reconnaisse le clavier connecté à l'afficheur braille par un fil, et déjà transmis par l'afficheur lui-même via Bluetooth. Cela se fait de la même manière, mais au lieu d' agent, vous devez donner la commande Agent KeyboardOnly , et bluetoothctl trouvera un appareil avec un 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 la configuration de BlueZ via la ligne de commande n'est pas pratique. Au début, il pensait que les agents n'étaient nécessaires que pour entrer des codes PIN, mais il s'est avéré, par exemple, que pour activer le profil HID, il fallait taper «agent KeyboardOnly». Étonnamment, pour lancer Bluetooth PAN, vous devez gravir les référentiels à la recherche du script souhaité. Il se souvient que dans la version précédente de BlueZ, il y avait un outil de pandémie prêt à l'emploi pour cela - où l'a-t-il fait dans BlueZ 5? Soudain, une nouvelle solution est apparue, inconnue de l'auteur, mais gisant à la surface?

Performances


Le taux de transfert de données était d'environ 120 kbps, ce qui est tout à fait suffisant. Le processeur ARM 1 GHz est très rapide pour l'interface de ligne de commande. L'auteur prévoit toujours d'utiliser principalement ssh et emacs sur l'appareil.

Polices de la console et résolution d'écran


La résolution d'écran par défaut utilisée par le framebuffer sur le Raspberry Pi Zero est plutôt étrange: fbset rapporte qu'il s'agit de 656x416 pixels (bien sûr, le moniteur n'est pas connecté). Avec une police de console de 8x16, 82 caractères par ligne et 26 lignes ont été obtenus.

Il n'est pas pratique de travailler avec un afficheur braille à 40 caractères dans ce mode. De plus, l'auteur souhaite que les caractères Unicode soient affichés en braille. Heureusement, Linux prend en charge 512 caractères et dans la plupart des polices de console, il y en a 256. Avec la configuration de la console, vous pouvez utiliser deux polices de 256 caractères ensemble. L'auteur a ajouté les lignes suivantes au fichier / etc / default / console-setup:

 SCREEN_WIDTH=80 SCREEN_HEIGHT=25 FONT="Lat15-Terminus16.psf.gz brl-16x8.psf" 

Remarque: pour que la police brl-16x8.psf soit disponible, vous devez installer la console braille.

Et ensuite?


Il y a une prise 3,5 mm sur l'afficheur braille, mais l'auteur n'est pas au courant des adaptateurs pour supprimer l'audio du Mini-HDMI. L'auteur n'a pas pu utiliser la carte son intégrée à la "framboise" (étrange, le traducteur était sûr qu'il n'y en avait pas une dans Zero, mais il existe des moyens de produire du son PWM vers GPIO). Il prévoit d'utiliser un concentrateur USB-OTG et de connecter une carte externe et de diffuser le son vers le haut-parleur intégré à l'afficheur braille. Pour une raison quelconque, deux cartes externes ne fonctionnaient pas, maintenant il cherche un appareil similaire sur un autre chipset.

Il n'est toujours pas pratique d'éteindre manuellement la «framboise», d'attendre quelques secondes et d'éteindre l'afficheur braille. Et tout cela parce que lorsqu'il se déconnecte, il coupe l'alimentation du connecteur dans le compartiment. L'auteur prévoit de mettre une petite batterie tampon dans le compartiment et, par le biais du GPIO, d'informer la "framboise" de l'extinction de l'écran afin qu'il commence à terminer le travail. Un tel UPS miniature.

Image système


Si vous avez le même afficheur braille et que vous souhaitez en faire de même, l'auteur est prêt à fournir une image prête à l'emploi du système (basée sur l'étirement Raspbian). Écrivez-lui à ce sujet à l'adresse ci-dessus. S'il y a beaucoup de gens qui le souhaitent, il est même possible de produire des ensembles qui incluent tout ce dont vous avez besoin pour une telle modification.

Remerciements


Merci à Dave Mielke d'avoir relu le texte.

Merci à Simon Kainz pour l'illustration photo.

Merci à mes collègues de l'Université technique de Graz pour l'introduction rapide de l'auteur dans le monde du Raspberry Pi.

PS Le premier tweet de l' auteur sur ce sujet (il ne s'ouvre pas - le traducteur) a été rédigé cinq jours seulement avant la publication de l'original de cet article, et nous pouvons supposer que, à l'exception des problèmes de son, la tâche a été pratiquement résolue. Soit dit en passant, l'auteur a édité la version finale du texte à partir de l '«afficheur braille autonome» qu'il a créé, en le connectant via SSH à l'ordinateur personnel.

Source: https://habr.com/ru/post/fr445454/


All Articles