Umbhali ubeke i-Raspberry Pi Zero, ikhwela le-Bluetooth, nekhebuli ngaphakathi kwesibonisi sakhe esisha se-braille se-Handy Tech Active Star 40. Imbobo ye-USB eyakhelwe ngaphakathi inikeza amandla. Umphumela waba ikhompuyutha ekwazi ukuzimela engakwazi ukugada ku-ARM enesistimu yokusebenza ye-Linux, efakwe ikhibhodi nesibonisi se-Braille. Ungayishaja/uyinike amandla nge-USB, kuhl. kusuka ebhange lamandla noma ishaja yelanga. Ngakho-ke, angakwazi ukwenza ngaphandle kwamandla amahora ambalwa, kodwa izinsuku ezimbalwa.
Ukuhlukaniswa kobukhulu bezibonisi ze-braille
Okokuqala nje, ziyehluka ngobude bomugqa. Amadivayisi anomthamo ongu-60 noma ngaphezulu alungele ukusebenza ngekhompuyutha yedeskithophu, kuyilapho amadivayisi anomthamo we-40 alungele ukuthwala ngekhompyutha ephathekayo. Manje sekunezibonisi ze-braille ezixhunywe kuma-smartphone namathebulethi, ezinobude bomugqa wezinhlamvu eziyi-14 noma eziyi-18.
Esikhathini esidlule, ukuboniswa kwe-braille bekukukhulu kakhulu. I-laptop enezihlalo ezingu-40, isibonelo, inosayizi nesisindo se-laptop engama-intshi angu-13. Manje, ngenani elifanayo labantu obajwayele, bancane ngokwanele ukuze ukwazi ukubeka isibonisi phambi kwekhompuyutha ephathekayo, kunekhompuyutha ephathekayo esibonisini.
Lokhu, vele, kungcono, kodwa namanje akulula kakhulu ukubamba amadivaysi amabili ahlukene emathangeni akho. Uma usebenza edeskini, azikho izikhalazo, kodwa kufanelekile ukukhumbula ukuthi i-laptop ibizwa nge-laptop ngelinye igama, futhi uzama ukuthethelela igama layo, njengoba kuvela ukuthi isibonisi esincane sezinhlamvu ezingu-40 silula nakakhulu.
Ngakho-ke umbhali ulinde imodeli entsha okwase kuyisikhathi eside ithenjisiwe ochungechungeni lwe-Handy Tech Star ukuthi ikhishwe. Emuva ngo-2002, imodeli yangaphambilini ye-Handy Tech Braille Star 40 yakhululwa, lapho indawo yomzimba yanele ukubeka i-laptop phezulu. Futhi uma ingalingani, kukhona ukuma okuhoxiswayo. Manje le modeli isithathelwe indawo yi-Active Star 40, ecishe ifane, kodwa ngama-electronics athuthukisiwe.
Futhi ukuma okuhoxiswayo kuhlala:
Kodwa into elula kakhulu ngomkhiqizo omusha ikhefu elilingana nosayizi we-smartphone (bona i-KDPV). Ivula lapho umsamo ubuyiselwa emuva. Kube yinkinga ukubamba i-smartphone lapho, kodwa udinga ngandlela thize ukusebenzisa indawo engenalutho, ngaphakathi kwayo okukhona ngisho nokuphuma kwamandla.
Into yokuqala umlobi aqhamuke nayo kwakuwukubeka iRaspberry Pi lapho, kodwa lapho kuthengwa isibonisi, kwavela ukuthi isitendi esimboze igumbi asizange singene “nokusajingijolo.” Manje, ukube ibhodi belizaca ngo-3 mm kuphela...
Kodwa omunye engisebenza naye wangitshela ngokukhululwa kwe-Raspberry Pi Zero, okwavela ukuthi yayincane kangangokuthi ezimbili zazo zingangena ekamelweni ... noma mhlawumbe ezintathu. Ya-odwa ngokushesha kanye nememori khadi engu-64 GB, i-Bluetooth, “inlozi” kanye nekhebula le-Micro USB. Ezinsukwini ezimbalwa kamuva konke lokhu kwafika, futhi abangani ababonayo basiza umbhali ukulungisa imephu. Konke kwasebenza ngokushesha njengoba bekufanele.
Kwenziwani lokhu
Ngemuva kwe-Handy Tech Active Star 40 kunezimbobo ezimbili ze-USB zamadivayisi afana namakhibhodi. Ikhibhodi yosayizi omncane ene-magnetic mount ifakiwe. Uma ikhibhodi ixhunyiwe, futhi isibonisi ngokwaso sisebenza nge-Bluetooth, ikhompuyutha ibuye ibone njengekhibhodi ye-Bluetooth.
Ngakho-ke, uma uxhuma i-Bluetooth “whistle” ku-Raspberry Pi Zero ebekwe endaweni ye-smartphone, izokwazi ukuxhumana nesibonisi se-braille nge-Bluetooth isebenzisa.
Kodwa akugcini lapho. I-“raspberry” ngokwayo, nayo, ingafinyelela i-inthanethi nge-Bluetooth PAN kunoma iyiphi idivayisi eyisekelayo. Umbhali ulungiselele i-smartphone yakhe namakhompyutha ekhaya nasemsebenzini ngokufanele, kodwa esikhathini esizayo uhlela ukujwayela lokhu "okusajingijolo" - okwakudala, hhayi i-Zero, exhunywe ku-Ethernet nenye "ikhwelo" ye-Bluetooth.
I-BlueZ 5 ne-PAN
Indlela yokumisa ye-PAN usebenzisa
Ingasetshenziselwa ukumisa kokubili iseva kanye neklayenti. Njengoba ithole umyalo ofanele nge-D-Bus lapho isebenza kumodi yeklayenti, idala idivayisi yenethiwekhi entsha i-bnep0 ngokushesha ngemva kokusungula uxhumano neseva. Ngokuvamile, i-DHCP isetshenziselwa ukunikeza ikheli le-IP kulesi sikhombimsebenzisi. Kumodi yeseva, i-BlueZ idinga igama ledivayisi yebhuloho engangeza kuyo idivayisi yesigqila ukuze ixhume iklayenti ngalinye. Ukulungiselela ikheli ledivayisi yebhuloho nokusebenzisa iseva ye-DHCP kanye nokwenza sengathi i-IP ebhulohweni ngokuvamile yikho kuphela okudingekayo.
I-Bluetooth PAN Access Point ene-Systemd
Ukuze ulungiselele ibhuloho, umbhali usebenzise i-systemd-networkd:
Ifayela /etc/systemd/network/pan.netdev
[NetDev]
Name=pan
Kind=bridge
ForwardDelaySec=0
Ifayela /etc/systemd/network/pan.network
[Match]
Name=pan
[Network]
Address=0.0.0.0/24
DHCPServer=yes
IPMasquerade=yes
Manje sidinga ukuphoqa iBlueZ ukuthi ilungiselele iphrofayili ye-NAP. Kwavela ukuthi lokhu akunakwenziwa ngezinsiza ezijwayelekile ze-BlueZ 5.36. Uma umbhali enephutha, mlungise: mlang (angakwazi ukuhambisa izindlebe zakhe) blind (kwesinye isikhathi ukufinyelela kanye ne-quantum) guru
Kodwa wathola
Ukuze kube lula, umbhali usebenzise isevisi ye-Systemd ukuze aqalise iskripthi futhi ahlole ukuthi ukuncika kuyaxazululwa yini.
Ifayela /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
Ifayela /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
Ifayela lesibili belingeke lidingeke uma i-Debian ine-IPMasquerade= ukwesekwa (bona ngezansi).
Ngemva kokwenza imiyalo i-systemctl daemon-yokulayisha kabusha и i-systemctl iqalisa kabusha i-systemd-networkd ungaqala i-Bluetooth PAN ngomyalo i-systemctl iqalisa i-pan
Iklayenti le-Bluetooth PAN lisebenzisa i-Systemd
Uhlangothi lweklayenti kulula futhi ukululungiselela usebenzisa i-Systemd.
Ifayela /etc/systemd/network/pan-client.network
[Match]
Name=bnep*
[Network]
DHCP=yes
Ifayela /etc/systemd/system/[i-imeyili ivikelwe]
[Unit]
Description=Bluetooth Personal Area Network client
[Service]
Type=notify
ExecStart=/usr/local/sbin/bt-pan --debug --systemd client %I --wait
Manje, ngemva kokulayisha kabusha ukucushwa, ungakwazi ukuxhuma endaweni ecacisiwe yokufinyelela ye-Bluetooth kanje:
systemctl start pan@00:11:22:33:44:55
Ukumatanisa kusetshenziswa umugqa womyalo
Kunjalo, ukucushwa kweseva namakhasimende kumele kwenziwe ngemuva kokumatanisa nge-Bluetooth. Kuseva udinga ukusebenzisa ibluetoothctl futhi uyinikeze imiyalo:
power on
agent on
default-agent
scan on
scan off
pair XX:XX:XX:XX:XX:XX
trust XX:XX:XX:XX:XX:XX
Ngemva kokuqala ukuskena, linda imizuzwana embalwa kuze kuvele idivayisi oyidingayo ohlwini. Bhala phansi ikheli layo futhi ulisebenzise ngokukhipha umyalo wokubhanqa futhi, uma kunesidingo, umyalo wokuthembela.
Ngasohlangothini lweklayenti, udinga ukwenza okufanayo, kepha umyalo wokuthembela awudingeki. Iseva iyayidinga ukuze yamukele uxhumano isebenzisa iphrofayela ye-NAP ngaphandle kokuqinisekiswa ngesandla ngumsebenzisi.
Umbhali akanaso isiqiniseko sokuthi lokhu ukulandelana kwemiyalelo efanele. Mhlawumbe okudingekayo nje ukubhanqa iklayenti neseva bese usebenzisa umyalo wokuthembela kuseva, kodwa akakakuzami lokhu okwamanje.
Inika amandla iphrofayela ye-Bluetooth ye-HID
Kudingeka ukuthi i-Raspberry ibone ikhibhodi exhunywe kusibonisi se-Braille ngentambo, futhi ihanjiswe yisibonisi ngokwaso nge-Bluetooth. Lokhu kwenziwa ngendlela efanayo, esikhundleni salokho kuphela i-ejenti ivuliwe kudingeka anikeze umyalo i-ejenti KeyboardKuphela futhi i-bluetoothctl izothola idivayisi enephrofayela ye-HID.
Kodwa ukusetha i-Bluetooth ngomugqa womyalo kuyinkimbinkimbi
Yize umbhali ekwazile ukumisa yonke into, uyaqonda ukuthi ukulungisa iBlueZ ngomugqa womyalo akulula. Ekuqaleni wayecabanga ukuthi ama-ejenti ayedingeka kuphela ukufaka amakhodi e-PIN, kodwa kwavela, isibonelo, ukuthi ukuze unike amandla iphrofayela ye-HID udinga ukuthayipha "i-ejenti KeyboardOnly". Kuyamangaza ukuthi ukuze uqalise i-Bluetooth PAN udinga ukugibela amakhosombe ukuze ufune umbhalo odingekayo. Uyakhumbula ukuthi kunguqulo yangaphambilini ye-BlueZ kwakukhona ithuluzi elenziwe ngomumo lalokhu iphenti - wenzani eBlueZ 5? Kungazelelwe kwavela isisombululo esisha, esingaziwa umbhali, kodwa silele phezulu?
Ukukhiqiza
Isivinini sokudlulisa idatha sasicishe sibe ngu-120 kbit/s, okwanele impela. Iphrosesa ye-1GHz ARM ishesha kakhulu kusixhumanisi somugqa womyalo. Umbhali usahlela ukusebenzisa ikakhulukazi i-ssh nama-emacs kudivayisi.
Amafonti ekhonsoli nokulungiswa kwesikrini
Ukulungiswa kwesikrini okuzenzakalelayo okusetshenziswe i-framebuffer ku-Raspberry Pi Zero kuyaxaka impela: i-fbset ibika njengamaphikseli angu-656x416 (ayikho imonitha exhunyiwe, kunjalo). Ngefonti ye-console engu-8×16, bekunezinhlamvu ezingama-82 emugqeni ngamunye nemigqa engama-26.
Akulungile ukusebenza ngesibonisi se-Braille enezinhlamvu ezingu-40 kule modi. Umbhali angathanda futhi ukubona izinhlamvu ze-Unicode ziboniswa nge-braille. Ngenhlanhla, i-Linux isekela izinhlamvu ezingu-512, futhi amafonti amaningi e-console anama-256. Ngokusebenzisa i-console-setup, ungasebenzisa amafonti amabili anezinhlamvu ezingu-256 ndawonye. Umbhali wengeze imigqa elandelayo kufayela /etc/default/console-setup:
SCREEN_WIDTH=80
SCREEN_HEIGHT=25
FONT="Lat15-Terminus16.psf.gz brl-16x8.psf"
Qaphela: ukuze wenze ifonti ye-brl-16×8.psf itholakale, udinga ukufaka i-console-braille.
Yini okulandelayo?
Isibonisi se-Braille sinejekhi engu-3,5 mm, kodwa umbhali akawazi ama-adaptha okuthola isignali yomsindo evela ku-Mini-HDMI. Umbhali akakwazanga ukusebenzisa ikhadi lomsindo elakhiwe ku-Raspberry (okumangalisayo, umhumushi wayeqinisekile ukuthi i-Zero ayinayo, kodwa kunezindlela zokukhipha umsindo usebenzisa i-PWM ku-GPIO). Uhlela ukusebenzisa ihabhu le-USB-OTG futhi axhume ikhadi langaphandle nomsindo ophumayo kusipika esakhelwe kusibonisi se-braille. Ngesizathu esithile, amakhadi amabili angaphandle awazange asebenze; manje ufuna idivayisi efanayo ku-chipset ehlukile.
Futhi akulula ukuvala "raspberry" mathupha, ulinde imizuzwana embalwa bese uvala isibonisi se-braille. Futhi konke ngoba uma icishiwe, isusa amandla kusixhumi esisegumbini. Umbhali uhlela ukubeka ibhethri elincane le-buffer ekamelweni futhi, nge-GPIO, yazisa i-Raspberry mayelana nokuvala isibonisi, ukuze iqale ukuvala umsebenzi wayo. Lena i-UPS encane.
Isithombe sesistimu
Uma unesibonisi se-Braille esifanayo futhi ungathanda ukwenza okufanayo ngaso, umbhali ulungele ukunikeza isithombe esenziwe ngomumo sesistimu (ngokusekelwe ku-Raspbian Stretch). Mbhalele ngalokhu ekhelini eliboniswe ngenhla. Uma kunabantu abanentshisekelo abanentshisekelo, kungenzeka ukukhulula amakhithi afaka konke okudingekayo ekuguqulweni okunjalo.
Ukubonga
Siyabonga ku-Dave Mielke ngokulungisa iphutha.
Siyabonga kuSimon Kainz ngemifanekiso yezithombe.
Ngibonga ozakwethu e-Graz Technical University ngokwethula ngokushesha umbhali emhlabeni we-Raspberry Pi.
PS
Source: www.habr.com