
Mwandishi aliweka Raspberry Pi Zero, kifaa cha Bluetooth, na kebo ndani ya onyesho lake jipya la Braille la Handy Tech Active Star 40. Lango la USB lililojengewa ndani hutoa nguvu. Matokeo yake ni kompyuta inayojitegemea, isiyo na kichwa, inayotegemea ARM yenye mfumo endeshi. Linux, ikiwa na kibodi na onyesho la Braille. Inaweza kuchajiwa/kuendeshwa kupitia USB, ikiwa ni pamoja na kutoka kwa benki ya umeme au chaja ya jua. Kwa hivyo, inaweza kufanya kazi bila umeme kwa si kwa saa chache tu, bali kwa siku kadhaa.

Utofautishaji wa dimensional wa maonyesho ya breli
Kwanza kabisa, hutofautiana kwa urefu wa mstari. Vifaa vilivyo na uwezo wa 60 au zaidi ni nzuri kwa kufanya kazi na kompyuta ya mezani, wakati vifaa vyenye uwezo wa 40 ni rahisi kubeba na kompyuta ndogo. Sasa kuna maonyesho ya nukta nundu yaliyounganishwa kwa simu mahiri na kompyuta kibao, yenye urefu wa laini ya herufi 14 au 18.
Hapo awali, maonyesho ya breli yalikuwa makubwa sana. Laptop yenye viti 40, kwa mfano, ilikuwa na ukubwa na uzito wa kompyuta ya mkononi ya inchi 13. Sasa, pamoja na idadi sawa ya marafiki, wao ni miniature ya kutosha ili uweze kuweka onyesho mbele ya kompyuta ndogo, badala ya kompyuta ndogo kwenye onyesho.
Hii, kwa kweli, ni bora, lakini bado sio rahisi sana kushikilia vifaa viwili tofauti kwenye paja lako. Unapofanya kazi kwenye dawati, hakuna malalamiko, lakini inafaa kukumbuka kuwa kompyuta ndogo inaitwa laptop kwa jina lingine, na kujaribu kuhalalisha jina lake, kwani inageuka kuwa onyesho la wahusika 40 sio rahisi sana.
Kwa hivyo mwandishi alisubiri mtindo mpya ulioahidiwa kwa muda mrefu katika safu ya Handy Tech Star kutolewa. Nyuma mwaka wa 2002, mtindo wa awali wa Handy Tech Braille Star 40 ulitolewa, ambapo eneo la mwili linatosha kuweka laptop juu. Na ikiwa haifai, kuna msimamo unaoweza kurudishwa. Sasa mtindo huu umebadilishwa na Active Star 40, ambayo ni karibu sawa, lakini kwa umeme ulioboreshwa.

Na msimamo unaoweza kurudishwa unabaki:

