Raspberry Pi Zero binnen in Handy Tech Active Star 40 braille display

Raspberry Pi Zero binnen in Handy Tech Active Star 40 braille display

De skriuwer pleatste in Raspberry Pi Zero, in Bluetooth-fluit, en in kabel yn syn nije Handy Tech Active Star 40 braille-display. It resultaat wie in selsstannige monitorless kompjûter op ARM mei it Linux bestjoeringssysteem, útrist mei in toetseboerd en in Braille display. Jo kinne it opladen / macht fia USB, incl. fan in macht bank of sinne charger. Dêrom, it kin dwaan sûnder macht foar ferskate oeren, mar foar ferskate dagen.

Raspberry Pi Zero binnen in Handy Tech Active Star 40 braille display

Dimensjonele differinsjaasje fan braille-displays

Earst fan alles, se ferskille yn line lingte. Apparaten mei 60 of mear kapasiteit binne goed foar wurkjen mei in buroblêd kompjûter, wylst apparaten mei 40 kapasiteit binne handich foar it dragen mei in laptop. No binne d'r braille-displays ferbûn mei smartphones en tablets, mei in rigellange fan 14 of 18 tekens.

Yn it ferline wiene braille-displays frij massaal. De laptop mei 40 sitten hie bygelyks de grutte en gewicht fan in 13-inch laptop. No, mei itselde oantal kunde, binne se miniatuergenôch, sadat jo it display foar de laptop kinne pleatse, ynstee fan de laptop op it display.

Dit is fansels better, mar it is noch altyd net heul handich om twa aparte apparaten op jo skoot te hâlden. As jo ​​wurkje oan in buro, binne d'r gjin klachten, mar it is it wurdich te ûnthâlden dat in laptop in laptop wurdt neamd mei in oare namme, en besykje syn namme te rjochtfeardigjen, om't it docht bliken dat it miniatuer display fan 40 tekens noch minder handich is.

Sa wachte de skriuwer op de frijlitting fan it lang beloofde nije model yn 'e Handy Tech Star-searje. Werom yn 2002 waard it foarige model Handy Tech Braille Star 40 frijlitten, wêr't it lichemsgebiet genôch is om in laptop boppe te setten. En as it net past, is der in yntrekbare stand. No dit model is ferfongen troch de Active Star 40, dat is hast itselde, mar mei opwurdearre elektroanika.

Raspberry Pi Zero binnen in Handy Tech Active Star 40 braille display

En de yntrekbare stand bliuwt:

Raspberry Pi Zero binnen in Handy Tech Active Star 40 braille display

Mar it meast handige ding oer it nije produkt is in útsparring sawat de grutte fan in smartphone (sjoch KDPV). It iepenet as it platfoarm werom wurdt ferpleatst. It die bliken dat it ûngemaklik is om dêr in smartphone te hâlden, mar jo moatte op ien of oare manier it lege fak brûke, wêryn sels in stopkontakt is.

It earste ding dat de auteur kaam mei wie de Raspberry Pi dêr te pleatsen, mar doe't it display waard kocht, die bliken dat de tribune dy't it fak bedekte net mei de "framboos" ynglide. No, as it boerd mar 3 mm dunner wie ...

Mar in kollega fertelde my oer de frijlitting fan 'e Raspberry Pi Zero, dy't sa miniatuer die bliken dat twa fan har yn it fak passe koene ... of miskien sels trije. It waard fuortendaliks besteld tegearre mei in 64 GB ûnthâld card, Bluetooth, "whistle" en in Micro USB kabel. In pear dagen letter kaam dit alles, en sighted freonen holpen de skriuwer tariede in kaart. Alles wurke fuortendaliks sa't it moast.

Wat is hjirfoar dien

Op 'e rêch fan' e Handy Tech Active Star 40 binne d'r twa USB-poarten foar apparaten lykas toetseboerden. In lyts toetseboerd mei magnetyske berch is opnommen. As it toetseboerd ferbûn is, en it display sels wurket fia Bluetooth, erkent de kompjûter it ek as in Bluetooth-toetseboerd.

Sa, as jo in Bluetooth "fluit" ferbine mei in Raspberry Pi Zero pleatst yn it smartphone compartment, it sil by steat wêze om te kommunisearjen mei de braille display fia Bluetooth mei help fan BRLTTY, En as jo ek in toetseboerd ferbine mei it display, sil de "raspberry" ek wurkje.

