Raspberry Pi Zero znotraj brajevega zaslona Handy Tech Active Star 40

Raspberry Pi Zero znotraj brajevega zaslona Handy Tech Active Star 40

Avtor je postavil Raspberry Pi Zero, piščalko Bluetooth in kabel v svoj novi brajev zaslon Handy Tech Active Star 40. Vgrajena vrata USB zagotavljajo napajanje. Rezultat je bil samozadosten računalnik brez monitorja na ARM z operacijskim sistemom Linux, opremljen s tipkovnico in Braillovim zaslonom. Polnite/napajate ga lahko prek USB-ja, vklj. iz powerbank ali solarnega polnilnika. Zato lahko zdrži brez električne energije več ur, vendar več dni.

Raspberry Pi Zero znotraj brajevega zaslona Handy Tech Active Star 40

Dimenzijska diferenciacija brajevih zaslonov

Najprej se razlikujejo po dolžini črte. Naprave s kapaciteto 60 ali več so primerne za delo z namiznim računalnikom, naprave s kapaciteto 40 pa so priročne za prenašanje s prenosnikom. Zdaj obstajajo braillovi zasloni, povezani s pametnimi telefoni in tablicami, z dolžino vrstice 14 ali 18 znakov.

V preteklosti so bili braillovi zasloni precej množični. Prenosnik s 40 sedeži je na primer imel velikost in težo 13-palčnega prenosnika. Zdaj, z enakim številom poznanstev, so dovolj miniaturni, da lahko postavite zaslon pred prenosnik in ne prenosnik na zaslon.

To je seveda bolje, vendar še vedno ni zelo priročno držati dve ločeni napravi v naročju. Ko delate za mizo, ni nobenih pritožb, vendar je vredno zapomniti, da se prenosnik imenuje prenosni računalnik z drugim imenom in poskušati upravičiti svoje ime, saj se izkaže, da je miniaturni 40-mestni zaslon še manj priročen.

Tako je avtor čakal na izdajo dolgo obljubljenega novega modela v seriji Handy Tech Star. Leta 2002 je bil izdan prejšnji model Handy Tech Braille Star 40, kjer je površina telesa dovolj, da lahko na vrhu postavite prenosni računalnik. In če se ne prilega, je na voljo zložljivo stojalo. Zdaj je ta model zamenjal Active Star 40, ki je skoraj enak, vendar z nadgrajeno elektroniko.

Raspberry Pi Zero znotraj brajevega zaslona Handy Tech Active Star 40

In zložljivo stojalo ostaja:

Raspberry Pi Zero znotraj brajevega zaslona Handy Tech Active Star 40

Toda najbolj priročna stvar pri novem izdelku je vdolbina približno velikosti pametnega telefona (glej KDPV). Odpre se, ko ploščad premaknete nazaj. Izkazalo se je, da je neprijetno držati pametni telefon tam, vendar morate nekako uporabiti prazen predel, znotraj katerega je celo vtičnica.

Prva stvar, ki si jo je zamislil avtor, je bila, da bi tja postavil Raspberry Pi, a ko je bil zaslon kupljen, se je izkazalo, da stojalo, ki pokriva predal, ni zdrsnilo z "malino". Zdaj, če bi bila plošča samo 3 mm tanjša ...

Toda kolega mi je povedal o izdaji Raspberry Pi Zero, ki se je izkazala za tako miniaturno, da sta v predal lahko spravila dva ... ali morda celo tri. Takoj je bil naročen skupaj s 64 GB pomnilniško kartico, bluetoothom, "piščalko" in kablom Micro USB. Čez nekaj dni je vse to prispelo in videči prijatelji so avtorju pomagali pripraviti zemljevid. Takoj je vse delovalo kot mora.

Kaj je bilo storjeno za to

Na hrbtni strani Handy Tech Active Star 40 sta dva priključka USB za naprave, kot so tipkovnice. Priložena je majhna tipkovnica z magnetnim nosilcem. Ko je tipkovnica povezana in sam zaslon deluje preko Bluetootha, ga računalnik dodatno prepozna kot Bluetooth tipkovnico.

