Pantalla Braille Raspberry Pi Zero Inside Handy Tech Active Star 40



El autor colocó el Raspberry Pi Zero, un "silbato" Bluetooth y un cable dentro de su nueva pantalla Braille Handy Tech Active Star 40. Un puerto USB incorporado proporciona energía. El resultado fue una computadora autónoma sin monitor en ARM con el sistema operativo Linux, equipada con un teclado y una pantalla braille. Puede cargarlo / alimentarlo a través de USB, incl. de un banco de energía o cargador solar. Por lo tanto, puede prescindir de la red eléctrica no durante varias horas, sino durante varios días.



Diferenciación dimensional de pantallas braille


En primer lugar, difieren en la longitud de la cadena. Los dispositivos 60 y más familiares son buenos cuando se trabaja con una computadora de escritorio, 40 dispositivos son convenientes para llevar con una computadora portátil. Ahora hay pantallas Braille conectadas a teléfonos inteligentes y tabletas, con una longitud de cadena de 14 o 18 familiaridad.

En el pasado, las pantallas braille eran bastante masivas. El familiar de 40, por ejemplo, ten√≠a las dimensiones y el peso de una computadora port√°til de 13 pulgadas. Ahora, con la misma cantidad de familiaridad, son lo suficientemente peque√Īos como para colocar una pantalla frente a una computadora port√°til, en lugar de una computadora port√°til en la pantalla.

Esto, por supuesto, es mejor, pero a√ļn as√≠ no es muy conveniente mantener dos dispositivos separados en su regazo. Cuando trabaja en la mesa, no hay quejas, pero vale la pena recordar que la computadora port√°til se llama computadora port√°til de una manera diferente e intenta justificar su nombre, ya que resulta que la pantalla en miniatura de 40 asientos es a√ļn menos conveniente.

Así que el autor esperó el lanzamiento del nuevo modelo largamente prometido en la serie Handy Tech Star. En 2002, se lanzó el modelo anterior Handy Tech Braille Star 40, donde el área del cuerpo es suficiente para colocar una computadora portátil en la parte superior. Y si no encaja, se proporciona un soporte retráctil. Ahora este modelo es reemplazado por Active Star 40, es casi lo mismo, pero con electrónica mejorada.



Y el soporte retráctil permaneció:



Pero lo m√°s conveniente en la novedad es un receso aproximadamente del tama√Īo de un tel√©fono inteligente (ver KDPV). Se abre cuando la plataforma retrocede. Result√≥ ser un inconveniente mantener el tel√©fono inteligente all√≠, pero de alguna manera necesitas usar el compartimento vac√≠o, dentro del cual incluso se proporciona una salida de energ√≠a.

Lo primero que se le ocurrió al autor fue poner la Raspberry Pi allí, pero cuando se compró la pantalla, resultó que con la "frambuesa" el soporte, que cierra el compartimento, no se desliza. Ahora, si el tablero fuera solo 3 mm más delgado ...

Pero un colega habl√≥ sobre el lanzamiento de Raspberry Pi Zero, que result√≥ ser tan peque√Īo que dos cab√≠an en el compartimento ... o tal vez incluso tres. Se orden√≥ de inmediato junto con una tarjeta de memoria de 64 GB, Bluetooth, un silbato y un cable Micro USB. Pocos d√≠as despu√©s, todo esto lleg√≥ y amigos videntes ayudaron al autor a preparar un mapa. Todo funcion√≥ de inmediato como deber√≠a.

¬ŅQu√© se hizo para esto?


En la parte posterior del Handy Tech Active Star 40 hay dos puertos USB para dispositivos como teclados. Se incluye un peque√Īo teclado conectado magn√©ticamente. Cuando el teclado est√° conectado y la pantalla funciona a trav√©s de Bluetooth, la computadora tambi√©n lo reconoce como un teclado Bluetooth.

Por lo tanto, si conecta un "silbato" Bluetooth al Raspberry Pi Zero colocado en el compartimiento del teléfono inteligente, puede intercambiar datos con la pantalla Braille a través de Bluetooth usando BRLTTY , y si también conecta un teclado a la pantalla, el "Malinka" funcionará y con ella