Lakini jambo linalofaa zaidi kuhusu bidhaa mpya ni mapumziko takriban saizi ya simu mahiri (tazama KDPV). Hufunguka wakati jukwaa linaporejeshwa nyuma. Ilibadilika kuwa haifai kushikilia simu mahiri hapo, lakini unahitaji kwa njia fulani kutumia chumba tupu, ambacho ndani yake kuna sehemu ya umeme.
Jambo la kwanza ambalo mwandishi alikuja nalo ni kuweka Raspberry Pi hapo, lakini onyesho liliponunuliwa, ikawa kwamba sehemu ya kufunika chumba haikuingia ndani na "raspberry." Sasa, ikiwa ubao ungekuwa mwembamba wa mm 3 tu...
Lakini mwenzangu aliniambia juu ya kutolewa kwa Raspberry Pi Zero, ambayo iligeuka kuwa ndogo sana kwamba wawili kati yao wanaweza kutoshea kwenye compartment ... au labda hata tatu. Iliagizwa mara moja pamoja na kadi ya kumbukumbu ya 64 GB, Bluetooth, "filimbi" na kebo ya Micro USB. Siku chache baadaye haya yote yalifika, na marafiki walioona walimsaidia mwandishi kuandaa ramani. Kila kitu kilifanya kazi mara moja kama inavyopaswa.
Nini kilifanyika kwa hili
Nyuma ya Handy Tech Active Star 40 kuna bandari mbili za USB za vifaa kama vile kibodi. Kibodi ya ukubwa mdogo na mlima wa sumaku imejumuishwa. Wakati kibodi imeunganishwa, na onyesho lenyewe hufanya kazi kupitia Bluetooth, kompyuta pia inaitambua kama kibodi ya Bluetooth.
Kwa hivyo, ukiunganisha "filimbi" ya Bluetooth kwenye Raspberry Pi Zero iliyowekwa kwenye sehemu ya simu mahiri, itaweza kuwasiliana na onyesho la breli kupitia Bluetooth kwa kutumia. , na ikiwa pia unganisha kibodi kwenye maonyesho, "raspberry" itafanya kazi nayo pia.
Lakini sio hivyo tu. "Raspberry" yenyewe, kwa upande wake, inaweza kufikia Mtandao kupitia Bluetooth PAN kutoka kwa kifaa chochote kinachoiunga mkono. Mwandishi amesanidi simu yake mahiri na kompyuta nyumbani na kazini ipasavyo, lakini katika siku zijazo ana mpango wa kurekebisha "raspberry" nyingine kwa hii - ya zamani, sio Zero, iliyounganishwa na Ethernet na "filimbi" nyingine ya Bluetooth.
BlueZ 5 na PAN
Njia ya usanidi ya PAN kwa kutumia iligeuka kuwa haijulikani. Mwandishi alipata maandishi ya bt-pan Python (tazama hapa chini), ambayo hukuruhusu kusanidi PAN bila GUI.
Inaweza kutumika kusanidi seva na mteja. Baada ya kupokea amri inayofaa kupitia D-Bus wakati wa kufanya kazi katika hali ya mteja, inaunda kifaa kipya cha mtandao bnep0 mara baada ya kuanzisha muunganisho na seva. Kwa kawaida, DHCP hutumiwa kugawa anwani ya IP kwa kiolesura hiki. Katika hali ya seva, BlueZ inahitaji jina la kifaa cha daraja ambapo inaweza kuongeza kifaa cha mtumwa ili kuunganisha kila mteja. Kusanidi anwani ya kifaa cha daraja na kuendesha seva ya DHCP pamoja na IP kujifanya kwenye daraja ni kawaida tu kinachohitajika.
Bluetooth PAN Access Point na Systemd
Ili kusanidi daraja, mwandishi alitumia systemd-networkd:
Faili /etc/systemd/network/pan.netdev
[NetDev]
Name=pan
Kind=bridge
ForwardDelaySec=0Faili /etc/systemd/network/pan.network
[Match]
Name=pan
[Network]
Address=0.0.0.0/24
DHCPServer=yes
IPMasquerade=yesSasa tunahitaji kulazimisha BlueZ kusanidi wasifu wa NAP. Ilibadilika kuwa hii haiwezi kufanywa na huduma za kawaida za BlueZ 5.36. Ikiwa mwandishi amekosea, mrekebishe: mlang (anaweza kusogeza masikio) kipofu (wakati mwingine ufikiaji na quantum) guru.
Lakini alipata и kupiga simu zinazohitajika kwa D-Bus.
Kwa urahisi, mwandishi alitumia huduma ya Systemd kuendesha hati na kuangalia ikiwa utegemezi umetatuliwa.
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.targetFaili /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 panFaili ya pili haingehitajika ikiwa Debian Kulikuwa na usaidizi wa IPMasquerade= (tazama ).
Baada ya kutekeleza amri mfumo wa daemon-reload и systemctl anzisha upya systemd-networkd unaweza kuanza Bluetooth PAN kwa amri systemctl sufuria ya kuanza
Kiteja cha Bluetooth PAN kwa kutumia Systemd
Upande wa mteja pia ni rahisi kusanidi kwa kutumia Systemd.
Faili /etc/systemd/network/pan-client.network
[Match]
Name=bnep*
[Network]
DHCP=yesFaili /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 --waitSasa, baada ya kupakia upya usanidi, unaweza kuunganisha kwenye sehemu maalum ya kufikia Bluetooth kama hii:
systemctl start pan@00:11:22:33:44:55Kuoanisha kwa kutumia mstari wa amri
Bila shaka, usanidi wa seva na wateja lazima ufanyike baada ya kuwaunganisha kupitia Bluetooth. Kwenye seva unahitaji kuendesha bluetoothctl na uipe amri:
power on
agent on
default-agent
scan on
scan off
pair XX:XX:XX:XX:XX:XX
trust XX:XX:XX:XX:XX:XXBaada ya kuanza kutambaza, subiri sekunde chache hadi kifaa unachohitaji kionekane kwenye orodha. Andika anwani yake na uitumie kwa kutoa amri ya jozi na, ikiwa ni lazima, amri ya uaminifu.
Kwa upande wa mteja, unahitaji kufanya kitu kimoja, lakini amri ya uaminifu haihitajiki. Seva inaihitaji ili kukubali muunganisho kwa kutumia wasifu wa NAP bila uthibitishaji wa mtumiaji mwenyewe.
Mwandishi hana uhakika kuwa huu ndio mlolongo bora wa amri. Labda kinachohitajika ni kuunganisha mteja na seva na kuendesha amri ya uaminifu kwenye seva, lakini bado hajajaribu hii.
Inawasha HID Wasifu wa Bluetooth
Inahitajika kwamba Raspberry itambue kibodi iliyounganishwa kwenye onyesho la Braille kwa waya, na kutumwa na onyesho lenyewe kupitia Bluetooth. Hii inafanywa kwa njia ile ile, badala yake wakala juu haja ya kutoa amri wakala Kibodi Pekee na bluetoothctl itapata kifaa kilicho na wasifu wa HID.
Lakini kuanzisha Bluetooth kupitia mstari wa amri ni ngumu kidogo
Ingawa mwandishi aliweza kusanidi kila kitu, anaelewa kuwa kusanidi BlueZ kupitia safu ya amri sio rahisi. Mara ya kwanza alifikiri kwamba mawakala walihitajika tu kuingiza nambari za PIN, lakini ikawa, kwa mfano, ili kuwezesha wasifu wa HID unahitaji kuandika "kibodi pekee ya wakala". Inashangaza kwamba ili kuzindua Bluetooth PAN unahitaji kupanda kupitia hazina ili kutafuta hati inayohitajika. Anakumbuka kuwa katika toleo la awali la BlueZ kulikuwa na chombo kilichopangwa tayari kwa hili pandisha - anafanya wapi katika BlueZ 5? Ghafla ufumbuzi mpya ulionekana, haijulikani kwa mwandishi, lakini amelala juu ya uso?
Uzalishaji
Kasi ya uhamisho wa data ilikuwa takriban 120 kbit / s, ambayo ni ya kutosha kabisa. Kichakataji cha 1GHz ARM ni haraka sana kwa kiolesura cha mstari wa amri. Mwandishi bado ana mpango wa kutumia ssh na emacs kwenye kifaa.
Fonti za Console na azimio la skrini
Azimio chaguo-msingi la skrini linalotumiwa na kiboreshaji fremu kwenye Raspberry Pi Zero ni la kushangaza sana: fbset inaripoti kama pikseli 656x416 (hakuna kifuatiliaji kilichounganishwa, bila shaka). Kwa font ya console ya 8x16, kulikuwa na wahusika 82 kwa kila mstari na mistari 26.
Kufanya kazi na onyesho la Braille lenye herufi 40 katika hali hii ni jambo gumu. Mwandishi pia angependa kuona herufi za Unicode zikionyeshwa katika Braille. Kwa bahati nzuri, Linux inasaidia herufi 512, huku fonti nyingi za koni zikisaidia 256. Kwa kutumia usanidi wa koni, unaweza kutumia fonti mbili zenye herufi 256 pamoja. Mwandishi aliongeza mistari ifuatayo kwenye faili ya /etc/default/console-setup:
SCREEN_WIDTH=80
SCREEN_HEIGHT=25
FONT="Lat15-Terminus16.psf.gz brl-16x8.psf"Kumbuka: ili kufanya fonti ya brl-16×8.psf ipatikane, unahitaji kusakinisha console-braille.
Nini hapo?
Onyesho la Braille lina jeki ya mm 3,5, lakini mwandishi hafahamu adapta za kupokea mawimbi ya sauti kutoka Mini-HDMI. Mwandishi hakuweza kutumia kadi ya sauti iliyojengwa kwenye Raspberry (kwa ajabu, mtafsiri alikuwa na hakika kwamba Zero hakuwa na moja, lakini kuna njia za pato sauti kwa kutumia PWM kwa GPIO). Anapanga kutumia kitovu cha USB-OTG na kuunganisha kadi ya nje na sauti ya kutoa kwa spika iliyojengwa kwenye onyesho la breli. Kwa sababu fulani, kadi mbili za nje hazikufanya kazi; sasa anatafuta kifaa sawa kwenye chipset tofauti.
Pia si rahisi kuzima "raspberry", subiri sekunde chache na kuzima onyesho la breli. Na yote kwa sababu inapozimwa, huondoa nguvu kutoka kwa kontakt kwenye compartment. Mwandishi ana mpango wa kuweka betri ndogo ya buffer kwenye compartment na, kupitia GPIO, ujulishe Raspberry kuhusu kuonyesha kuzima, ili iweze kuanza kuzima kazi yake. Hii ni UPS katika miniature.
Picha ya mfumo
Ikiwa una onyesho sawa la Braille na ungependa kufanya vivyo hivyo nalo, mwandishi yuko tayari kutoa picha iliyotengenezwa tayari ya mfumo (kulingana na Raspbian Stretch). Mwandikie kuhusu hili kwenye anwani iliyoonyeshwa hapo juu. Ikiwa kuna watu wa kutosha wanaovutiwa, inawezekana hata kutolewa vifaa ambavyo vinajumuisha kila kitu muhimu kwa marekebisho kama haya.
Shukrani
Asante kwa Dave Mielke kwa kusahihisha.
Asante kwa Simon Kainz kwa vielelezo vya picha.
Asante kwa wenzangu katika Chuo Kikuu cha Ufundi cha Graz kwa kumtambulisha mwandishi kwa ulimwengu wa Raspberry Pi.
PS mwandishi juu ya mada hii (haifungui - mtafsiri) ilifanywa siku tano tu kabla ya kuchapishwa kwa asili ya makala hii, na inaweza kuchukuliwa kuwa, isipokuwa matatizo na sauti, kazi hiyo ilitatuliwa kivitendo. Kwa njia, mwandishi alihariri toleo la mwisho la maandishi kutoka kwa "onyesho la kujitegemea la Braille" alilofanya, akiunganisha kupitia SSH kwenye kompyuta yake ya nyumbani.
Chanzo: mapenzi.com
