Raspberry Pi Zero ene de Handy Tech Active Star 40 brajla ekrano

Raspberry Pi Zero ene de Handy Tech Active Star 40 brajla ekrano

La aŭtoro metis Raspberry Pi Zero, Bluetooth-fajfilon kaj kablon ene de sia nova brajla ekrano Handy Tech Active Star 40. Enkonstruita USB-haveno provizas potencon. La rezulto estis memproviza senmonitora komputilo sur ARM kun la Linukso operaciumo, ekipita per klavaro kaj brajla ekrano. Vi povas ŝargi/funkciigi ĝin per USB, inkl. de elektra banko aŭ suna ŝargilo. Tial li povas malhavi potencon dum pluraj horoj, sed dum pluraj tagoj.

Raspberry Pi Zero ene de Handy Tech Active Star 40 brajla ekrano

Dimensia diferencigo de brajlaj ekranoj

Antaŭ ĉio, ili malsamas laŭ liniolongo. Aparatoj kun 60 aŭ pli da kapacito estas bonaj por labori kun labortabla komputilo, dum aparatoj kun 40 kapacito estas oportunaj por porti kun tekokomputilo. Nun ekzistas brajlaj ekranoj konektitaj al saĝtelefonoj kaj tabulkomputiloj, kun liniolongo de 14 aŭ 18 signoj.

En la pasinteco, brajlaj ekranoj estis sufiĉe masivaj. La 40-sidloka tekokomputilo, ekzemple, havis la grandecon kaj pezon de 13-cola tekokomputilo. Nun, kun la sama nombro da konatoj, ili estas sufiĉe miniaturaj por ke vi povu meti la ekranon antaŭ la tekkomputilo, anstataŭ la tekkomputilon sur la ekranon.

Ĉi tio kompreneble estas pli bona, sed ankoraŭ ne estas tre oportune teni du apartajn aparatojn sur via sino. Kiam vi laboras ĉe skribotablo, ne estas plendoj, sed indas memori, ke tekokomputilo estas nomata tekkomputilo per alia nomo, kaj provas pravigi sian nomon, ĉar rezultas, ke la miniatura 40-karaktera ekrano estas eĉ malpli oportuna.

Do la aŭtoro atendis, ke la longe promesita nova modelo en la serio Handy Tech Star estos liberigita. Reen en 2002, la antaŭa modelo Handy Tech Braille Star 40 estis publikigita, kie la korpa areo sufiĉas por meti tekokomputilon supre. Kaj se ĝi ne taŭgas, estas retirebla stando. Nun ĉi tiu modelo estis anstataŭigita per la Active Star 40, kiu estas preskaŭ la sama, sed kun ĝisdatigita elektroniko.

Raspberry Pi Zero ene de Handy Tech Active Star 40 brajla ekrano

Kaj la retirebla stando restas:

Raspberry Pi Zero ene de Handy Tech Active Star 40 brajla ekrano

Sed la plej oportuna afero pri la nova produkto estas niĉo proksimume la grandeco de inteligenta telefono (vidu KDPV). Ĝi malfermiĝas kiam la platformo estas movita reen. Montriĝis maloportune teni saĝtelefonon tie, sed vi devas iel uzi la malplenan kupeon, en kiu troviĝas eĉ elektra elirejo.

La unua afero, kiun la aŭtoro elpensis, estis meti la Raspberry Pi tie, sed kiam la ekrano estis aĉetita, montriĝis, ke la stando kovranta la kupeon ne glitis kun la "frambo". Nun, se la tabulo estus nur 3 mm pli maldika...

Sed kolego rakontis al mi pri la liberigo de la Raspberry Pi Zero, kiu montriĝis tiel miniatura, ke du el ili povus enveni en la kupeo... aŭ eble eĉ tri. Ĝi estis tuj mendita kune kun memorkarto de 64 GB, Bluetooth, "fajfilo" kaj Mikro-USB-kablo. Post kelkaj tagoj ĉio ĉi alvenis, kaj vidantaj amikoj helpis la aŭtoron prepari mapon. Ĉio tuj funkciis kiel ĝi devus.

Kio estis farita por ĉi tio

Sur la dorso de la Handy Tech Active Star 40 estas du USB-havenoj por aparatoj kiel klavaroj. Malgranda klavaro kun magneta monto estas inkluzivita. Kiam la klavaro estas konektita, kaj la ekrano mem funkcias per Bluetooth, la komputilo krome rekonas ĝin kiel Bluetooth-klavaro.