Mar dat is net alles. De "raspberry" sels kin op syn beurt tagong krije ta it ynternet fia Bluetooth PAN fan elk apparaat dat it stipet. De skriuwer hat syn smartphone en kompjûters thús en op it wurk neffens konfigurearre, mar yn 'e takomst is hy fan plan om dêr in oare "raspberry" foar oan te passen - in klassiker, net in Zero, ferbûn mei Ethernet en in oare Bluetooth "fluit".

BlueZ 5 en PAN

PAN konfiguraasje metoade mei help bluez blykte ûndúdlik te wêzen. De skriuwer fûn it bt-pan Python-skript (sjoch hjirûnder), wêrtroch jo PAN kinne konfigurearje sûnder in GUI.

It kin brûkt wurde om sawol de tsjinner as de client te konfigurearjen. Nei it ûntfangen fan it passende kommando fia D-Bus by it wurkjen yn kliïntmodus, makket it in nij netwurkapparaat bnep0 direkt nei it meitsjen fan in ferbining mei de tsjinner. Typysk wurdt DHCP brûkt om in IP-adres oan dizze ynterface te jaan. Yn servermodus fereasket BlueZ de namme fan in brêge-apparaat dêr't it in slave-apparaat taheakje kin om elke kliïnt te ferbinen. It konfigurearjen fan in adres foar it brêge-apparaat en it útfieren fan in DHCP-tsjinner plus IP-masquerading op 'e brêge is meastal alles dat nedich is.

Bluetooth PAN tagongspunt mei Systemd

Om de brêge te konfigurearjen, brûkte de auteur systemd-networkd:

Triem /etc/systemd/network/pan.netdev

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

Triem /etc/systemd/network/pan.network

[Match]
Name=pan

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

No moatte wy BlueZ twinge om it NAP-profyl te konfigurearjen. It die bliken dat dit net kin dien wurde mei de standert BlueZ 5.36 nutsbedriuwen. As de skriuwer ferkeard is, korrigearje him dan: mlang (kin syn earen ferpleatse) blyn (soms tagong en kwantum) guru

Mar hy fûn blogpost и Python skript om de nedige oproppen nei D-Bus te meitsjen.

Foar it gemak brûkte de auteur de Systemd-tsjinst om it skript út te fieren en te kontrolearjen as ôfhinklikens binne oplost.

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

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

It twadde bestân soe net nedich wêze as Debian IPMasquerade=-stipe hie (sjoch hjirûnder). #787480).

Nei it útfieren fan de kommando's systemctl daemon-reload и systemctl werstart systemd-networkd kinne jo begjinne Bluetooth PAN mei it kommando systemctl start pan

Bluetooth PAN-kliïnt mei Systemd

De kliïntside is ek maklik te konfigurearjen mei Systemd.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

Triem /etc/systemd/system/[e-post beskerme]

[Unit]
Description=Bluetooth Personal Area Network client

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

No, nei it opnij laden fan de konfiguraasje, kinne jo ferbine mei it opjûne Bluetooth-tagongspunt sa:

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

Pairing mei help fan de kommandorigel

Fansels moat de konfiguraasje fan 'e tsjinner en kliïnten dien wurde nei it koppelen fan se fia Bluetooth. Op de tsjinner moatte jo bluetoothctl útfiere en de kommando's jaan:

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

Nei it begjinnen fan de scan, wachtsje in pear sekonden oant it apparaat dat jo nedich binne ferskynt yn 'e list. Skriuw it adres op en brûk it troch it pear kommando út te jaan en, as nedich, it fertrouwen kommando.

Oan 'e kant fan' e kliïnt moatte jo itselde ding dwaan, mar it fertrouwen kommando is perfoarst net nedich. De tsjinner hat it nedich om in ferbining te akseptearjen mei it NAP-profyl sûnder manuele befêstiging troch de brûker.

De skriuwer is der net wis fan dat dit de optimale folchoarder fan kommando's is. Miskien is alles wat nedich is om de kliïnt te koppelen mei de tsjinner en it fertrouwenkommando op 'e tsjinner út te fieren, mar hy hat dit noch net besocht.

HID Bluetooth-profyl ynskeakelje

It is fereaske dat de Raspberry in toetseboerd werkent dat ferbûn is mei de Braille-werjefte troch draad, en troch it display sels fia Bluetooth oerbrocht. Dit wurdt dien op deselde wize, allinne ynstee agent op moatte in kommando jaan agent Keyboard Only en bluetoothctl sil in apparaat fine mei in HID-profyl.

Mar it ynstellen fan Bluetooth fia de kommandorigel is in bytsje yngewikkeld