Če torej »piščalko« Bluetooth povežete z Raspberry Pi Zero, nameščenim v predalu za pametni telefon, bo ta lahko komuniciral z Braillovim zaslonom prek povezave Bluetooth z BRLTTY, če pa na zaslon priključite še tipkovnico, bo “malina” delovala tudi z njo.

A to še ni vse. Sama "malina" pa lahko dostopa do interneta prek Bluetooth PAN iz katere koli naprave, ki to podpira. Avtor je temu primerno konfiguriral svoj pametni telefon in računalnike doma in v službi, v prihodnosti pa namerava za to prilagoditi še eno "malino" - klasično, ne Zero, povezano z ethernetom in drugo Bluetooth "piščalko".

BlueZ 5 in PAN

Uporaba metode konfiguracije PAN bluez se je izkazalo za neočitno. Avtor je našel skript bt-pan Python (glejte spodaj), ki vam omogoča konfiguracijo PAN brez GUI.

Uporablja se lahko za konfiguracijo strežnika in odjemalca. Ko prejme ustrezen ukaz prek D-Bus pri delu v odjemalskem načinu, ustvari novo omrežno napravo bnep0 takoj po vzpostavitvi povezave s strežnikom. Običajno se DHCP uporablja za dodelitev naslova IP temu vmesniku. V strežniškem načinu BlueZ zahteva ime premostitvene naprave, ki ji lahko doda podrejeno napravo za povezavo vsakega odjemalca. Običajno je vse, kar je potrebno, konfigurirati naslov za mostno napravo in zagnati strežnik DHCP ter maskiranje IP-ja na mostu.

Dostopna točka Bluetooth PAN s Systemd

Za konfiguracijo mostu je avtor uporabil systemd-networkd:

Datoteka /etc/systemd/network/pan.netdev

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

Datoteka /etc/systemd/network/pan.network

[Match]
Name=pan

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

Zdaj moramo BlueZ prisiliti, da konfigurira profil NAP. Izkazalo se je, da tega ni mogoče storiti s standardnimi pripomočki BlueZ 5.36. Če se avtor moti, ga popravite: mlang (lahko premika ušesa) slep (včasih dostop in kvantni) guru

Ampak je našel objava v spletnem dnevniku и Python skript za opravljanje potrebnih klicev na D-Bus.

Za udobje je avtor uporabil storitev Systemd za zagon skripta in preverjanje, ali so odvisnosti razrešene.

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

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

Druga datoteka ne bi bila potrebna, če bi Debian imel podporo za IPMasquerade= (glejte spodaj). #787480).

Po izvedbi ukazov systemctl daemon-reload и systemctl znova zaženite systemd-networkd Bluetooth PAN lahko zaženete z ukazom systemctl začetna plošča

Odjemalec Bluetooth PAN z uporabo Systemd

Stran odjemalca je prav tako enostavna za konfiguracijo z uporabo Systemd.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

Datoteka /etc/systemd/system/[e-pošta zaščitena]

[Unit]
Description=Bluetooth Personal Area Network client

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

Zdaj, po ponovnem nalaganju konfiguracije, se lahko povežete z navedeno dostopno točko Bluetooth takole:

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

Seznanjanje z uporabo ukazne vrstice

Seveda je treba konfiguracijo strežnika in odjemalcev opraviti po seznanitvi prek povezave Bluetooth. Na strežniku morate zagnati bluetoothctl in mu dati ukaze:

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

Po začetku skeniranja počakajte nekaj sekund, da se naprava, ki jo potrebujete, prikaže na seznamu. Zapišite njegov naslov in ga uporabite tako, da izdate ukaz pair in po potrebi ukaz trust.

Na strani odjemalca morate storiti isto, vendar ukaz zaupanja zagotovo ni potreben. Strežnik ga potrebuje, da sprejme povezavo z uporabo profila NAP brez ročne potrditve uporabnika.

Avtor ni prepričan, da je to optimalno zaporedje ukazov. Morda je vse, kar je potrebno, seznaniti odjemalca s strežnikom in zagnati ukaz zaupanja na strežniku, vendar tega še ni poskusil.

Omogočanje profila HID Bluetooth

Zahteva se, da Raspberry prepozna tipkovnico, ki je z Braillovim zaslonom povezana z žico in jo sam zaslon prenaša prek Bluetootha. To se naredi na enak način, le namesto tega agent na treba dati ukaz agent KeyboardOnly in bluetoothctl bo našel napravo s profilom HID.