Tiel, se vi konektas Bluetooth "fajfilo" al Raspberry Pi Zero metita en la inteligentan kupeon, ĝi povos komuniki kun la brajla ekrano per Bluetooth uzante BRLTTY, kaj se vi ankaŭ konektas klavaron al la ekrano, ankaŭ la "frambo" funkcios kun ĝi.

Sed tio ne estas ĉio. La "frambo" mem, siavice, povas aliri la Interreton per Bluetooth PAN de iu ajn aparato kiu subtenas ĝin. La aŭtoro agordis sian inteligentan telefonon kaj komputilojn hejme kaj en la laboro laŭe, sed estonte li planas adapti alian "frambon" por ĉi tio - klasika, ne Zero, konektita al Ethernet kaj alia Bluetooth "fajfilo".

BlueZ 5 kaj PAN

PAN-agorda metodo uzante bluez montriĝis nevidebla. La aŭtoro trovis la skripton bt-pan Python (vidu sube), kiu ebligas al vi agordi PAN sen GUI.

Ĝi povas esti uzata por agordi kaj la servilon kaj la klienton. Ricevinte la taŭgan komandon per D-Bus laborante en klienta reĝimo, ĝi kreas novan retan aparaton bnep0 tuj post establi konekton kun la servilo. Tipe, DHCP estas uzata por asigni IP-adreson al ĉi tiu interfaco. En servila reĝimo, BlueZ postulas la nomon de ponta aparato al kiu ĝi povas aldoni sklavan aparaton por konekti ĉiun klienton. Agordi adreson por la ponta aparato kaj ruli DHCP-servilon plus IP maskanta sur la ponto estas kutime ĉio necesa.

Bluetooth PAN Alirpunkto kun Systemd

Por agordi la ponton, la aŭtoro uzis systemd-networkd:

Dosiero /etc/systemd/network/pan.netdev

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

Dosiero /etc/systemd/network/pan.network

[Match]
Name=pan

[Network]
Address=0.0.0.0/24
DHCPServer=yes
IPMasquerade=yes

Nun ni devas devigi BlueZ agordi la NAP-profilon. Montriĝis, ke tio ne povas esti farita per la normaj BlueZ 5.36-utiloj. Se la aŭtoro eraras, korektu lin: mlang (povas movi la orelojn) blinda (foje aliro kaj kvantuma) guruo

Sed li trovis bloga afiŝo и Python-skripto fari la necesajn vokojn al D-Bus.

Por komforto, la aŭtoro uzis la Systemd-servon por ruli la skripton kaj kontroli ĉu dependecoj estas solvitaj.

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

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

La dua dosiero ne estus bezonata se Debian havus IPMasquerade= subtenon (vidu sube). #787480).

Post ekzekuto de la komandoj sistemo de demono-reŝarĝo и systemctl restarti systemd-networkd vi povas komenci Bluetooth PAN per la komando systemctl starta pano

Bluetooth PAN-kliento uzante Systemd

La klienta flanko ankaŭ estas facile agordi per Systemd.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

Dosiero /etc/systemd/system/[retpoŝte protektita]

[Unit]
Description=Bluetooth Personal Area Network client

[Service]
Type=notify
ExecStart=/usr/local/sbin/bt-pan --debug --systemd client %I --wait

Nun, post reŝargi la agordon, vi povas konektiĝi al la specifita Bluetooth-alirpunkto jene:

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

Parigo uzante la komandlinion

Kompreneble, la agordo de la servilo kaj klientoj devas esti farita post parigo de ili per Bluetooth. Sur la servilo vi devas ruli bluetoothctl kaj doni al ĝi la komandojn:

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

Post komenci la skanadon, atendu kelkajn sekundojn ĝis la aparato, kiun vi bezonas, aperos en la listo. Skribu ĝian adreson kaj uzu ĝin eldonante la par-komando kaj, se necese, la trust-komando.

Ĉe la klienta flanko, vi devas fari la saman aferon, sed la konfida komando certe ne bezonas. La servilo bezonas ĝin por akcepti konekton uzante la NAP-profilon sen mana konfirmo de la uzanto.

La aŭtoro ne certas, ke ĉi tio estas la optimuma sinsekvo de ordonoj. Eble ĉio necesas estas parigi la klienton kun la servilo kaj ruli la trust-komandon sur la servilo, sed li ankoraŭ ne provis tion.

Ebligante HID Bluetooth Profilo

Estas postulate ke la Raspberry rekonas klavaron konektitan al la brajla ekrano per drato, kaj elsendita de la ekrano mem per Bluetooth. Ĉi tio estas farita en la sama maniero, nur anstataŭe agento on bezonas doni ordonon agento KeyboardOnly kaj bluetoothctl trovos aparaton kun HID-profilo.

