Raspberry Pi Zero brenda ekranit Braille Handy Tech Active Star 40

Raspberry Pi Zero brenda ekranit Braille Handy Tech Active Star 40

Autori vendosi Raspberry Pi Zero, një Bluetooth «adapter» dhe një kabllo brenda ekranit të tij të ri Braille Handy Tech Active Star 40. Porta USB e integruar siguron energji. Rezultoi një kompjuter i pavarur pa monitor, i bazuar në ARM, me sistemin operativ Linux, i pajisur me tastierë dhe ekran Braille. Mund ta karikoni/përdorni atë përmes USB-së, përfshirë nga një bankë energjie ose një karikues diellor. Ndaj, ai mund të funksionojë pa energji elektrike jo për disa orë, por për disa ditë.

Raspberry Pi Zero brenda ekranit Braille Handy Tech Active Star 40

Diferencimi i madhësisë së ekranit Braille

Së pari, ata ndryshojnë në gjatësi të rreshtit. Pajisjet me 60 ose më shumë karaktere janë të mira për të punuar me një kompjuter desktop; ato me 40 janë të përshtatshme për t'u transportuar së bashku me një laptop. Tani ekzistojnë edhe ekrane Braille që lidhen me smartphone dhe tableta, me gjatësi rreshti prej 14 ose 18 karakteresh.

Në të kaluarën, ekranet Braille ishin mjaft voluminoze. Ekrani me 40 karaktere, për shembull, kishte përmasat dhe peshën si një laptop 13-inç. Tani, ata, me të njëjtin numër karakteresh, janë mjaft kompaktë për t'u vendosur përpara laptopit, e jo laptopin mbi ekran.

Kjo, sigurisht, është më mirë, por ende nuk është shumë e përshtatshme të mbash dy pajisje të veçanta në prehër. Kur punon në një tavolinë, s'ka ankesash, por duhet të kujtojmë se laptopi quhet gjithashtu laptos, dhe të përpiqemi të justifikojmë emrin e tij, është e qartë se ekrani miniatur i 40 karaktereve është edhe më pak i përshtatshëm.

Pra, autori priti daljen e modelit tĂ« ri qĂ« ishte premtuar qĂ« prej kohĂ«sh nĂ« serinĂ« Handy Tech Star. QĂ« nĂ« vitin 2002 ishte lĂ«shuar modeli i mĂ«parshĂ«m Handy Tech Braille Star 40, ku sipĂ«rfaqja e kasĂ«s ishte mjaft pĂ«r tĂ« vendosur laptopin. Dhe nĂ«se ai nuk pĂ«rputhet — ka njĂ« bazĂ« tĂ« tĂ«rheqshme. Tani ky model Ă«shtĂ« zĂ«vendĂ«suar me Active Star 40, qĂ« Ă«shtĂ« pothuajse e njĂ«jtĂ«, por me elektronikĂ« tĂ« pĂ«rmirĂ«suar.

Raspberry Pi Zero brenda ekranit Braille Handy Tech Active Star 40

Dhe baza e tërheqshme mbeti:

Raspberry Pi Zero brenda ekranit Braille Handy Tech Active Star 40

Por më e përshtatshme në këtë novitet është thellësia me përmasa përafërsisht sa një smartphone (shih KDPV). Ajo hapet duke tërhequr platformën prapa. Të mbash aty një smartphone rezultoi të jetë e pakëndshme, por duhet të shfrytëzohet ndonjë mënyrë hapësira e zbrazët, brenda së cilës madje është parashikuar një dalje energjie.

E para qĂ« erdhi nĂ« mendje autorit — ishte tĂ« vendosĂ« atje Raspberry Pi, por kur u ble ekrani, doli se me "malinen" nuk mund tĂ« tĂ«rhiqej baza qĂ« mbulonte hapĂ«sirĂ«n. Po tĂ« ishte karta vetĂ«m 3 mm mĂ« e hollĂ«...

