Raspberry Pi Zero brenda një ekrani braille Handy Tech Active Star 40

Raspberry Pi Zero brenda një ekrani braille Handy Tech Active Star 40

Vendosa një Raspberry Pi Zero, një bilbil Bluetooth dhe një kabllo brenda ekranit tim të ri braille Handy Tech Active Star 40. Porta e integruar USB siguron energji. Rezultati ishte një kompjuter pa monitor i vetë-mjaftueshëm në ARM me sistemin operativ Linux, i pajisur me një tastierë dhe një ekran Braille. Mund ta karikoni / fuqizoni atë përmes USB, përfshirë. nga një bankë energjie ose karikues diellor. Prandaj, ai mund të bëjë pa rrjet jo për disa orë, por për disa ditë.

Raspberry Pi Zero brenda një ekrani braille Handy Tech Active Star 40

Diferencimi dimensional i ekraneve braille

Para së gjithash, ato ndryshojnë në gjatësinë e rreshtit. Pajisjet me njohje 60 ose më shumë janë të mira kur punoni me një kompjuter desktop, 40 janë të përshtatshëm për t'u mbajtur së bashku me një laptop. Tani ka edhe ekrane braille të lidhura me telefonat inteligjentë dhe tabletët, me gjatësi rreshti 14 ose 18 karaktere.

Në të kaluarën, ekranet braille ishin mjaft masive. Për shembull, 40 karaktere kishte të njëjtat dimensione dhe peshë si një laptop 13 inç. Tani, me të njëjtin numër familjariteti, ato janë mjaftueshëm në miniaturë që të mund ta vendosni ekranin përpara laptopit dhe jo laptopin në ekran.

Kjo është sigurisht më mirë, por ende nuk është shumë e përshtatshme për të mbajtur dy pajisje të veçanta në prehër. Kur punoni në një tavolinë, nuk ka ankesa, por ia vlen të mbani mend se një laptop quhet laptop në një mënyrë tjetër, dhe duke u përpjekur të justifikoni emrin e tij, pasi rezulton se një ekran miniaturë me 40 karaktere është edhe më pak i përshtatshëm.

Kështu që autori priti publikimin e modelit të ri të premtuar prej kohësh në serinë Handy Tech Star. Në vitin 2002, u lëshua modeli i mëparshëm Handy Tech Braille Star 40, ku zona e trupit është e mjaftueshme për të vendosur një laptop në krye. Dhe nëse nuk përshtatet, sigurohet një stendë që tërhiqet. Tani ky model është zëvendësuar nga Active Star 40, i cili është praktikisht i njëjtë, por me elektronikë të përmirësuar.

Raspberry Pi Zero brenda një ekrani braille Handy Tech Active Star 40

Dhe qëndrimi i tërheqshëm mbeti:

Raspberry Pi Zero brenda një ekrani braille Handy Tech Active Star 40

Por gjëja më e përshtatshme në lidhje me risinë është një prerje rreth madhësisë së një smartphone (shih KDPV). Hapet kur platforma zhvendoset prapa. Doli të ishte e papërshtatshme të mbash një smartphone atje, por duhet të përdoret disi ndarjen e zbrazët, brenda së cilës sigurohet edhe një prizë elektrike.

Gjëja e parë me të cilën doli autori ishte vendosja e Raspberry Pi atje, por kur u ble ekrani, doli që stendë që mbyllte ndarjen nuk lëvizte me "mjedër". Tani, nëse bordi do të ishte vetëm 3 mm më i hollë ...

Por një koleg foli për lëshimin e Raspberry Pi Zero, i cili doli të ishte aq i vogël sa dy prej tyre do të futeshin në gji ... ose ndoshta edhe tre. U porosit menjëherë së bashku me një kartë memorie 64 GB, Bluetooth, një bilbil dhe një kabllo Micro USB. Disa ditë më vonë, e gjithë kjo mbërriti dhe miqtë me shikim e ndihmuan autorin të përgatiste hartën. Gjithçka funksionoi menjëherë ashtu siç duhej.

Çfarë u bë për këtë

Në anën e pasme të Handy Tech Active Star 40 janë dy porte USB për pajisje të tilla si tastierat. Tastierë kompakte me shtojcë magnetike të përfshirë. Kur tastiera është e lidhur dhe vetë ekrani funksionon përmes Bluetooth, kompjuteri e njeh gjithashtu atë si një tastierë Bluetooth.

Kështu, nëse një bilbil Bluetooth lidhet me një Raspberry Pi Zero të vendosur në një ndarje smartphone, ai do të jetë në gjendje të komunikojë me një ekran braille përmes Bluetooth duke përdorur BRLTTY, dhe nëse lidhni gjithashtu një tastierë me ekranin, edhe "mjedra" do të punojë me të.

