Rasipibẹri Pi Zero inu a Handy Tech Iroyin Star 40 àpapọ braille

Rasipibẹri Pi Zero inu a Handy Tech Iroyin Star 40 àpapọ braille

Onkọwe gbe Rasipibẹri Pi Zero, súfèé Bluetooth kan, ati okun kan ninu ifihan atọwọdọwọ Handy Tech Active Star 40 tuntun ti n pese agbara. Abajade jẹ kọnputa alabojuto ti ara ẹni lori ARM pẹlu ẹrọ ṣiṣe Linux, ni ipese pẹlu keyboard ati ifihan Braille kan. O le gba agbara / agbara nipasẹ USB, pẹlu. lati banki agbara tabi ṣaja oorun. Nitorinaa, o le ṣe laisi agbara fun awọn wakati pupọ, ṣugbọn fun ọpọlọpọ awọn ọjọ.

Rasipibẹri Pi Zero inu a Handy Tech Iroyin Star 40 àpapọ braille

Iyatọ onisẹpo ti awọn ifihan braille

Ni akọkọ, wọn yatọ ni ipari ila. Awọn ẹrọ ti o ni agbara 60 tabi diẹ sii dara fun ṣiṣẹ pẹlu kọnputa tabili kan, lakoko ti awọn ẹrọ ti o ni agbara 40 rọrun fun gbigbe pẹlu kọǹpútà alágbèéká kan. Bayi awọn ifihan braille wa ti a ti sopọ si awọn fonutologbolori ati awọn tabulẹti, pẹlu gigun laini ti awọn ohun kikọ 14 tabi 18.

Ni iṣaaju, awọn ifihan braille jẹ ohun ti o tobi pupọ. Kọǹpútà alágbèéká 40 ijoko, fun apẹẹrẹ, ni iwọn ati iwuwo ti kọǹpútà alágbèéká 13-inch kan. Bayi, pẹlu nọmba kanna ti awọn ojulumọ, wọn jẹ kekere to ki o le fi ifihan si iwaju kọǹpútà alágbèéká, ju kọǹpútà alágbèéká lọ sori ifihan.

Eyi jẹ, dajudaju, dara julọ, ṣugbọn ko tun rọrun pupọ lati mu awọn ẹrọ lọtọ meji mu lori ipele rẹ. Nigbati o ba ṣiṣẹ ni tabili kan, ko si awọn ẹdun ọkan, ṣugbọn o tọ lati ranti pe kọǹpútà alágbèéká kan ni a pe ni kọǹpútà alágbèéká nipasẹ orukọ miiran, ati gbiyanju lati da orukọ rẹ lare, bi o ti han pe ifihan ohun kikọ 40 kekere paapaa kere si.

Nitorinaa onkọwe duro fun itusilẹ awoṣe tuntun ti a ti ṣe ileri pipẹ ni jara Handy Tech Star. Pada ni ọdun 2002, awoṣe iṣaaju Handy Tech Braille Star 40 ti tu silẹ, nibiti agbegbe ti ara ti to lati fi kọǹpútà alágbèéká kan sori oke. Ati pe ti ko ba ni ibamu, iduro amupada wa. Bayi awoṣe yii ti rọpo nipasẹ Active Star 40, eyiti o fẹrẹ jẹ kanna, ṣugbọn pẹlu awọn ẹrọ itanna igbegasoke.

Rasipibẹri Pi Zero inu a Handy Tech Iroyin Star 40 àpapọ braille

Ati iduro yiyọ kuro:

Rasipibẹri Pi Zero inu a Handy Tech Iroyin Star 40 àpapọ braille

Ṣugbọn ohun ti o rọrun julọ nipa ọja tuntun jẹ isinmi isunmọ iwọn ti foonuiyara (wo KDPV). O ṣii nigbati pẹpẹ ti gbe pada. O wa ni airọrun lati mu foonuiyara kan wa nibẹ, ṣugbọn o nilo lati lo bakan apakan ti o ṣofo, ninu eyiti paapaa iṣan agbara kan wa.

Ohun akọkọ ti onkọwe wa pẹlu ni lati gbe Rasipibẹri Pi sibẹ, ṣugbọn nigbati o ti ra ifihan naa, o han pe iduro ti o bo iyẹwu naa ko wọ inu pẹlu “rasipibẹri.” Bayi, ti igbimọ ba jẹ tinrin 3 mm nikan ...

Ṣugbọn ẹlẹgbẹ kan sọ fun mi nipa itusilẹ ti Rasipibẹri Pi Zero, eyiti o jade lati jẹ kekere ti meji ninu wọn le baamu ni iyẹwu… tabi boya paapaa mẹta. O ti paṣẹ lẹsẹkẹsẹ pẹlu kaadi iranti 64 GB, Bluetooth, “súfèé” ati okun USB Micro kan. Awọn ọjọ diẹ lẹhinna gbogbo eyi de, ati awọn ọrẹ ti o riran ṣe iranlọwọ fun onkọwe lati mura maapu kan. Ohun gbogbo ṣiṣẹ lẹsẹkẹsẹ bi o ti yẹ.

Kini a ṣe fun eyi

Lori ẹhin Handy Tech Active Star 40 awọn ebute USB meji wa fun awọn ẹrọ bii awọn bọtini itẹwe. Bọtini àtẹ bọ́tìnnì tí kò tóbi pẹ̀lú òke oofa wà nínú. Nigbati bọtini itẹwe ba ti sopọ, ati ifihan funrararẹ ṣiṣẹ nipasẹ Bluetooth, kọnputa tun ṣe idanimọ rẹ bi bọtini itẹwe Bluetooth kan.

Nitorinaa, ti o ba sopọ “súfèé” Bluetooth kan si Rasipibẹri Pi Zero ti a gbe sinu yara foonuiyara, yoo ni anfani lati ṣe ibasọrọ pẹlu ifihan braille nipasẹ Bluetooth nipa lilo BRLTTY, ati pe ti o ba tun so keyboard pọ mọ ifihan, “rasipibẹri” yoo ṣiṣẹ pẹlu rẹ paapaa.

Sugbon ti o ni ko gbogbo. “Rasipibẹri” funrarẹ, ni ọna, le wọle si Intanẹẹti nipasẹ Bluetooth PAN lati eyikeyi ẹrọ ti o ṣe atilẹyin. Onkọwe ti tunto foonu alagbeka rẹ ati awọn kọnputa ni ile ati ni iṣẹ ni ibamu, ṣugbọn ni ọjọ iwaju o gbero lati ṣe adaṣe “rasipibẹri” miiran fun eyi - Ayebaye kan, kii ṣe Zero, ti o sopọ si Ethernet ati “súfèé” Bluetooth miiran.

BlueZ 5 ati PAN

PAN iṣeto ni ọna lilo bluez wa ni jade lati wa ni unobvious. Onkọwe rii iwe afọwọkọ Python pan bt-pan (wo isalẹ), eyiti o fun ọ laaye lati tunto PAN laisi GUI kan.

O le ṣee lo lati tunto mejeeji olupin ati alabara. Lẹhin ti o ti gba aṣẹ ti o yẹ nipasẹ D-Bus nigbati o ba n ṣiṣẹ ni ipo alabara, o ṣẹda ẹrọ nẹtiwọọki tuntun bnep0 lẹsẹkẹsẹ lẹhin iṣeto asopọ pẹlu olupin naa. Ni deede, DHCP ni a lo lati fi adiresi IP kan si wiwo yii. Ni ipo olupin, BlueZ nilo orukọ ẹrọ afara si eyiti o le ṣafikun ohun elo ẹrú lati so alabara kọọkan pọ. Tito leto adirẹsi kan fun ẹrọ afara ati ṣiṣe olupin DHCP kan pẹlu iboju iparada IP lori Afara nigbagbogbo jẹ gbogbo ohun ti o nilo.

Aaye Wiwọle PAN Bluetooth pẹlu Systemd

Lati tunto afara naa, onkọwe lo systemd-networkd:

Faili /etc/systemd/network/pan.netdev

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

Faili /etc/systemd/network/pan.network

[Match]
Name=pan

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

Bayi a nilo lati fi ipa mu BlueZ lati tunto profaili NAP. O wa jade pe eyi ko le ṣee ṣe pẹlu boṣewa BlueZ 5.36 awọn ohun elo. Ti onkọwe ba jẹ aṣiṣe, ṣe atunṣe rẹ: mlang (le gbe etí rẹ) afọju (nigbakugba wiwọle ati kuatomu) guru