Pero eso no es todo. Malinka, a su vez, puede acceder a Internet a través de Bluetooth PAN desde cualquier dispositivo que lo admita. El autor configuró su teléfono inteligente y sus computadoras en consecuencia en el hogar y en el trabajo, pero en el futuro planea adaptar una "frambuesa" más para esto: una clásica, no Zero, conectada a Ethernet y otro "silbato" Bluetooth.

BlueZ 5 y PAN


La forma de configurar un PAN usando BlueZ no era obvia. El autor encontró el script pyhton bt-pan (ver más abajo) que le permite configurar PAN sin una GUI.

Con él, puede configurar tanto el servidor como el cliente. Habiendo recibido el comando D-Bus apropiado cuando trabaja en modo cliente, crea un nuevo dispositivo de red bnep0 inmediatamente después de establecer una conexión con el servidor. Normalmente, DHCP se usa para asignar una dirección IP a esta interfaz. En modo servidor, BlueZ requiere el nombre del dispositivo puente al que el esclavo puede agregarlo para conectar cada cliente. Generalmente, todo lo que se requiere es configurar la dirección para el dispositivo de puente e iniciar el servidor DHCP más la máscara de IP en el puente.

Punto de acceso PAN Bluetooth con Systemd


Para configurar el puente, el autor aplicó systemd-networkd:

Archivo /etc/systemd/network/pan.netdev

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

Archivo /etc/systemd/network/pan.network

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

Ahora necesita forzar a BlueZ a configurar el perfil NAP. Result√≥ que las utilidades regulares de BlueZ 5.36 no se pueden hacer. Si el autor se equivoca, corr√≠jalo: gur√ļ mlang (sabe c√≥mo mover las orejas) ciego (a veces acceso y cu√°ntico)

Pero encontró una publicación de blog y un script de Python para hacer las llamadas necesarias a D-Bus.

Por conveniencia, el autor usó el servicio Systemd para ejecutar el script y verificar la resolución de dependencia.

Archivo /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 

Archivo / 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 

