A Raspberry Pi Zero egy Handy Tech Active Star 40 Braille-kijelzőben

A Raspberry Pi Zero egy Handy Tech Active Star 40 Braille-kijelzőben

A szerző egy Raspberry Pi Zero-t, egy Bluetooth sípot és egy kábelt helyezett el új Handy Tech Active Star 40 Braille-kijelzőjébe.A beépített USB-port biztosítja az áramellátást. Az eredmény egy önellátó, ARM rendszerű monitor nélküli számítógép volt, Linux operációs rendszerrel, billentyűzettel és Braille-kijelzővel. USB-n keresztül töltheti/táplálhatja, pl. power bankról vagy napelemes töltőről. Ezért több órán keresztül, de több napig is meg tud áram nélkül lenni.

A Raspberry Pi Zero egy Handy Tech Active Star 40 Braille-kijelzőben

Braille-kijelzők méretbeli megkülönböztetése

Először is különböznek a vonal hosszában. A 60 vagy annál nagyobb kapacitású készülékek asztali számítógéppel való munkavégzésre alkalmasak, míg a 40 kapacitású készülékek kényelmesen hordozhatók laptoppal. Ma már okostelefonokhoz és táblagépekhez is csatlakoztathatók Braille-kijelzők, amelyek sorhossza 14 vagy 18 karakter.

A múltban a Braille-kijelzők meglehetősen masszívak voltak. A 40 személyes laptop mérete és súlya például akkora volt, mint egy 13 hüvelykes laptopé. Most ugyanannyi ismeretség mellett elég kicsik ahhoz, hogy inkább a laptop elé tegyük a kijelzőt, mint a laptopot a kijelzőre.

Ez persze jobb, de még mindig nem túl kényelmes két külön eszközt az ölében tartani. Az íróasztalnál végzett munka során nem lehet panasz, de érdemes észben tartani, hogy egy laptopot más néven laptopnak neveznek, és próbáljuk igazolni a nevét, mivel kiderül, hogy a miniatűr, 40 karakteres kijelző még kevésbé kényelmes.

A szerző tehát várta, hogy megjelenjen a Handy Tech Star sorozat régóta ígért új modellje. Még 2002-ben jelent meg a korábbi Handy Tech Braille Star 40 modell, ahol a karosszéria területe elegendő egy laptop tetejére. És ha nem illik, van egy visszahúzható állvány. Most ezt a modellt az Active Star 40 váltotta fel, amely szinte ugyanaz, csak továbbfejlesztett elektronikával.

A Raspberry Pi Zero egy Handy Tech Active Star 40 Braille-kijelzőben

A visszahúzható állvány pedig marad:

A Raspberry Pi Zero egy Handy Tech Active Star 40 Braille-kijelzőben

De a legkényelmesebb az új termékben egy körülbelül egy okostelefon méretű mélyedés (lásd KDPV). Kinyílik, amikor az emelőkosárt visszatolják. Kényelmetlennek bizonyult egy okostelefont ott tartani, de valahogy ki kell használni az üres rekeszt, amelyben még egy konnektor is található.

Az első dolog, amit a szerző az volt, hogy a Raspberry Pi-t helyezze oda, de a kijelző megvásárlásakor kiderült, hogy a rekeszt takaró állvány nem csúszott be a „málnával”. Ha a tábla csak 3 mm-rel vékonyabb lenne...

De egy kolléga mesélt a Raspberry Pi Zero megjelenéséről, ami annyira miniatűrnek bizonyult, hogy ketten elfértek a rekeszben... vagy akár három is. Azonnal megrendelték egy 64 GB-os memóriakártyával, Bluetooth-szal, „whistle”-vel és Micro USB kábellel. Néhány nappal később mindez megérkezett, és látó barátok segítettek a szerzőnek a térkép elkészítésében. Minden azonnal működött, ahogy kell.

Mit tettek ennek érdekében

A Handy Tech Active Star 40 hátoldalán két USB-port található olyan eszközökhöz, mint a billentyűzetek. Egy kis méretű, mágneses rögzítésű billentyűzetet tartalmaz. Ha a billentyűzet csatlakoztatva van, és maga a kijelző Bluetooth-on keresztül működik, a számítógép ezenkívül Bluetooth-billentyűzetként ismeri fel.

Így ha Bluetooth „sípot” csatlakoztat az okostelefon rekeszében elhelyezett Raspberry Pi Zero-hoz, az képes lesz kommunikálni a Braille-kijelzővel Bluetooth-on keresztül. BRLTTY, és ha billentyűzetet is csatlakoztat a kijelzőhöz, akkor a „málna” is működik vele.