Ṣugbọn o ri bulọọgi post и Python akosile lati ṣe awọn ipe pataki si D-Bus.

Fun irọrun, onkọwe lo iṣẹ Systemd lati ṣiṣẹ iwe afọwọkọ ati ṣayẹwo boya awọn igbẹkẹle ba ti pinnu.

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

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

Faili keji kii yoo nilo ti Debian ba ni atilẹyin IPMasquerade (wo isalẹ). #787480).

Lẹhin ṣiṣe awọn aṣẹ systemoverl daemon-reload и tunto systemctl tunto systemd-networkd o le bẹrẹ PAN Bluetooth pẹlu aṣẹ systemctl bẹrẹ pan

Olubara Bluetooth PAN nipa lilo Systemd

Ẹgbẹ alabara tun rọrun lati tunto nipa lilo Systemd.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

Faili /etc/systemd/system/[imeeli ni idaabobo]

[Unit]
Description=Bluetooth Personal Area Network client

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

Bayi, lẹhin atunto atunto naa, o le sopọ si aaye iwọle Bluetooth ti a sọ pato bii eyi:

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

Sisopọ nipa lilo laini aṣẹ

Nitoribẹẹ, iṣeto ti olupin ati awọn alabara gbọdọ ṣee ṣe lẹhin sisọpọ wọn nipasẹ Bluetooth. Lori olupin naa o nilo lati ṣiṣẹ bluetoothctl ki o fun ni awọn aṣẹ:

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

Lẹhin ti o bẹrẹ ọlọjẹ naa, duro fun iṣẹju diẹ titi ti ẹrọ ti o nilo yoo han ninu atokọ naa. Kọ adirẹsi rẹ silẹ ki o lo nipa fifun aṣẹ bata ati, ti o ba jẹ dandan, aṣẹ igbẹkẹle naa.

Ni ẹgbẹ alabara, o nilo lati ṣe ohun kanna, ṣugbọn aṣẹ igbẹkẹle ko nilo. Olupin naa nilo lati gba asopọ kan nipa lilo profaili NAP laisi ijẹrisi afọwọṣe nipasẹ olumulo.

Onkọwe ko ni idaniloju pe eyi ni ọna ti o dara julọ ti awọn aṣẹ. Boya gbogbo ohun ti o nilo ni lati so alabara pọ pẹlu olupin naa ki o ṣiṣẹ aṣẹ igbẹkẹle lori olupin naa, ṣugbọn ko gbiyanju eyi sibẹsibẹ.

Ṣiṣẹ HID Bluetooth Profaili

O nilo ki Rasipibẹri mọ keyboard ti o sopọ si ifihan Braille nipasẹ waya, ati gbigbe nipasẹ ifihan funrararẹ nipasẹ Bluetooth. Eyi ni a ṣe ni ọna kanna, nikan dipo oluranlowo lori nilo lati fun ni aṣẹ oluranlowo KeyboardOnly ati bluetoothctl yoo wa ẹrọ kan pẹlu profaili HID kan.

Ṣugbọn eto Bluetooth nipasẹ laini aṣẹ jẹ idiju diẹ

Botilẹjẹpe onkọwe ṣakoso lati tunto ohun gbogbo, o loye pe atunto BlueZ nipasẹ laini aṣẹ jẹ airọrun. Ni akọkọ o ro pe awọn aṣoju nilo nikan lati tẹ awọn koodu PIN sii, ṣugbọn o wa ni jade, fun apẹẹrẹ, pe lati mu profaili HID ṣiṣẹ o nilo lati tẹ “Aṣoju KeyboardOnly”. O jẹ iyalẹnu pe lati ṣe ifilọlẹ PAN Bluetooth o nilo lati gun nipasẹ awọn ibi ipamọ ni wiwa iwe afọwọkọ ti o nilo. O ranti pe ninu ẹya iṣaaju ti BlueZ nibẹ ni ohun elo ti a ti ṣetan fun eyi pẹpẹ Nibo ni o n ṣe ni BlueZ 5? Lojiji ojutu tuntun kan han, aimọ si onkọwe, ṣugbọn ti o dubulẹ lori dada?

Ise sise