Toda nastavitev Bluetooth prek ukazne vrstice je nekoliko zapletena

Čeprav je avtorju uspelo konfigurirati vse, razume, da je konfiguracija BlueZ prek ukazne vrstice neprijetna. Sprva je mislil, da so agenti potrebni le za vnos PIN kod, vendar se je na primer izkazalo, da morate za aktiviranje profila HID vnesti "agent KeyboardOnly". Presenetljivo je, da se morate za zagon Bluetooth PAN povzpeti skozi repozitorije in iskati zahtevani skript. Spominja se, da je bilo v prejšnji različici BlueZ za to že pripravljeno orodje panda - kje počne v BlueZ 5? Nenadoma se je pojavila nova rešitev, avtorju neznana, a ležeča na površini?

Produktivnost

Hitrost prenosa podatkov je bila približno 120 kbit/s, kar je povsem dovolj. 1 GHz procesor ARM je zelo hiter za vmesnik ukazne vrstice. Avtor namerava na napravi še vedno uporabljati predvsem ssh in emacs.

Pisave konzole in ločljivost zaslona

Privzeta ločljivost zaslona, ​​ki jo uporablja okvirni medpomnilnik na Raspberry Pi Zero, je precej nenavadna: fbset jo poroča kot 656x416 slikovnih pik (seveda brez priključenega monitorja). S pisavo konzole 8×16 je bilo 82 znakov na vrstico in 26 vrstic.

V tem načinu je delo s 40-mestno Braillovo pisavo neprijetno. Avtor bi rad videl tudi znake Unicode, prikazane v brajici. Na srečo Linux podpira 512 znakov, večina konzolnih pisav pa jih ima 256. Z nastavitvijo konzole lahko skupaj uporabite dve 256-mestni pisavi. Avtor je v datoteko /etc/default/console-setup dodal naslednje vrstice:

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

Opomba: da bo pisava brl-16×8.psf na voljo, morate namestiti console-braille.

Kaj sledi?

Braillov zaslon ima 3,5 mm priključek, vendar avtor ne pozna adapterjev za sprejem zvočnega signala iz Mini-HDMI. Avtor ni mogel uporabiti zvočne kartice, vgrajene v Raspberry (nenavadno je bil prevajalec prepričan, da je Zero nima, vendar obstajajo načini za oddajanje zvoka s pomočjo PWM v GPIO). Načrtuje uporabo zvezdišča USB-OTG in povezavo zunanje kartice ter oddajanje zvoka na zvočnik, ki je vgrajen v brajev zaslon. Iz neznanega razloga dve zunanji kartici nista delovali; zdaj išče podobno napravo na drugem čipu.

Prav tako je neprijetno ročno izklopiti "malino", počakati nekaj sekund in izklopiti braillov zaslon. In vse zato, ker ko je izklopljen, odstrani napajanje iz priključka v predelu. Avtor namerava v prostor postaviti majhno vmesno baterijo in prek GPIO obvestiti Raspberry o izklopu zaslona, ​​da lahko začne ustavljati svoje delo. To je UPS v malem.

Slika sistema

Če imate enak Braillov zaslon in bi radi naredili enako z njim, je avtor pripravljen zagotoviti že pripravljeno sliko sistema (na osnovi Raspbian Stretch). O tem mu pišite na zgoraj navedeni naslov. Če bo dovolj zainteresiranih, je mogoče izdati celo komplete, ki vključujejo vse, kar je potrebno za takšno modifikacijo.

Zahvala

Hvala Davu Mielkeju za lektoriranje.

Hvala Simonu Kainzu za fotoilustracije.

Hvala mojim kolegom na graški tehnični univerzi, da so avtorja hitro uvedli v svet Raspberry Pi.

PS Prvi tvit avtor na to temo (ne odpira - prevajalec) je bil narejen le pet dni pred objavo izvirnika tega članka in lahko štejemo, da je bila naloga, razen težav z zvokom, praktično rešena. Mimogrede, avtor je končno verzijo besedila uredil iz »samozadostnega Braillovega zaslona«, ki ga je izdelal in ga preko SSH povezal z domačim računalnikom.

Vir: www.habr.com

Dodaj komentar