Sed agordi Bluetooth per la komandlinio estas iom komplika

Kvankam la aŭtoro sukcesis agordi ĉion, li komprenas, ke agordi BlueZ per la komandlinio estas maloportuna. Komence li pensis, ke agentoj bezonas nur por enigi PIN-kodojn, sed montriĝis, ekzemple, ke por ebligi la HID-profilon oni devas tajpi "agento KeyboardOnly". Estas surprize, ke por lanĉi Bluetooth PAN vi devas grimpi tra deponejoj serĉante la bezonatan skripton. Li memoras, ke en la antaŭa versio de BlueZ estis preta ilo por ĉi tio pand - kie li fartas en BlueZ 5? Subite aperis nova solvo, nekonata de la aŭtoro, sed kuŝanta sur la surfaco?

Produkteco

La datumtransiga rapido estis proksimume 120 kbit/s, kio estas sufiĉe sufiĉe. La 1GHz ARM-procesoro estas tre rapida por komandlinia interfaco. La aŭtoro ankoraŭ planas uzi ĉefe ssh kaj emacs sur la aparato.

Konzolaj tiparoj kaj ekranrezolucio

La defaŭlta ekranrezolucio uzata de la framebuffer sur la Raspberry Pi Zero estas sufiĉe stranga: fbset raportas ĝin kiel 656x416 pikseloj (neniu monitoro konektita, kompreneble). Kun konzoltiparo de 8×16, ekzistis 82 signoj per linio kaj 26 linioj.

Estas maloportune labori kun 40-karaktra brajla ekrano en tiu ĉi reĝimo. La aŭtoro ankaŭ ŝatus vidi Unikodajn signojn montritajn en brajlo. Feliĉe, Linukso subtenas 512 signojn, kaj la plej multaj konzolaj tiparoj havas 256. Uzante konzol-agordon, vi povas uzi du 256-karakterajn tiparojn kune. La aŭtoro aldonis la sekvajn liniojn al la /etc/default/console-setup-dosiero:

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

Noto: por disponigi la tiparo brl-16×8.psf, vi devas instali console-braille.

Kio sekvas?

La brajla ekrano havas 3,5 mm fankon, sed la aŭtoro ne scias pri adaptiloj por ricevi sonsignalon de Mini-HDMI. La aŭtoro ne povis uzi la sonkarton enkonstruitan en la Raspberry (strange, la tradukisto estis certa, ke la Nulo ne havas tian, sed ekzistas manieroj eligi sonon uzante PWM al la GPIO). Li planas uzi USB-OTG-nabon kaj konekti eksteran karton kaj eligi sonon al la laŭtparolilo enkonstruita en la brajla ekrano. Ial, du eksteraj kartoj ne funkciis; nun li serĉas similan aparaton sur malsama pecetaro.

Ankaŭ estas maloportune malŝalti la "frambon", atendi kelkajn sekundojn kaj malŝalti la brajlan ekranon. Kaj ĉio ĉar kiam ĝi estas malŝaltita, ĝi forigas potencon de la konektilo en la kupeo. La aŭtoro planas meti malgrandan bufran kuirilaron en la kupeon kaj, per GPIO, informi la Frambon pri la malŝalto de la ekrano, por ke ĝi komencu malŝalti sian laboron. Ĉi tio estas UPS en miniaturo.

Sistembildo

Se vi havas la saman brajlan ekranon kaj ŝatus fari la samon per ĝi, la aŭtoro pretas disponigi pretan bildon de la sistemo (bazita sur Raspbian Stretch). Pri tio skribu al li al la supre indikita adreso. Se estas sufiĉe da homoj interesataj, eĉ eblas liberigi ilojn, kiuj inkluzivas ĉion necesan por tia modifo.

Dankoj

Dankon al Dave Mielke pro provlegado.

Dankon al Simon Kainz pro la fotoilustraĵoj.

Dankon al miaj kolegoj de la Teknika Universitato de Graz pro rapide konigi la aŭtoron al la mondo de Raspberry Pi.

PS Unua tweet aŭtoro pri ĉi tiu temo (ne malfermas - tradukisto) estis farita nur kvin tagojn antaŭ la publikigo de la originalo de ĉi tiu artikolo, kaj oni povas konsideri ke, escepte de problemoj pri sono, la tasko estis praktike solvita. Cetere, la aŭtoro redaktis la finan version de la teksto el "memsufiĉa brajla ekrano" kiun li faris, ligante ĝin per SSH al sia hejma komputilo.

fonto: www.habr.com

Aldoni komenton