Raspberry Pi Zero ġewwa display braille Handy Tech Active Star 40

Raspberry Pi Zero ġewwa display braille Handy Tech Active Star 40

L-awtur poġġa Raspberry Pi Zero, whistle tal-Bluetooth, u kejbil ġewwa l-wiri l-ġdid tiegħu tal-Handy Tech Active Star 40 Braille Port USB integrat jipprovdi l-enerġija. Ir-riżultat kien kompjuter awtosuffiċjenti mingħajr monitor fuq ARM bis-sistema operattiva Linux, mgħammar b'tastiera u display Braille. Tista 'tiċċarġja/qawwaha permezz tal-USB, inkl. minn bank tal-enerġija jew ċarġer solari. Għalhekk, jista 'jagħmel mingħajr enerġija għal diversi sigħat, iżda għal diversi jiem.

Raspberry Pi Zero ġewwa display braille Handy Tech Active Star 40

Differenzjazzjoni dimensjonali tal-wiri tal-braille

L-ewwelnett, huma differenti fit-tul tal-linja. Apparati b'kapaċità ta '60 jew aktar huma tajbin biex jaħdmu ma' kompjuter desktop, filwaqt li apparati b'kapaċità ta '40 huma konvenjenti biex jinġarru ma' laptop. Issa hemm displejs tal-braille konnessi ma’ smartphones u tablets, b’tul ta’ linja ta’ 14 jew 18-il karattru.

Fil-passat, il-wirjiet tal-braille kienu pjuttost kbar. Il-laptop ta’ 40 siġġu, pereżempju, kellu daqs u piż ta’ laptop ta’ 13-il pulzier. Issa, bl-istess numru ta 'konoxxenti, huma żgħar biżżejjed sabiex inti tista' tpoġġi l-wiri quddiem il-laptop, aktar milli l-laptop fuq il-wiri.

Dan huwa, ovvjament, aħjar, iżda għadu mhux konvenjenti ħafna li żżomm żewġ apparati separati fuq il-ħoġor tiegħek. Meta taħdem fuq skrivanija, m'hemm l-ebda ilment, iżda ta 'min jiftakar li laptop jissejjaħ laptop b'isem ieħor, u tipprova tiġġustifika ismu, peress li jirriżulta li l-wiri minjatura ta' 40 karattru huwa saħansitra inqas konvenjenti.

Allura l-awtur stenna r-rilaxx tal-mudell il-ġdid imwiegħed fit-tul fis-serje Handy Tech Star. Lura fl-2002, ġie rilaxxat il-mudell preċedenti Handy Tech Braille Star 40, fejn iż-żona tal-ġisem hija biżżejjed biex tpoġġi laptop fuq nett. U jekk ma jaqbilx, hemm stand ritrattabbli. Issa dan il-mudell ġie sostitwit bl-Active Star 40, li huwa kważi l-istess, iżda b'elettronika aġġornata.

Raspberry Pi Zero ġewwa display braille Handy Tech Active Star 40

U l-istand ritrattabbli jibqa':

Raspberry Pi Zero ġewwa display braille Handy Tech Active Star 40

Iżda l-iktar ħaġa konvenjenti dwar il-prodott il-ġdid hija riċess bejn wieħed u ieħor id-daqs ta 'smartphone (ara KDPV). Jiftaħ meta l-pjattaforma titmexxa lura. Irriżulta li kien inkonvenjenti li żżomm smartphone hemm, iżda trid tuża b'xi mod il-kompartiment vojt, li ġewwa fih hemm saħansitra żbokk tad-dawl.

L-ewwel ħaġa li ħareġ biha l-awtur kienet li jpoġġi r-Raspberry Pi hemmhekk, iżda meta nxtara l-wiri, irriżulta li l-istand li jkopri l-kompartiment ma jiżżerżaqx ġol-"lampun." Issa, kieku l-bord kien biss 3 mm irqaq...