Por kjo nuk është e gjitha. Vetë Raspberry, nga ana tjetër, mund të hyjë në internet përmes Bluetooth PAN nga çdo pajisje që e mbështet atë. Autori ka konfiguruar smartfonin dhe kompjuterët e tij në shtëpi dhe në punë në përputhje me rrethanat, por në të ardhmen ai planifikon të përshtatë një tjetër "mjedër" për këtë - një klasik, jo Zero, të lidhur me Ethernet dhe një "bilbil" tjetër Bluetooth.

BlueZ5 dhe PAN

Metoda e konfigurimit PAN duke përdorur bluz doli të jetë e padukshme. Autori gjeti një skript Pyhton bt-pan (shih më poshtë) që ju lejon të konfiguroni PAN pa një GUI.

Me të, ju mund të konfiguroni si serverin ashtu edhe klientin. Pasi ka marrë komandën e duhur përmes D-Bus ndërsa punon në modalitetin e klientit, krijon një pajisje të re rrjeti bnep0 menjëherë pas vendosjes së një lidhjeje me serverin. Në mënyrë tipike, DHCP përdoret për të caktuar një adresë IP në këtë ndërfaqe. Në modalitetin e serverit, BlueZ kërkon emrin e një pajisje urë, së cilës mund të shtojë një pajisje skllav për të lidhur secilin prej klientëve. Konfigurimi i një adrese për pajisjen urë dhe ekzekutimi i një serveri DHCP plus maskimi i IP-së në urë është zakonisht gjithçka që kërkohet.

Pika e hyrjes Bluetooth PAN me Systemd

Autori përdori systemd-networkd për të konfiguruar urën:

FILE /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 të marrim BlueZ për të konfiguruar profilin NAP. Doli që shërbimet e rregullta BlueZ 5.36 nuk mund ta bëjnë këtë. Nëse autori e ka gabim, korrigjojeni: mlang (di të lëvizë veshët) guru i verbër (nganjëherë akses dhe kuantik)

Por ai gjeti postim në blog и skript python për të bërë thirrjet e nevojshme D-Bus.

Për lehtësi, autori përdori shërbimin Systemd për të ekzekutuar skriptin dhe për të kontrolluar nëse varësitë janë zgjidhur.

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

Skedari i dytë nuk do të nevojitej nëse Debian do të kishte mbështetje për IPMasquerade= (shih më poshtë). # 787480).

Pas ekzekutimit të komandave systemctl daemon-reload и rivendosja e sistemitctl-systemd-networkd mund të nisni Bluetooth PAN me komandën systemctl start pan

Klienti Bluetooth PAN duke përdorur Systemd

Ana e klientit është gjithashtu e lehtë për t'u konfiguruar duke përdorur Systemd.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

FILE /etc/systemd/system/[email mbrojtur]

[Unit]
Description=Bluetooth Personal Area Network client

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

Tani, pas ringarkimit të konfigurimit, mund të lidheni me pikën e specifikuar të hyrjes Bluetooth si kjo:

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

Çiftimi duke përdorur vijën e komandës

Sigurisht, konfigurimi i serverit dhe klientëve duhet të bëhet pas çiftimit të tyre nëpërmjet Bluetooth. Në server, duhet të ekzekutoni bluetoothctl dhe t'i jepni 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 pajisja që ju nevojitet të shfaqet në listë. Shkruani adresën e tij dhe përdorni atë me komandën çift dhe, nëse është e nevojshme, me komandën e besimit.

Nga ana e klientit, ju duhet të bëni të njëjtën gjë, por komanda e besimit nuk do të nevojitet me siguri. Serverit i duhet që të pranojë një lidhje të profilit NAP pa konfirmim manual nga përdoruesi.

Autori nuk është i sigurt se kjo është sekuenca optimale e komandave. Ndoshta gjithçka që duhet është çiftimi i klientit me serverin dhe ekzekutimi i komandës së besimit në server, por ai ende nuk e ka provuar këtë.

Aktivizimi i Profilit HID Bluetooth

Kërkohet që "mjedra" të njohë tastierën e lidhur me ekranin Braille me tel dhe të përcjellë nga vetë ekrani përmes Bluetooth. Bëni të njëjtën gjë, por në vend të agjent në duhet të jap një komandë agjent Vetëm tastierë dhe bluetoothctl do të gjejë një pajisje me një profil HID.

Por konfigurimi i Bluetooth përmes linjës së komandës është i ndërlikuar.

