I-Raspberry Pi Zero ngaphakathi kwesibonisi se-Handy Tech Active Star 40 braille

I-Raspberry Pi Zero ngaphakathi kwesibonisi se-Handy Tech Active Star 40 braille

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.

I-Raspberry Pi Zero ngaphakathi kwesibonisi se-Handy Tech Active Star 40 braille

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.

I-Raspberry Pi Zero ngaphakathi kwesibonisi se-Handy Tech Active Star 40 braille

Futhi ukuma okuhoxiswayo kuhlala:

I-Raspberry Pi Zero ngaphakathi kwesibonisi se-Handy Tech Active Star 40 braille

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. I-BRLTTY, futhi uma futhi uxhuma ikhibhodi kusibonisi, "i-raspberry" izosebenza nayo futhi.

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 I-BlueZ kuvele kungabonakali. Umbhali uthole umbhalo we-bt-pan Python (bona ngezansi), okuvumela ukuthi ulungiselele i-PAN ngaphandle kwe-GUI.

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 okuthunyelwe kwebhulogi и Isikripthi sePython ukwenza izingcingo ezidingekayo ku-D-Bus.

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). #787480).

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 I-tweet yokuqala umbhali ngalesi sihloko (akavuli - umhumushi) senziwa ezinsukwini ezinhlanu ngaphambi kokushicilelwa kwasekuqaleni kwalesi sihloko, futhi kungacatshangwa ukuthi, ngaphandle kwezinkinga ezinomsindo, umsebenzi wawuxazululiwe. Kodwa-ke, umbhali uhlele inguqulo yokugcina yombhalo "esibonisini se-Braille esizimele" awenzile, esixhuma nge-SSH kukhompyutha yakhe yasekhaya.

Source: www.habr.com

Engeza amazwana