Por një koleg i bëri me dije daljen e Raspberry Pi Zero, që ishte aq miniaturor saqë aty mund të shkonte dy... ose ndoshta edhe tre. Ai u porosit menjëherë së bashku me një kartë memorjeje 64 GB, Bluetooth, «adapter» dhe kabllo Micro USB. Pas disa ditësh, gjithçka erdhi, dhe miqtë e shikueshëm ndihmuan autorin të përgatiste kartën. Gjithçka filloi të funksiononte siç duhej.

ÇfarĂ« u bĂ« pĂ«r kĂ«tĂ«

Në pjesën e prapme të Handy Tech Active Star 40 janë dy porte USB për pajisje si tastierat. Një tastierë kompakte me mbajtëse magnetike është në përfshirje. Kur tastiera është e lidhur, ndërsa vetë ekrani funskionon përmes Bluetooth, kompjuteri identifikon atë edhe si një tastierë Bluetooth.

KĂ«shtu, nĂ«se Raspberry Pi Zero, i vendosur nĂ« hapĂ«sirĂ«n pĂ«r smartphone, lidhet me njĂ« «adapter» Bluetooth, ai do tĂ« mund tĂ« shkĂ«mbejĂ« tĂ« dhĂ«na me ekranin Braille pĂ«rmes Bluetooth duke ndihmuar BRLTTY, dhe nĂ«se lidhet gjithashtu njĂ« tastierĂ« me ekranin — «malinka» do tĂ« funksionojĂ« edhe me tĂ«.

Por kjo nuk Ă«shtĂ« e gjitha. VetĂ« «malinka», nga ana e saj, mund tĂ« qaset nĂ« internet pĂ«rmes Bluetooth PAN nga çdo pajisje qĂ« e mbĂ«shtet atĂ«. Autori e ka konfiguruar siç duhet telefonin e tij dhe kompjuterĂ«t nĂ« shtĂ«pi dhe nĂ« punĂ«, por nĂ« tĂ« ardhmen planifikon tĂ« pĂ«rshtasĂ« njĂ« «malinka» tjetĂ«r — klasike, jo Zero, e lidhur me Ethernet dhe njĂ« tjetĂ«r «adapter» Bluetooth.

BlueZ 5 dhe PAN

Mënyra e konfigurimit të PAN me BlueZ duke rezultuar e paqartë. Autori gjeti një skript Python bt-pan (shih më poshtë), që lejon të konfigurohet PAN pa GUI.

Me tĂ«, mund tĂ« konfigurohet si server ashtu edhe klient. Duke marrĂ« komandĂ«n pĂ«rkatĂ«se pĂ«rmes D-Bus nĂ« mĂ«nyrĂ« klienti, ai krijon njĂ« pajisje tĂ« re rrjeti bnep0 menjĂ«herĂ« pas vendosjes sĂ« lidhjes me serverin. Zakonisht pĂ«r caktimin e IP-sĂ« pĂ«r kĂ«tĂ« ndĂ«rfaqĂ« pĂ«rdoret DHCP. NĂ« mĂ«nyrĂ«n server BlueZ kĂ«rkon qĂ« tĂ« pĂ«rcaktohet emri i pajisjes sĂ« urĂ«s, tĂ« cilit ai mund t'i shtojĂ« pajisjen e lidhur pĂ«r t'i lidhur çdo klient. TĂ« konfigurosh njĂ« adresĂ« pĂ«r pajisjen e urĂ«s dhe tĂ« fillosh njĂ« server DHCP plus IP-masquerading nĂ« urĂ« — zakonisht Ă«shtĂ« gjithçka qĂ« kĂ«rkohet.

Pika e qasjes Bluetooth PAN me Systemd

Për konfigurimin e urës, autori përdori systemd-networkd:

Skedari /etc/systemd/network/pan.netdev

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

File /etc/systemd/network/pan.network

[Match]
Name=pan

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

Tani duhet së pari të detyrojmë BlueZ të konfigurojë profilin NAP. Doli që me mjetet standarde të BlueZ 5.36 kjo nuk është e mundur. Nëse autori gabon, korrigjoni atë: mlang (di të lëvizë veshët) blind (mund të ketë qasje dhe kuante) guru