Iżda kollega qalli dwar il-ħruġ tar-Raspberry Pi Zero, li rriżulta li kien tant minjatura li tnejn minnhom setgħu jidħlu fil-kompartiment... jew forsi anke tlieta. Ġie ordnat immedjatament flimkien ma 'karta tal-memorja ta' 64 GB, Bluetooth, "whistle" u kejbil Micro USB. Ftit jiem wara wasal dan kollu, u ħbieb b'vista għenu lill-awtur jipprepara mappa. Kollox immedjatament ħadem kif suppost.

Dak li sar għal dan

Fuq wara tal-Handy Tech Active Star 40 hemm żewġ portijiet USB għal apparati bħal tastieri. Tastiera ta 'daqs żgħir b'muntatura manjetika hija inkluża. Meta t-tastiera tkun konnessa, u l-wiri innifsu jaħdem permezz tal-Bluetooth, il-kompjuter barra minn hekk jagħrafha bħala tastiera Bluetooth.

Għalhekk, jekk tikkonnettja "whistle" Bluetooth ma' Raspberry Pi Zero imqiegħed fil-kompartiment tal-ismartphone, ikun jista' jikkomunika mal-wiri tal-braille permezz tal-Bluetooth billi juża BRLTTY, u jekk tqabbad ukoll tastiera mal-wiri, il-"lampun" jaħdem magħha wkoll.

Imma dan mhux kollox. Il-"lampun" innifsu, min-naħa tiegħu, jista 'jaċċessa l-Internet permezz tal-Bluetooth PAN minn kwalunkwe apparat li jappoġġjah. L-awtur ikkonfigura l-ismartphone u l-kompjuters tiegħu fid-dar u fuq ix-xogħol kif xieraq, iżda fil-futur qed jippjana li jadatta "lampun" ieħor għal dan - wieħed klassiku, mhux Zero, konness ma 'Ethernet u "whistle" ieħor Bluetooth.

BlueZ 5 u PAN

Metodu ta 'konfigurazzjoni PAN bl-użu bluez irriżulta li ma kienx ovvju. L-awtur sab l-iskrittura bt-pan Python (ara hawn taħt), li jippermettilek tikkonfigura PAN mingħajr GUI.

Jista 'jintuża biex jiġi kkonfigurat kemm is-server kif ukoll il-klijent. Wara li rċeviet il-kmand xieraq permezz D-Bus meta taħdem fil-modalità klijent, toħloq apparat tan-netwerk ġdid bnep0 immedjatament wara li tistabbilixxi konnessjoni mas-server. Tipikament, DHCP jintuża biex jassenja indirizz IP għal din l-interface. Fil-modalità server, BlueZ jeħtieġ l-isem ta 'apparat pont li miegħu jista' jżid apparat slave biex jgħaqqad kull klijent. Il-konfigurazzjoni ta 'indirizz għall-apparat tal-pont u t-tħaddim ta' server DHCP flimkien mal-masquerading tal-IP fuq il-pont huwa ġeneralment dak kollu li hu meħtieġ.

Bluetooth PAN Punt ta 'Aċċess ma' Systemd

Biex jiġi kkonfigurat il-pont, l-awtur uża systemd-networkd:

Fajl /etc/systemd/network/pan.netdev

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

Fajl /etc/systemd/network/pan.network

[Match]
Name=pan

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