Iyara gbigbe data jẹ isunmọ 120 kbit/s, eyiti o to. Awọn ero isise ARM 1GHz yara pupọ fun wiwo laini aṣẹ. Onkọwe tun ngbero lati lo ssh ati emacs ni akọkọ lori ẹrọ naa.

Awọn nkọwe console ati ipinnu iboju

Ipinnu iboju aiyipada ti o lo nipasẹ framebuffer lori Rasipibẹri Pi Zero jẹ ajeji pupọ: fbset ṣe ijabọ rẹ bi awọn piksẹli 656 × 416 (ko si atẹle ti o sopọ, dajudaju). Pẹlu fonti console ti 8×16, awọn ohun kikọ 82 wa fun laini ati awọn ila 26.

Korọrun lati ṣiṣẹ pẹlu ifihan 40 Braille ni ipo yii. Onkọwe yoo tun fẹ lati rii awọn ohun kikọ Unicode ti o han ni braille. Da, Linux atilẹyin 512 ohun kikọ, ati julọ console nkọwe 256. Lilo console-setup, o le lo meji 256-ohun kikọ silẹ jọ. Onkọwe ṣafikun awọn laini wọnyi si faili /etc/default/console-setup:

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

Akiyesi: Lati jẹ ki fonti brl-16×8.psf wa, o nilo lati fi sori ẹrọ console-braille.

Ohun ti ni tókàn?

Ifihan Braille ni jaketi 3,5 mm, ṣugbọn onkọwe ko mọ awọn oluyipada fun gbigba ifihan ohun ohun lati Mini-HDMI. Onkọwe ko lagbara lati lo kaadi ohun ti a ṣe sinu Rasipibẹri (ni ajeji, onitumọ naa ni idaniloju pe Zero ko ni ọkan, ṣugbọn awọn ọna wa lati gbe ohun jade nipa lilo PWM si GPIO). O ngbero lati lo ibudo USB-OTG ati so kaadi ita kan ati ohun ti o wu jade si agbọrọsọ ti a ṣe sinu ifihan braille. Fun idi kan, awọn kaadi ita meji ko ṣiṣẹ;

O tun jẹ airọrun lati pa “rasipibẹri” pẹlu ọwọ, duro fun iṣẹju diẹ ki o si pa ifihan braille. Ati gbogbo nitori nigbati o ba wa ni pipa, o yọ agbara kuro lati awọn asopo ni kompaktimenti. Onkọwe ngbero lati gbe batiri ifipamọ kekere sinu iyẹwu ati, nipasẹ GPIO, sọfun Rasipibẹri nipa pipaarẹ ifihan, ki o le bẹrẹ si tiipa iṣẹ rẹ. Eyi jẹ UPS ni kekere.

Aworan eto

Ti o ba ni ifihan Braille kanna ati pe yoo fẹ lati ṣe kanna pẹlu rẹ, onkọwe ti ṣetan lati pese aworan ti o ti ṣetan ti eto naa (da lori Raspbian Stretch). Kọ̀wé sí i nípa èyí ní àdírẹ́sì tí a tọ́ka sí lókè. Ti awọn eniyan ba nifẹ si, o ṣee ṣe paapaa lati tu awọn ohun elo silẹ ti o pẹlu ohun gbogbo pataki fun iru iyipada.

Awọn ijẹwọ

Ṣeun si Dave Mielke fun ṣiṣe atunṣe.

O ṣeun si Simon Kainz fun awọn aworan apejuwe.

O ṣeun si awọn ẹlẹgbẹ mi ni Graz Technical University fun ni kiakia ni lenu wo onkọwe si aye ti Rasipibẹri Pi.

PS Tweet akọkọ onkọwe lori koko yii (ko ṣii - onitumọ) ni a ṣe ni ọjọ marun ṣaaju ikede atilẹba ti nkan yii, ati pe a le ronu pe, laisi awọn iṣoro pẹlu ohun, iṣẹ-ṣiṣe naa ni adaṣe ni adaṣe. Nipa ọna, onkọwe ṣe atunṣe ẹya ikẹhin ti ọrọ naa lati "ifihan Braille ti ara ẹni" ti o ṣe, ti o so pọ nipasẹ SSH si kọmputa ile rẹ.

orisun: www.habr.com

Fi ọrọìwòye kun