Hoewol't de skriuwer it slagge om alles te konfigurearjen, begrypt hy dat it konfigurearjen fan BlueZ fia de kommandorigel ûngemaklik is. Earst tocht er dat aginten allinnich nedich wiene om PIN-koades yn te fieren, mar it die bliken bygelyks dat om it HID-profyl yn te skeakeljen, jo moatte typen "agent KeyboardOnly". It is ferrassend dat jo om Bluetooth PAN te starten moatte troch repositories klimme op syk nei it fereaske skript. Hy tinkt dat d'r yn 'e foarige ferzje fan BlueZ hjir in klear ark foar wie panda - wêr docht er yn BlueZ 5? Ynienen ferskynde in nije oplossing, ûnbekend foar de skriuwer, mar lizzend op it oerflak?

Produktiviteit

De gegevens oerdracht snelheid wie likernôch 120 kbit / s, dat is hiel genôch. De 1GHz ARM-prosessor is heul fluch foar in kommandorigelynterface. De skriuwer is noch fan plan om benammen ssh en emacs op it apparaat te brûken.

Konsole lettertypen en skermresolúsje

De standert skermresolúsje brûkt troch de framebuffer op 'e Raspberry Pi Zero is frij frjemd: fbset rapportearret it as 656x416 piksels (gjin monitor ferbûn, fansels). Mei in konsolelettertype fan 8×16 wiene der 82 tekens per rigel en 26 rigels.

It is ûngemaklik om te wurkjen mei in 40-tekens Braille-display yn dizze modus. De skriuwer wol ek Unicode-tekens sjen litte yn braille. Gelokkich stipet Linux 512 tekens, en de measte konsole lettertypen hawwe 256. Mei help fan konsole-opset, kinne jo brûke twa 256-karakter lettertypen tegearre. De skriuwer hat de folgjende rigels tafoege oan it /etc/default/console-setup-bestân:

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

Opmerking: om it lettertype brl-16×8.psf beskikber te meitsjen, moatte jo konsole-braille ynstallearje.

Wat is folgjende?

It Braille-display hat in 3,5 mm-jack, mar de auteur is net bewust fan adapters foar it ûntfangen fan in audiosinjaal fan Mini-HDMI. De skriuwer koe de lûdkaart net brûke dy't yn 'e Raspberry ynboude is (frjemd, de oersetter wie der wis fan dat de Zero gjin ien hie, mar d'r binne manieren om lûd út te fieren mei PWM nei de GPIO). Hy is fan plan om in USB-OTG-hub te brûken en in eksterne kaart te ferbinen en lûd út te fieren nei de sprekker dy't yn 'e braille-werjefte is ynboud. Om ien of oare reden wurken twa eksterne kaarten net no hy siket in ferlykber apparaat op in oare chipset.

It is ek ûngemaklik om de "raspberry" manuell út te skeakeljen, in pear sekonden te wachtsjen en de braille-display út te setten. En alles om't as it útskeakele is, it macht ferwideret fan 'e ferbining yn it fak. De skriuwer is fan plan om in lytse bufferbatterij yn it fak te pleatsen en, fia GPIO, de Raspberry ynformearje oer it útskeakeljen fan it display, sadat it kin begjinne mei it sluten fan syn wurk. Dit is in UPS yn miniatuer.

Systeemôfbylding

As jo ​​​​deselde Braille-display hawwe en itselde mei wolle dwaan, is de skriuwer ree om in klearmakke ôfbylding fan it systeem te leverjen (basearre op Raspbian Stretch). Skriuw him hjiroer op it hjirboppe oantsjutte adres. As d'r genôch minsken binne ynteressearre, is it sels mooglik om kits frij te litten dy't alles befetsje dat nedich is foar sa'n modifikaasje.

Erkennings

Mei tank oan Dave Mielke foar it korrektyflêzen.

Mei tank oan Simon Kainz foar de foto-yllustraasjes.

Mei tank oan myn kollega's oan 'e Graz Technical University foar it fluch yntrodusearjen fan' e auteur oan 'e wrâld fan Raspberry Pi.

PS Earste tweet skriuwer op dit ûnderwerp (iepenet net - oersetter) waard makke krekt fiif dagen foar de publikaasje fan it orizjineel fan dit artikel, en it kin beskôge wurde dat, mei útsûndering fan problemen mei lûd, de taak waard praktysk oplost. Trouwens, de skriuwer bewurke de definitive ferzje fan 'e tekst fan in "selsfoarsjennende Braille-display" dy't hy makke, en ferbûn it fia SSH nei syn thúskompjûter.

Boarne: www.habr.com

Add a comment