Issa rridu nġiegħlu lil BlueZ biex tikkonfigura l-profil NAP. Irriżulta li dan ma jistax isir bl-utilitajiet standard BlueZ 5.36. Jekk l-awtur huwa żbaljat, ikkoreġih: mlang (jista 'jċaqlaq widnejh) blind (xi kultant aċċess u quantum) guru

Imma sab blog post и Script Python biex tagħmel is-sejħiet meħtieġa lil D-Bus.

Għall-konvenjenza, l-awtur uża s-servizz Systemd biex iħaddem l-iskript u jiċċekkja jekk id-dipendenzi humiex solvuti.

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

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

It-tieni fajl ma jkunx meħtieġ jekk Debian ikollu appoġġ IPMasquerade= (ara hawn taħt). #787480).

Wara li tesegwixxi l-kmandi sistema ta 'daemon-tagħbija mill-ġdid и systemctl terġa 'tibda systemd-networkd tista 'tibda Bluetooth PAN bil-kmand systemctl start pan

Klijent Bluetooth PAN li juża Systemd

In-naħa tal-klijent hija wkoll faċli biex tiġi kkonfigurata billi tuża Systemd.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

Fajl /etc/systemd/system/[protett bl-email]

[Unit]
Description=Bluetooth Personal Area Network client

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

Issa, wara li terġa 'tagħbija l-konfigurazzjoni, tista' tikkonnettja mal-punt ta 'aċċess Bluetooth speċifikat bħal dan:

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

Tqabbil bl-użu tal-linja tal-kmand

Naturalment, il-konfigurazzjoni tas-server u l-klijenti trid issir wara t-tqabbil tagħhom permezz tal-Bluetooth. Fuq is-server trid tħaddem il-bluetoothctl u tagħtih il-kmandi:

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

Wara li tibda l-iskan, stenna ftit sekondi sakemm l-apparat li għandek bżonn jidher fil-lista. Ikteb l-indirizz tagħha u użah billi toħroġ il-kmand tal-par u, jekk meħtieġ, il-kmand tal-fiduċja.

Min-naħa tal-klijent, trid tagħmel l-istess ħaġa, iżda l-kmand tal-fiduċja żgur mhux meħtieġ. Is-server jeħtieġ li jaċċetta konnessjoni bl-użu tal-profil NAP mingħajr konferma manwali mill-utent.

L-awtur mhuwiex ċert li din hija l-aħjar sekwenza ta 'kmandi. Forsi dak kollu li hu meħtieġ huwa li jgħaqqad il-klijent mas-server u jmexxi l-kmand tal-fiduċja fuq is-server, iżda għadu ma pprovax dan.

Attivazzjoni tal-Profil Bluetooth HID

Huwa meħtieġ li l-Raspberry jagħraf tastiera konnessa mad-displej tal-Braille bil-wajer, u trażmessa mill-wiri innifsu permezz tal-Bluetooth. Dan isir bl-istess mod, biss minflok aġent fuq jeħtieġ li tagħti kmand aġent KeyboardOnly u bluetoothctl se ssib apparat bi profil HID.

Iżda t-twaqqif tal-Bluetooth permezz tal-linja tal-kmand huwa daqsxejn ikkumplikat

Għalkemm l-awtur irnexxielu jikkonfigura kollox, jifhem li l-konfigurazzjoni tal-BlueZ permezz tal-linja tal-kmand hija inkonvenjenti. Għall-ewwel ħaseb li l-aġenti kienu meħtieġa biss biex jidħlu kodiċijiet PIN, iżda rriżulta, pereżempju, li biex tippermetti l-profil HID għandek bżonn ittajpja "aġent KeyboardOnly". Huwa sorprendenti li biex tniedi Bluetooth PAN għandek bżonn titla 'minn repożitorji fit-tfittxija tal-iskript meħtieġ. Huwa jiftakar li fil-verżjoni preċedenti tal-BlueZ kien hemm għodda lesta għal dan pand - fejn qed jagħmel fil-BlueZ 5? F'daqqa waħda dehret soluzzjoni ġdida, mhux magħrufa għall-awtur, iżda li tinsab fuq il-wiċċ?

Produttività

Il-veloċità tat-trasferiment tad-dejta kienet madwar 120 kbit/s, li hija pjuttost biżżejjed. Il-proċessur ARM ta '1GHz huwa mgħaġġel ħafna għal interface tal-linja tal-kmand. L-awtur għadu jippjana li juża prinċipalment ssh u emacs fuq l-apparat.

Fonts tal-console u riżoluzzjoni tal-iskrin

Ir-riżoluzzjoni tal-iskrin default użata mill-framebuffer fuq il-Raspberry Pi Zero hija pjuttost stramba: fbset tirrapporta bħala pixel 656x416 (l-ebda monitor konness, ovvjament). B'tipa console ta '8 × 16, kien hemm 82 karattru għal kull linja u 26 linja.

Huwa inkonvenjenti li taħdem b'display Braille b'40 karattru f'dan il-mod. L-awtur jixtieq ukoll jara karattri Unicode murija bil-braille. Fortunatament, Linux jappoġġja 512 karattru, u l-biċċa l-kbira tal-fonts tal-console għandhom 256. Bl-użu tal-console-setup, tista 'tuża żewġ fonts ta' 256 karattru flimkien. L-awtur żied il-linji li ġejjin mal-fajl /etc/default/console-setup:

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

Nota: biex tagħmel il-font brl-16×8.psf disponibbli, trid tinstalla console-braille.

Xi jmiss?

Il-wiri tal-Braille għandu jack ta '3,5 mm, iżda l-awtur mhuwiex konxju ta' adapters biex jirċievi sinjal awdjo minn Mini-HDMI. L-awtur ma setax juża l-karta tal-ħoss mibnija fil-Raspberry (stramba, it-traduttur kien ċert li ż-Żero ma kellux wieħed, iżda hemm modi kif joħroġ ħoss bl-użu ta 'PWM lill-GPIO). Huwa jippjana li juża hub USB-OTG u jgħaqqad karta esterna u joħroġ ħoss mal-kelliem mibni fid-displej tal-braille. Għal xi raġuni, żewġ karti esterni ma ħadmux issa qed ifittex apparat simili fuq chipset differenti;

Huwa wkoll inkonvenjenti li manwalment itfi l-"lampun", stenna ftit sekondi u itfi l-wiri tal-braille. U kollha għaliex meta tintefa, tneħħi l-enerġija mill-konnettur fil-kompartiment. L-awtur jippjana li jpoġġi batterija buffer żgħira fil-kompartiment u, permezz ta 'GPIO, jinforma lill-Raspberry dwar it-tifi tal-wiri, sabiex ikun jista' jibda jagħlaq ix-xogħol tiegħu. Dan huwa UPS f'minjatura.

Immaġini tas-sistema

Jekk għandek l-istess wirja Braille u tixtieq tagħmel l-istess magħha, l-awtur huwa lest li jipprovdi immaġni lesta tas-sistema (ibbażata fuq Raspbian Stretch). Ikteb lilu dwar dan fl-indirizz indikat hawn fuq. Jekk hemm biżżejjed nies interessati, huwa saħansitra possibbli li jiġu rilaxxati kits li jinkludu dak kollu meħtieġ għal modifika bħal din.

Rikonoxximenti

Grazzi lil Dave Mielke għall-qari tal-provi.

Grazzi lil Simon Kainz għall-illustrazzjonijiet tar-ritratti.

Grazzi lill-kollegi tiegħi fl-Università Teknika ta 'Graz talli introduċew malajr lill-awtur fid-dinja ta' Raspberry Pi.

PS L-ewwel tweet awtur dwar dan is-suġġett (ma jiftaħx - traduttur) sar ħamest ijiem biss qabel il-pubblikazzjoni tal-oriġinal ta 'dan l-artikolu, u jista' jitqies li, bl-eċċezzjoni ta 'problemi bil-ħoss, il-kompitu ġie prattikament solvut. Mill-mod, l-awtur editja l-verżjoni finali tat-test minn "wiri Braille awtosuffiċjenti" li għamel, u qabbadha permezz ta 'SSH mal-kompjuter tad-dar tiegħu.

Sors: www.habr.com

Żid kumment