De ez még nem minden. Maga a „málna” pedig Bluetooth PAN-on keresztül tud internetezni minden olyan eszközről, amely támogatja. A szerző ennek megfelelően konfigurálta otthoni és munkahelyi okostelefonját és számítógépeit, de a jövőben egy másik „málnát” tervez ehhez igazítani - egy klasszikust, nem egy Ethernet-hez csatlakoztatott Zero-t és egy másik Bluetooth-sípot.

BlueZ 5 és PAN

PAN konfigurációs módszer segítségével bluez nyilvánvalónak bizonyult. A szerző megtalálta a bt-pan Python szkriptet (lásd alább), amely lehetővé teszi a PAN konfigurálását grafikus felhasználói felület nélkül.

Használható a szerver és a kliens konfigurálására is. Miután megkapta a megfelelő parancsot D-buszon keresztül, amikor kliens módban dolgozik, azonnal létrehoz egy új bnep0 hálózati eszközt, miután kapcsolatot létesített a szerverrel. Általában a DHCP-t használják az IP-cím hozzárendelésére ehhez az interfészhez. Szerver módban a BlueZ megköveteli annak a hídeszköznek a nevét, amelyhez szolgaeszközt adhat hozzá az egyes kliensek csatlakoztatásához. Általában csak be kell állítani egy címet a hídeszközhöz, és futtatni egy DHCP-kiszolgálót, valamint az IP-maszkolást a hídon.

Bluetooth PAN hozzáférési pont Systemd-vel

A híd konfigurálásához a szerző a systemd-networkd parancsot használta:

Fájl /etc/systemd/network/pan.netdev

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

Fájl /etc/systemd/network/pan.network

[Match]
Name=pan

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

Most kényszerítenünk kell a BlueZ-t a NAP-profil konfigurálására. Kiderült, hogy ezt a szabványos BlueZ 5.36 segédprogramokkal nem lehet megtenni. Ha a szerző téved, javítsd ki: mlang (mozgathatja a fülét) vak (néha hozzáférés és kvantum) guru

De megtalálta blog bejegyzés и Python szkript hogy a szükséges hívásokat intézze a D-Bus felé.

Az egyszerűség kedvéért a szerző a Systemd szolgáltatást használta a parancsfájl futtatására és annak ellenőrzésére, hogy a függőségek megszűntek-e.

Fájl /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

Fájl /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

A második fájlra nem lenne szükség, ha a Debian rendelkezik IPMasquerade= támogatással (lásd lent). #787480).

A parancsok végrehajtása után systemctl daemon-reload и systemctl indítsa újra a systemd-networkd rendszert paranccsal indíthatja el a Bluetooth PAN-t systemctl start pan

Bluetooth PAN kliens a Systemd használatával

Az ügyféloldal is könnyen konfigurálható a Systemd segítségével.

Az /etc/systemd/network/pan-client.network fájl

[Match]
Name=bnep*

[Network]
DHCP=yes

Fájl /etc/systemd/system/[e-mail védett]

[Unit]
Description=Bluetooth Personal Area Network client

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

Most, a konfiguráció újratöltése után, a következőképpen csatlakozhat a megadott Bluetooth hozzáférési ponthoz:

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

Párosítás a parancssor használatával

Természetesen a szerver és a kliensek beállítását a Bluetooth-on keresztül történő párosítás után kell elvégezni. A szerveren futtassa a bluetoothctl-t, és adja ki a parancsokat:

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

A vizsgálat elindítása után várjon néhány másodpercet, amíg a kívánt eszköz megjelenik a listában. Jegyezze fel a címét, és használja a pár parancs, és ha szükséges, a bizalom parancs kiadásával.

A kliens oldalon ugyanezt kell tennie, de a bizalom parancsra biztosan nincs szükség. A szervernek szüksége van rá, hogy elfogadja a kapcsolatot a NAP-profil használatával a felhasználó kézi megerősítése nélkül.

A szerző nem biztos abban, hogy ez a parancsok optimális sorrendje. Talán csak párosítani kell a klienst a szerverrel, és futtatni kell a bizalom parancsot a szerveren, de ezt még nem próbálta.

HID Bluetooth-profil engedélyezése

Szükséges, hogy a Raspberry felismerje a Braille-kijelzőhöz vezetéken keresztül csatlakoztatott billentyűzetet, amelyet maga a kijelző Bluetooth-on továbbít. Ez ugyanúgy történik, csak helyette ügynök tovább parancsot kell adni ügynök KeyboardOnly és a bluetoothctl talál egy HID profillal rendelkező eszközt.