Megjithëse autori arriti të konfigurojë gjithçka, ai e kupton që konfigurimi i BlueZ përmes linjës së komandës është i papërshtatshëm. Fillimisht, ai mendoi se agjentët duheshin vetëm për futjen e kodeve PIN, por doli, për shembull, që për të aktivizuar profilin HID, duhet të shkruani "Agent KeyboardOnly". Çuditërisht, për të nisur Bluetooth PAN, duhet të ngjiteni nëpër depo në kërkim të skenarit të duhur. Ai kujton se në versionin e mëparshëm të BlueZ kishte një mjet të gatshëm për këtë. bëj pand - ku po bën ai në BlueZ 5? Papritur u shfaq një zgjidhje e re, e panjohur për autorin, por e shtrirë në sipërfaqe?

prodhimtari

Shpejtësia e transferimit të të dhënave ishte rreth 120 kbps, që është mjaft e mjaftueshme. Procesori ARM 1 GHz është shumë i shpejtë për një ndërfaqe të linjës komanduese. Autori ende planifikon të përdorë kryesisht ssh dhe emacs në pajisje.

Shkronjat e konsolës dhe rezolucioni i ekranit

Rezolucioni i parazgjedhur i ekranit i përdorur nga framebuffer në Raspberry Pi Zero është mjaft i çuditshëm: fbset e raporton atë si 656x416 piksele (sigurisht nuk ka monitor të lidhur). Me fontin e konsolës 8x16, morëm 82 karaktere për rresht dhe 26 rreshta.

Të punosh me një ekran braille me 40 karaktere në këtë modalitet është e papërshtatshme. Gjithashtu, autori dëshiron që karakteret e Unicode të shfaqen në Braille. Për fat të mirë, Linux mbështet 512 karaktere dhe shumica e shkronjave të konsolës kanë 256 karaktere. Me konfigurimin e konsolës, mund të përdorni dy fonte me 256 karaktere së bashku. Autori shtoi rreshtat e mëposhtëm 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ë vënë në dispozicion fontin brl-16x8.psf, duhet të instaloni tastierën-braille.

Çka më tej?

Ekrani braille ka një fole 3,5 mm, por autori nuk di për përshtatës për marrjen e audios nga Mini-HDMI. Autori nuk ishte në gjendje të përdorte kartën e zërit të integruar në "mjedër" (e çuditshme, përkthyesi ishte i sigurt që Zero nuk e kishte një të tillë, por ka mënyra për të nxjerrë tingullin nga PWM në GPIO). Ai planifikon të përdorë një shpërndarës USB-OTG dhe të lidhë një kartë të jashtme dhe të nxjerrë zërin me altoparlantin e integruar në ekranin Braille. Për disa arsye, dy karta të jashtme nuk funksionuan, tani ai po kërkon një pajisje të ngjashme në një chipset të ndryshëm.

Është gjithashtu e papërshtatshme të fikni manualisht "mjedrën", të prisni disa sekonda dhe të fikni ekranin braille. Dhe gjithçka sepse kur fiket, heq energjinë nga lidhësi në ndarje. Autori planifikon të vendosë një bateri të vogël buferi në ndarje dhe, nëpërmjet GPIO, të informojë "mjedrën" për fikjen e ekranit në mënyrë që të fillojë të fiket. I tillë është UPS-i në miniaturë.

Imazhi i sistemit

Nëse keni të njëjtin ekran braille dhe dëshironi të bëni të njëjtën gjë me të, autori është i lumtur të sigurojë një imazh të gatshëm të sistemit (bazuar në Raspbian Stretch). Shkruani atij për këtë në adresën e mësipërme. Nëse ka mjaft njerëz të interesuar, madje është e mundur të lëshohen komplete që përfshijnë gjithçka që është e nevojshme për një xhirim të tillë.

Mirënjohje

Faleminderit Dave Mielke për korrigjimin e tekstit.

Faleminderit Simon Kainz për ilustrimet e fotove.

Faleminderit kolegëve në Universitetin e Teknologjisë Graz për prezantimin e shpejtë të autorit në botën e Raspberry Pi.

PS Tweet-i i parë autori për këtë temë (nuk hapet - përkthyesi) është bërë vetëm pesë ditë para botimit të origjinalit të këtij artikulli, dhe mund të supozojmë se, me përjashtim të problemeve me zërin, detyra praktikisht është zgjidhur. Nga rruga, autori redaktoi versionin përfundimtar të tekstit nga "ekrani i vetë-mjaftueshëm Braille" që ai bëri, duke e lidhur atë nëpërmjet SSH me kompjuterin e tij të shtëpisë.

Burimi: www.habr.com

Shto një koment