El segundo archivo no sería necesario si Debian tuviera IPMasquerade = support (ver # 787480 ).

Después de ejecutar los comandos systemctl daemon-reload y systemctl restart systemd-networkd, puede iniciar el PAN Bluetooth con el comando systemctl start pan

Cliente PAN Bluetooth con Systemd


El lado del cliente también es fácil de configurar con Systemd.

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

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

Archivo /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 

Ahora, después de reiniciar la configuración, puede conectarse al punto de acceso Bluetooth especificado de esta manera:

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

Emparejamiento de línea de comando


Por supuesto, el servidor y los clientes deben configurarse después de emparejarlos a través de Bluetooth. En el servidor, debe ejecutar bluetoothctl y darle el comando:

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

Despu√©s de comenzar la exploraci√≥n, espere unos segundos hasta que el dispositivo que necesita aparezca en la lista. Escriba su direcci√≥n y √ļsela emitiendo el comando de emparejamiento y, si es necesario, el comando de confianza.

El cliente debe hacer lo mismo, pero el comando de confianza no será necesario con seguridad. El servidor necesita que acepte la conexión en el perfil NAP sin la confirmación manual del usuario.

El autor no est√° seguro de si esta es la secuencia √≥ptima de comandos. Quiz√°s todo lo que se necesita es emparejar el cliente con el servidor y ejecutar el comando de confianza en el servidor, pero a√ļn no lo ha probado.

Habilitación del perfil Bluetooth HID


Se requiere que el "Malinka" reconozca el teclado conectado a la pantalla Braille por un cable, y que ya haya sido reenviado por la pantalla a través de Bluetooth. Esto se hace de la misma manera, solo que en lugar del agente debe dar el comando KeyboardOnly al agente , y bluetoothctl encontrará un dispositivo con un perfil HID.

Pero configurar Bluetooth a través de la línea de comando es un poco complicado


Aunque el autor logr√≥ configurar todo, entiende que configurar BlueZ a trav√©s de la l√≠nea de comando es inconveniente. Al principio, pens√≥ que los agentes solo eran necesarios para ingresar c√≥digos PIN, pero result√≥, por ejemplo, que para habilitar el perfil HID uno ten√≠a que escribir "agent KeyboardOnly". Sorprendentemente, para iniciar Bluetooth PAN, debe escalar los repositorios en busca del script deseado. √Čl recuerda que en la versi√≥n anterior de BlueZ hab√≠a una herramienta de pandillas preparada para esto: ¬Ņd√≥nde lo hizo en BlueZ 5? De repente, apareci√≥ una nueva soluci√≥n, desconocida para el autor, ¬Ņpero tendida en la superficie?

Rendimiento


La velocidad de transferencia de datos fue de aproximadamente 120 kbps, que es suficiente. El procesador ARM de 1 GHz es muy rápido para la interfaz de línea de comando. El autor todavía planea usar principalmente ssh y emacs en el dispositivo.

Fuentes de consola y resolución de pantalla


La resoluci√≥n de pantalla predeterminada utilizada por el framebuffer en Raspberry Pi Zero es bastante extra√Īa: fbset informa que tiene 656x416 p√≠xeles (por supuesto, el monitor no est√° conectado). Con una fuente de consola de 8x16, se obtuvieron 82 caracteres por l√≠nea y 26 l√≠neas.

Es inconveniente trabajar con una pantalla Braille de 40 caracteres en este modo. Además, el autor desea que los caracteres Unicode se muestren en Braille. Afortunadamente, Linux admite 512 caracteres, y en la mayoría de las fuentes de consola hay 256. Con la configuración de la consola, puede usar dos fuentes de 256 caracteres juntas. El autor agregó las siguientes líneas al archivo / etc / default / console-setup:

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

Nota: para que la fuente brl-16x8.psf esté disponible, debe instalar braille de consola.

Que sigue


Hay un conector de 3,5 mm en la pantalla Braille, pero el autor no conoce los adaptadores para eliminar el audio de Mini-HDMI. El autor no pudo usar la tarjeta de sonido integrada en la "frambuesa" (extra√Īo, el traductor estaba seguro de que no hab√≠a ninguno en Zero, pero hay formas de enviar el sonido PWM a GPIO). Planea usar un concentrador USB-OTG y conectar una tarjeta externa y emitir el sonido al altavoz integrado en la pantalla Braille. Por alguna raz√≥n, dos tarjetas externas no funcionaron, ahora est√° buscando un dispositivo similar en otro chipset.

Tambi√©n es inconveniente apagar manualmente la "frambuesa", esperar unos segundos y apagar la pantalla Braille. Y todo porque cuando se desconecta, elimina la energ√≠a del conector en el compartimento. El autor planea colocar una peque√Īa bater√≠a amortiguadora en el compartimento y, a trav√©s del GPIO, informar a la "frambuesa" acerca de apagar la pantalla para que comience a completar el trabajo. Tal UPS en miniatura.

Imagen del sistema


Si tiene la misma pantalla braille y desea hacer lo mismo con ella, el autor está listo para proporcionar una imagen del sistema lista para usar (basada en Raspbian Stretch). Escríbale sobre esto en la dirección anterior. Si hay muchas personas dispuestas, incluso es posible producir conjuntos que incluyan todo lo que necesita para tal alteración.

Agradecimientos


Gracias a Dave Mielke por corregir el texto.

Gracias a Simon Kainz por la ilustración de la foto.

Gracias a los colegas de la Universidad Técnica de Graz por la rápida introducción del autor al mundo de Raspberry Pi.

PD: El primer tweet del autor sobre este tema (no abre - traductor) se realizó solo cinco días antes de la publicación del original de este artículo, y podemos suponer que, con la excepción de los problemas de sonido, la tarea estaba prácticamente resuelta. Por cierto, el autor editó la versión final del texto de la "pantalla Braille autosuficiente" hecha por él, conectándolo a través de SSH a la computadora de la casa.

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


All Articles