De a Bluetooth beállítása a parancssoron keresztül kissé bonyolult

Bár a szerzőnek sikerült mindent konfigurálnia, megérti, hogy a BlueZ parancssoron keresztül történő konfigurálása kényelmetlen. Először azt hitte, hogy az ügynökök csak a PIN-kódok megadásához szükségesek, de kiderült például, hogy a HID-profil engedélyezéséhez be kell írni, hogy „agent KeyboardOnly”. Meglepő, hogy a Bluetooth PAN elindításához át kell mászni a tárolókat a szükséges szkript megkereséséhez. Emlékszik, hogy a BlueZ előző verziójában volt erre kész eszköz panda - Hol jár a BlueZ 5-ben? Hirtelen egy új, a szerző számára ismeretlen, de a felszínen heverő megoldás jelent meg?

termelékenység

Az adatátviteli sebesség körülbelül 120 kbit/s volt, ami bőven elég. Az 1 GHz-es ARM processzor nagyon gyors parancssori interfészhez. A szerző továbbra is főként ssh és emacs használatát tervezi az eszközön.

Konzol betűtípusok és képernyőfelbontás

A Raspberry Pi Zero framebuffere által használt alapértelmezett képernyőfelbontás meglehetősen furcsa: az fbset 656x416 pixelként jelzi (természetesen monitor nincs csatlakoztatva). A 8×16-os konzolbetűtípus mellett 82 karakter volt soronként és 26 sor.

Ebben az üzemmódban kényelmetlen a 40 karakteres Braille-kijelzővel dolgozni. A szerző a Unicode karaktereket is szeretné Braille-írással megjeleníteni. Szerencsére a Linux 512 karaktert támogat, a legtöbb konzol-betűtípus pedig 256-ot. A konzolbeállítással két 256 karakteres betűtípust együtt használhat. A szerző a következő sorokat adta hozzá az /etc/default/console-setup fájlhoz:

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

Megjegyzés: a brl-16×8.psf betűtípus elérhetővé tételéhez telepítenie kell a console-Braille-t.

Mi a következő lépés?

A Braille-kijelző 3,5 mm-es jack csatlakozóval rendelkezik, de a szerző nem tud olyan adapterekről, amelyek a Mini-HDMI hangjelét fogadják. A szerző nem tudta használni a Raspberry-be épített hangkártyát (furcsa módon a fordító biztos volt benne, hogy a Zero-ban nincs ilyen, de van mód PWM-mel hangot kiadni a GPIO-ra). Azt tervezi, hogy USB-OTG hubot használ, és külső kártyát csatlakoztat, és hangot ad ki a Braille-kijelzőbe épített hangszóróhoz. Valamiért két külső kártya nem működött, most más chipkészleten keres hasonló eszközt.

Az is kényelmetlen, ha manuálisan kapcsolja ki a „málnát”, várjon néhány másodpercet, és kapcsolja ki a Braille-kijelzőt. És mindez azért, mert kikapcsolt állapotban áramtalanítja a rekeszben lévő csatlakozót. A szerző azt tervezi, hogy egy kis pufferelemet helyez el a rekeszbe, és GPIO-n keresztül értesíti a Raspberry-t a kijelző kikapcsolásáról, hogy az elkezdhesse leállítani a munkáját. Ez egy miniatűr UPS.

Rendszerkép

Ha ugyanazzal a Braille-kijelzővel rendelkezik, és ugyanezt szeretné megtenni vele, a szerző készen áll a rendszer kész képére (Raspbian Stretch alapján). Írjon neki erről a fent megadott címre. Ha van elég érdeklődő, akár olyan készleteket is ki lehet adni, amelyekben minden szükséges egy ilyen módosításhoz.

Köszönetnyilvánítás

Köszönöm Dave Mielke-nek a lektorálást.

Köszönjük Simon Kainznak a fotóillusztrációkat.

Köszönöm a Grazi Műszaki Egyetem munkatársainak, hogy gyorsan bevezették a szerzőt a Raspberry Pi világába.

PS Az első tweet szerző ebben a témában (nem nyílik meg - fordító) mindössze öt nappal a cikk eredeti megjelenése előtt készült, és úgy tekinthetjük, hogy a hangproblémák kivételével a feladat gyakorlatilag megoldódott. A szerző egyébként egy általa készített „önellátó Braille-kijelzőről” szerkesztette a szöveg végleges változatát, SSH-n keresztül csatlakoztatva otthoni számítógépéhez.

Forrás: will.com

Hozzászólás