
Autors savÄ jaunajÄ Handy Tech Active Star 40 Braila displejÄ ievietoja Raspberry Pi Zero, Bluetooth adapteri un kabeli. IebÅ«vÄtais USB ports nodroÅ”ina baroÅ”anu. RezultÄts ir autonoms, bezgalvas ARM dators ar operÄtÄjsistÄmu. Linux, aprÄ«kots ar tastatÅ«ru un Braila displeju. To var uzlÄdÄt/darbinÄt, izmantojot USB, tostarp no pÄrnÄsÄjamÄ akumulatora vai saules lÄdÄtÄja. TÄdÄļ tas var darboties bez strÄvas ne tikai dažas stundas, bet vairÄkas dienas.

Braila displeju izmÄru diferenciÄcija
PirmkÄrt, tie atŔķiras pÄc lÄ«nijas garuma. IerÄ«ces ar 60 un vairÄk ietilpÄ«bu ir piemÄrotas darbam ar stacionÄro datoru, savukÄrt ierÄ«ces ar 40 ietilpÄ«bu ir Ärtas pÄrnÄsÄÅ”anai ar portatÄ«vo datoru. Tagad viedtÄlruÅiem un planÅ”etdatoriem ir pievienoti Braila displeji, kuru rindiÅas garums ir 14 vai 18 rakstzÄ«mes.
AgrÄk Braila displeji bija diezgan masÄ«vi. PiemÄram, 40 vietÄ«gajam klÄpjdatoram bija 13 collu klÄpjdatora izmÄrs un svars. Tagad ar tÄdu paÅ”u paziÅu skaitu tie ir pietiekami miniatÅ«ri, lai varÄtu novietot displeju klÄpjdatora priekÅ”Ä, nevis klÄpjdatoru uz displeja.
Tas, protams, ir labÄk, taÄu joprojÄm nav Ä«paÅ”i Ärti turÄt klÄpÄ« divas atseviŔķas ierÄ«ces. StrÄdÄjot pie rakstÄmgalda, sÅ«dzÄ«bu nav, taÄu der atcerÄties, ka klÄpjdatoru sauc citÄ vÄrdÄ, un mÄÄ£inÄt attaisnot tÄ nosaukumu, jo izrÄdÄs, ka miniatÅ«rais 40 zÄ«mju displejs ir vÄl mazÄk Ärts.
TÄpÄc autors gaidÄ«ja, kad iznÄks ilgi solÄ«tais jaunais Handy Tech Star sÄrijas modelis. VÄl 2002. gadÄ tika izlaists iepriekÅ”Äjais modelis Handy Tech Braille Star 40, kur korpusa zona ir pietiekama, lai uzliktu klÄpjdatoru virsÅ«. Un, ja tas neder, ir izvelkams statÄ«vs. Tagad Å”is modelis ir aizstÄts ar Active Star 40, kas ir gandrÄ«z tÄds pats, bet ar modernizÄtu elektroniku.

Un izvelkamais statīvs paliek:

TaÄu visÄrtÄkais jaunajÄ produktÄ ir aptuveni viedtÄlruÅa izmÄra padziļinÄjums (skat. KDPV). Tas atveras, kad platforma tiek pÄrvietota atpakaļ. ViedtÄlruni tur noturÄt izrÄdÄ«jÄs neÄrti, taÄu kaut kÄ jÄizmanto tukÅ”ais nodalÄ«jums, kura iekÅ”pusÄ ir pat kontaktligzda.
Pirmais, ko autors izdomÄja, bija tur novietot Raspberry Pi, taÄu, iegÄdÄjoties displeju, izrÄdÄ«jÄs, ka nodalÄ«jumu nosedzoÅ”ais statÄ«vs nav ieslÄ«dÄjis ar āaveÅuā. Tagad, ja dÄlis bÅ«tu tikai par 3 mm plÄnÄks...
Bet kolÄÄ£is stÄstÄ«ja par Raspberry Pi Zero iznÄkÅ”anu, kas izrÄdÄ«jÄs tik miniatÅ«rs, ka divi no tiem varÄja ietilpt nodalÄ«jumÄ... vai varbÅ«t pat trÄ«s. Tas uzreiz tika pasÅ«tÄ«ts kopÄ ar 64 GB atmiÅas karti, Bluetooth, āsvilpiā un Micro USB kabeli. PÄc dažÄm dienÄm tas viss ieradÄs, un redzÄ«gi draugi palÄ«dzÄja autoram sagatavot karti. Viss uzreiz strÄdÄja kÄ nÄkas.
Kas tika darīts Ŕim nolūkam
Handy Tech Active Star 40 aizmugurÄ ir divi USB porti ierÄ«cÄm, piemÄram, tastatÅ«rÄm. Iekļauta neliela izmÄra tastatÅ«ra ar magnÄtisku stiprinÄjumu. Kad tastatÅ«ra ir pievienota un pats displejs darbojas caur Bluetooth, dators to papildus atpazÄ«st kÄ Bluetooth tastatÅ«ru.
TÄdÄjÄdi, ja savienosiet Bluetooth āsvilpiā ar Raspberry Pi Zero, kas atrodas viedtÄlruÅa nodalÄ«jumÄ, tÄ varÄs sazinÄties ar Braila displeju, izmantojot Bluetooth, izmantojot , un, ja displejam pievienosit arÄ« tastatÅ«ru, ar to darbosies arÄ« āaveÅuā.
Bet tas vÄl nav viss. SavukÄrt pati āaveneā var piekļūt internetam, izmantojot Bluetooth PAN no jebkuras ierÄ«ces, kas to atbalsta. Autors savu viedtÄlruni un datorus ir attiecÄ«gi konfigurÄjis mÄjÄs un darbÄ, taÄu nÄkotnÄ plÄno Å”im pielÄgot vÄl vienu āaveÅuā - klasisku, nevis Zero, kas savienots ar Ethernet un citu Bluetooth āsvilpiā.
BlueZ 5 un PAN
PAN konfigurÄcijas metode, izmantojot izrÄdÄ«jÄs nepÄrprotami. Autors atrada bt-pan Python skriptu (skatÄ«t zemÄk), kas ļauj konfigurÄt PAN bez GUI.
To var izmantot, lai konfigurÄtu gan serveri, gan klientu. SaÅÄmusi atbilstoÅ”u komandu caur D-Bus, strÄdÄjot klienta režīmÄ, tÄ izveido jaunu tÄ«kla ierÄ«ci bnep0 uzreiz pÄc savienojuma izveides ar serveri. Parasti DHCP tiek izmantots, lai Å”ai saskarnei pieŔķirtu IP adresi. Servera režīmÄ BlueZ pieprasa tilta ierÄ«ces nosaukumu, kurai tÄ var pievienot palÄ«gierÄ«ci, lai savienotu katru klientu. Parasti ir nepiecieÅ”ams tikai tilta ierÄ«ces adreses konfigurÄÅ”ana un DHCP servera palaiÅ”ana, kÄ arÄ« IP maskÄÅ”ana tiltÄ.
Bluetooth PAN piekļuves punkts ar Systemd
Lai konfigurÄtu tiltu, autors izmantoja systemd-networkd:
Fails /etc/systemd/network/pan.netdev
[NetDev]
Name=pan
Kind=bridge
ForwardDelaySec=0Fails /etc/systemd/network/pan.network
[Match]
Name=pan
[Network]
Address=0.0.0.0/24
DHCPServer=yes
IPMasquerade=yesTagad mums ir jÄpiespiež BlueZ konfigurÄt NAP profilu. IzrÄdÄ«jÄs, ka to nevar izdarÄ«t ar standarta BlueZ 5.36 utilÄ«tprogrammÄm. Ja autors kļūdÄs, izlabojiet viÅu: mlang (var kustinÄt ausis) akls (dažreiz piekļuves un kvantu) guru
Bet viÅÅ” atrada Šø veikt nepiecieÅ”amos zvanus uz D-Bus.
ÄrtÄ«bas labad autors izmantoja Systemd pakalpojumu, lai palaistu skriptu un pÄrbaudÄ«tu, vai atkarÄ«bas ir novÄrstas.
Fails /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.targetFails /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 panOtrais fails nebūtu nepiecieŔams, ja Debian bija atbalsts IPMasquerade= (skatiet ).
PÄc komandu izpildes systemctl daemon-reload Šø systemctl restartÄjiet systemd-networkd varat sÄkt Bluetooth PAN ar komandu systemctl start panna
Bluetooth PAN klients, izmantojot Systemd
Klienta pusi ir arÄ« viegli konfigurÄt, izmantojot Systemd.
Fails /etc/systemd/network/pan-client.network
[Match]
Name=bnep*
[Network]
DHCP=yesFails /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 --waitTagad pÄc konfigurÄcijas atkÄrtotas ielÄdÄÅ”anas varat izveidot savienojumu ar norÄdÄ«to Bluetooth piekļuves punktu Å”Ädi:
systemctl start pan@00:11:22:33:44:55SavienoÅ”ana pÄrÄ«, izmantojot komandrindu
Protams, servera un klientu konfigurÄcija jÄveic pÄc to savienoÅ”anas pÄrÄ«, izmantojot Bluetooth. ServerÄ« ir jÄpalaiž bluetoothctl un jÄdod komandas:
power on
agent on
default-agent
scan on
scan off
pair XX:XX:XX:XX:XX:XX
trust XX:XX:XX:XX:XX:XXPÄc skenÄÅ”anas pagaidiet dažas sekundes, lÄ«dz sarakstÄ tiek parÄdÄ«ta vajadzÄ«gÄ ierÄ«ce. Pierakstiet tÄs adresi un izmantojiet to, izdodot pÄra komandu un, ja nepiecieÅ”ams, uzticÄ«bas komandu.
Klienta pusÄ jums jÄdara tas pats, taÄu uzticÄ«bas komanda noteikti nav nepiecieÅ”ama. Serverim tas ir nepiecieÅ”ams, lai pieÅemtu savienojumu, izmantojot NAP profilu, bez lietotÄja manuÄla apstiprinÄjuma.
Autors nav pÄrliecinÄts, ka tÄ ir optimÄlÄ komandu secÄ«ba. IespÄjams, viss, kas nepiecieÅ”ams, ir savienot klientu pÄrÄ« ar serveri un serverÄ« palaist uzticÄ«bas komandu, taÄu viÅÅ” to vÄl nav izmÄÄ£inÄjis.
HID Bluetooth profila iespÄjoÅ”ana
Ir nepiecieÅ”ams, lai Raspberry atpazÄ«tu tastatÅ«ru, kas ir savienota ar Braila displeju, izmantojot vadu un kuru pats displejs pÄrraida, izmantojot Bluetooth. Tas tiek darÄ«ts tÄdÄ paÅ”Ä veidÄ, tikai tÄ vietÄ aÄ£ents ieslÄgts jÄdod komanda aÄ£ents KeyboardOnly un bluetoothctl atradÄ«s ierÄ«ci ar HID profilu.
Bet Bluetooth iestatīŔana, izmantojot komandrindu, ir nedaudz sarežģīta
Lai gan autoram izdevÄs visu konfigurÄt, viÅÅ” saprot, ka BlueZ konfigurÄÅ”ana caur komandrindu ir neÄrta. SÄkumÄ viÅÅ” domÄja, ka aÄ£enti ir nepiecieÅ”ami tikai PIN kodu ievadīŔanai, bet izrÄdÄ«jÄs, piemÄram, lai iespÄjotu HID profilu, jÄievada āagent KeyboardOnlyā. PÄrsteidzoÅ”i, ka, lai palaistu Bluetooth PAN, jums jÄiet cauri krÄtuvÄm, meklÄjot nepiecieÅ”amo skriptu. ViÅÅ” atceras, ka iepriekÅ”ÄjÄ BlueZ versijÄ tam bija gatavs rÄ«ks panda - kur viÅÅ” dara BlueZ 5? PÄkÅ”Åi parÄdÄ«jÄs jauns risinÄjums, autoram nezinÄms, bet guļ uz virsmas?
ŠŃŠ¾ŠøŠ·Š²Š¾Š“ŠøŃŠµŠ»ŃноŃŃŃ
Datu pÄrraides Ätrums bija aptuveni 120 kbit/s, kas ir pilnÄ«gi pietiekami. 1 GHz ARM procesors ir ļoti Ätrs komandrindas interfeisam. Autors joprojÄm plÄno ierÄ«cÄ izmantot galvenokÄrt ssh un emacs.
Konsoles fonti un ekrÄna izŔķirtspÄja
NoklusÄjuma ekrÄna izŔķirtspÄja, ko izmanto Raspberry Pi Zero kadru buferis, ir diezgan dÄ«vaina: fbset ziÅo par to kÄ 656x416 pikseļus (protams, nav pievienots monitors). Izmantojot konsoles fontu 8 Ć 16, katrÄ rindÄ bija 82 rakstzÄ«mes un 26 rindiÅas.
Å ajÄ režīmÄ strÄdÄt ar 40 rakstzÄ«mju Braila displeju ir neÄrti. Autors arÄ« vÄlÄtos redzÄt unikoda rakstzÄ«mes, kas tiek attÄlotas Braila rakstÄ. Par laimi, Linux atbalsta 512 rakstzÄ«mes, savukÄrt lielÄkÄ daļa konsoles fontu atbalsta 256. Izmantojot konsoles iestatÄ«jumus, varat kopÄ izmantot divus 256 rakstzÄ«mju fontus. Autors pievienoja Å”Ädas rindas failam /etc/default/console-setup:
SCREEN_WIDTH=80
SCREEN_HEIGHT=25
FONT="Lat15-Terminus16.psf.gz brl-16x8.psf"PiezÄ«me: lai bÅ«tu pieejams fonts brl-16Ć8.psf, jÄinstalÄ braila konsole.
Ko tÄlÄk?
Braila displejam ir 3,5 mm ligzda, taÄu autoram nav zinÄmi adapteri audio signÄla uztverÅ”anai no Mini-HDMI. Autors nevarÄja izmantot Raspberry iebÅ«vÄto skaÅas karti (dÄ«vaini, tulkotÄjs bija pÄrliecinÄts, ka Zero tÄdas nav, taÄu ir veidi, kÄ izvadÄ«t skaÅu, izmantojot PWM uz GPIO). ViÅÅ” plÄno izmantot USB-OTG centrmezglu un pievienot ÄrÄjo karti un izvadÄ«t skaÅu Braila displejÄ iebÅ«vÄtajam skaļrunim. KÄdu iemeslu dÄļ divas ÄrÄjÄs kartes nedarbojÄs, tagad viÅÅ” meklÄ lÄ«dzÄ«gu ierÄ«ci citÄ mikroshÄmÄ.
Ir arÄ« neÄrti manuÄli izslÄgt "aveÅu", pagaidÄ«t dažas sekundes un izslÄgt Braila displeju. Un viss, jo, kad tas ir izslÄgts, tas atÅem strÄvu no savienotÄja nodalÄ«jumÄ. Autors plÄno nodalÄ«jumÄ ievietot nelielu buferakumulatoru un, izmantojot GPIO, informÄt Raspberry par displeja izslÄgÅ”anos, lai tas varÄtu sÄkt pÄrtraukt darbu. Å is ir miniatÅ«rÄ UPS.
SistÄmas attÄls
Ja jums ir tÄds pats Braila displejs un vÄlaties ar to darÄ«t to paÅ”u, autors ir gatavs sniegt gatavu sistÄmas attÄlu (pamatojoties uz Raspbian Stretch). Rakstiet viÅam par to uz iepriekÅ” norÄdÄ«to adresi. Ja ir pietiekami daudz interesentu, iespÄjams pat izdot komplektus, kuros iekļauts viss nepiecieÅ”amais Å”Ädai modifikÄcijai.
Pateicības
Paldies Deivam Mielem par korektūru.
Paldies Simonam Kaincam par fotogrÄfiju ilustrÄcijÄm.
Paldies maniem kolÄÄ£iem GrÄcas TehniskajÄ universitÄtÄ, ka viÅi Ätri iepazÄ«stinÄja autoru ar Raspberry Pi pasauli.
PS autors par Å”o tÄmu (neatveras - tulkotÄjs) tika veikts tikai piecas dienas pirms Ŕī raksta oriÄ£inÄla publicÄÅ”anas, un var uzskatÄ«t, ka, izÅemot problÄmas ar skaÅu, uzdevums tika praktiski atrisinÄts. Starp citu, autors rediÄ£Äja teksta galÄ«go versiju no paÅ”a izgatavota āpaÅ”pietiekama Braila displejaā, savienojot to caur SSH ar mÄjas datoru.
Avots: www.habr.com