Por ai e gjeti mesazhin në blog dhe skriptin në Python për të bërë thirrjet e nevojshme në D-Bus.

Për lehtësi, autori përdori shërbimin Systemd për të nisur skriptin dhe për të verifikuar lejet e varësive.

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

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

File i dytë nuk do të ishte nevojshëm nëse Debian do të kishte mbështetje për IPMasquerade= (shih. #787480).

Pas ekzekutimit të komandave systemctl daemon-reload dhe systemctl restart systemd-networkd mund të nisni Bluetooth PAN me komandën systemctl start pan

Klienti Bluetooth PAN duke përdorur Systemd

E konfiguruar gjithashtu, pjesa e klientit nuk është shumë e komplikuar me Systemd.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

File /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 --wait

Tani pas rinisjes së konfigurimeve, mund të lidheni me pikën e dhënë Bluetooth kështu:

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

Pajisja për çiftimin përmes komandës

Natyrisht, konfigurimi i serverit dhe klientëve duhet të bëhet pas çiftimit të tyre nëpërmjet Bluetooth. Në server, duhet të nisni bluetoothctl dhe t'i jepni atij komandat:

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

Pas fillimit tĂ« skanimit, prisni disa sekonda derisa tĂ« shfaqet pajisja qĂ« kĂ«rkoni nĂ« listĂ«. Shkruani adresĂ«n e saj dhe pĂ«rdorini atĂ« duke e dhĂ«nĂ« komandĂ«n pair, dhe nĂ«se Ă«shtĂ« e nevojshme — komandĂ«n trust.

Nga ana e klientit duhen bërë të njëjtat hapa, por komanda trust nuk do të jetë e nevojshme. Serviri e kërkon atë për të pranuar lidhjen përmes profilit NAP pa konfirmim manual nga përdoruesi.

Autori nuk është i sigurt se kjo është sekuenca optimale e komandave. Ndoshta, e vetmja gjë që është e nevojshme është çiftimi i klientit me serverin dhe ekzekutimi i komandës trust në server, por akoma nuk e ka provuar këtë.

Lehtësimi i përdorimit të profilit Bluetooth HID

Kërkohet që "malinka" të njohë tastierën e lidhur me ekranin Braille nëpërmjet kabllit, dhe e kalur tashmë nga vetë ekrani nëpërmjet Bluetooth. Kjo bëhet njësoj, vetëm në vend të agent on duhet të jepni komandën agent KeyboardOnly dhe bluetoothctl do të gjejë pajisjen me profilin HID.

Por, konfigurimi i Bluetooth-it përmes komandës është disi i vështirë.

MegjithatĂ«, edhe pse autori arriti ta konfigurojĂ« gjithçka, ai kupton se konfigurimi i BlueZ pĂ«rmes komandĂ«s Ă«shtĂ« i parehatshĂ«m. Fillimisht mendoi se agjentĂ«t ishin tĂ« nevojshĂ«m vetĂ«m pĂ«r futjen e kodit PIN, por doli se, pĂ«r shembull, pĂ«r tĂ« aktivizuar profilin HID duhet tĂ« shkruhet 'agent KeyboardOnly'. ËshtĂ« befasuese se pĂ«r tĂ« nisur Bluetooth PAN duhet tĂ« kĂ«rkoni nĂ« depo pĂ«r skriptin e nevojshĂ«m. Ai e mban mend se nĂ« versionin e mĂ«parshĂ«m tĂ« BlueZ kishte njĂ« mjet tĂ« gatshĂ«m pĂ«r kĂ«tĂ« pand - ku shkoi ai nĂ« BlueZ 5? A ka ndonjĂ« zgjidhje tĂ« re, tĂ« panjohur pĂ«r autorin, por qĂ« Ă«shtĂ« tepĂ«r e dukshme?

Performanca

Shpejtësia e transmetimit ishte rreth 120 kbps, që është plotësisht e mjaftueshme. Procesori ARM 1 gigaherc duhet të jetë shumë i shpejtë për ndërfaqen e komandës. Autori gjithsesi planifikon të përdorë SSH dhe emacs kryesisht në pajisje.

Fontet e konsolës dhe rezolucioni i ekranit

Rezolucioni i ekranit tĂ« pĂ«rdorur nga framebufferi nĂ« Raspberry Pi Zero pĂ«rshtyp Ă«shtĂ« disi i çuditshĂ«m: fbset raporton se ai Ă«shtĂ« 656×416 piksel (sigurisht, monitori nuk Ă«shtĂ« i lidhur). Me fontin e konsolĂ«s 8×16 u arrit 82 karaktere nĂ« rresht dhe 26 rreshta.

Të punosh me ekranin Braille me 40 vende në një mod të tillë është i paqartë. Gjithashtu, autori do të donte që shenjat Unicode të shfaqeshin në formën Braille. Me fat, Linux mbështet 512 shenja, ndërsa shumica e fontëve të konsolës kanë 256. Me ndihmën e console-setup, mund të përdoren dy fonte me 256 shenja së bashku. Autori shtoi këto rreshta në skedarin /etc/default/console-setup:

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

ShĂ«nim: pĂ«r t'u bĂ«rĂ« e disponueshme fonti brl-16×8.psf, duhet tĂ« instaloni console-braille.

ÇfarĂ« ndodh mĂ« tej?

Në ekranin Braille ka një "jack" 3.5-milimetër, por autori nuk di nëse ka përshtatës për të marrë sinjalin audio nga Mini-HDMI. Autori nuk arriti të aktivizojë kartën e zërit të integruar në "malinka" (çuditërisht, përkthyesi ishte i sigurt se Zero nuk ka një të tillë, por ka mënyra për të nxjerrë zë me PWM në GPIO). Ai planifikon të përdorë një hub USB-OTG dhe të lidhë një kartë të jashtme dhe të nxjerrë zënën në kolonën e integruar në ekranin Braille. Dy karta të jashtme megjithatë nuk funksionuan, tani ai është në kërkim të një pajisjeje të ngjashme në një chipset tjetër.

ËshtĂ« ende e papĂ«rshtatshme tĂ« fikĂ«sh manualisht "malinĂ«n", tĂ« presĂ«sh disa sekonda dhe tĂ« fikĂ«sh ekranin Braille. Kjo ndodh sepse ai ndalon energjinĂ« nga porta nĂ« seksion kur fiket. Autori planifikon tĂ« vendosĂ« njĂ« bateri buffer tĂ« vogĂ«l nĂ« seksion dhe pĂ«rmes GPIO tĂ« njoftojĂ« "malinĂ«n" pĂ«r fikjen e ekranit, nĂ« mĂ«nyrĂ« qĂ« ajo tĂ« fillojĂ« pĂ«rfundimin e punĂ«s. KĂ«shtu, njĂ« UPS nĂ« miniaturĂ«.

Imazhi i sistemit

Nëse keni një ekran Braille të tillë dhe dëshironi të bëni të njëjtën gjë, autori është i gatshëm të ofrojë imazhin e sistemit të gatshëm (në bazë të Raspbian Stretch). Shkruani atij për këtë në adresën e dhënë më lart. Nëse do të ketë mjaft interes, mund të lëshohet edhe një paketë që përfshin gjithçka të nevojshme për një riparim të tillë.

Faleminderit

Faleminderit Dave Mielke për redaktimin e tekstit.

Faleminderit Simon Kainz për ilustrimet fotografike.

Faleminderit kolegëve nga Universiteti Teknik i Grazit për integrimin e shpejtë të autorit në botën e Raspberry Pi.

P.S. Të parin tweet të autorit mbi këtë temë (nuk hapet - përkthyesi) u bë vetëm pesë ditë para publikimit të origjinalit të këtij artikulli, dhe mund të konsiderohet se, përveç problemeve me zërin, detyra e caktuar është pothuajse zgjidhur. Përveç kësaj, varianti përfundimtar i tekstit u redaktua nga autori duke e lidhur "ekranin Braille të vetë-mjaftueshëm", duke e lidhur atë përmes SSH me kompjuterin e tij shtëpiak.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster