Raspberry Pi Zero binne 'n Handy Tech Active Star 40-brailleskerm

Raspberry Pi Zero binne 'n Handy Tech Active Star 40-brailleskerm

Ek het 'n Raspberry Pi Zero, Bluetooth-fluitjie en -kabel in my nuwe Handy Tech Active Star 40 brailleskerm geplaas. Die ingeboude USB-poort verskaf krag. Die resultaat was 'n selfversorgende monitorlose rekenaar op ARM met die Linux-bedryfstelsel, toegerus met 'n sleutelbord en 'n Braille-skerm. Jy kan dit via USB laai/krag, insluit. van 'n kragbank of sonkraglaaier. Daarom kan hy nie vir 'n paar uur sonder die hoofstroom nie, maar vir 'n paar dae.

Raspberry Pi Zero binne 'n Handy Tech Active Star 40-brailleskerm

Dimensionele differensiasie van braille-uitstallings

Eerstens verskil hulle in lynlengte. Toestelle met 60 of meer vertroudheid is goed wanneer jy met 'n tafelrekenaar werk, 40 is gerieflik om saam met 'n skootrekenaar te dra. Nou is daar ook braille-skerms wat aan slimfone en tablette gekoppel is, met 'n lynlengte van 14 of 18 karakters.

In die verlede was braille-vertonings nogal groot. Die 40-karakters het byvoorbeeld dieselfde afmetings en gewig as 'n 13-duim skootrekenaar gehad. Nou, met dieselfde aantal bekendheid, is hulle miniatuur genoeg sodat jy die skerm voor die skootrekenaar kan plaas, en nie die skootrekenaar op die skerm nie.

Dit is beslis beter, maar dit is steeds nie baie gerieflik om twee aparte toestelle op jou skoot te hou nie. As u by 'n lessenaar werk, is daar geen klagtes nie, maar dit is die moeite werd om te onthou dat 'n skootrekenaar op 'n ander manier 'n skootrekenaar genoem word, en probeer om sy naam te regverdig, aangesien dit blyk dat 'n miniatuurskerm van 40 karakters selfs minder gerieflik is.

Die skrywer het dus gewag vir die vrystelling van die langbeloofde nuwe model in die Handy Tech Star-reeks. Terug in 2002 is die vorige model Handy Tech Braille Star 40 vrygestel, waar die liggaamsarea genoeg is om 'n skootrekenaar bo-op te sit. En as dit nie pas nie, word 'n intrekbare staander voorsien. Nou is hierdie model vervang deur Active Star 40, wat feitlik dieselfde is, maar met opgegradeerde elektronika.

Raspberry Pi Zero binne 'n Handy Tech Active Star 40-brailleskerm

En die intrekbare staander het gebly:

Raspberry Pi Zero binne 'n Handy Tech Active Star 40-brailleskerm

Maar die gerieflikste ding van die nuwigheid is 'n uitsparing omtrent die grootte van 'n slimfoon (sien KDPV). Dit maak oop wanneer die platform teruggeskuif word. Dit blyk ongerieflik te wees om 'n slimfoon daar te hou, maar 'n mens moet op een of ander manier die leë kompartement gebruik, waarin selfs 'n kragaansluiting voorsien is.

Die eerste ding waarmee die skrywer vorendag gekom het, was om die Raspberry Pi daar te sit, maar toe die skerm gekoop is, het dit geblyk dat die staander wat die kompartement toegemaak het, nie saam met die "framboos" beweeg het nie. Nou, as die bord net 3 mm dunner was ...

Maar 'n kollega het gepraat oor die vrystelling van die Raspberry Pi Zero, wat so klein blyk te wees dat twee van hulle in die baai sou pas ... of dalk selfs drie. Dit is dadelik bestel saam met 'n 64 GB geheue kaart, Bluetooth, 'n fluitjie en 'n Mikro USB kabel. 'n Paar dae later het dit alles opgedaag, en siende vriende het die skrywer gehelp om die kaart voor te berei. Alles het dadelik gewerk soos dit moes.

Wat is hiervoor gedoen

Aan die agterkant van die Handy Tech Active Star 40 is twee USB-poorte vir toestelle soos sleutelborde. Kompakte sleutelbord met magnetiese bevestiging ingesluit. Wanneer die sleutelbord gekoppel is, en die skerm self werk via Bluetooth, herken die rekenaar dit ook as 'n Bluetooth-sleutelbord.

Dus, as 'n Bluetooth-fluitjie gekoppel is aan 'n Raspberry Pi Zero wat in 'n slimfoonkompartement geplaas is, sal dit via Bluetooth met 'n brailleskerm kan kommunikeer BRLTTY, en as jy ook 'n sleutelbord aan die skerm koppel, sal die "framboos" ook daarmee werk.

Maar dit is nie al nie. Raspberry self kan op sy beurt toegang tot die internet kry via Bluetooth PAN vanaf enige toestel wat dit ondersteun. Die skrywer het sy slimfoon en rekenaars by die huis en by die werk daarvolgens opgestel, maar in die toekoms beplan hy om nog 'n "framboos" hiervoor aan te pas - 'n klassieke, nie Zero nie, gekoppel aan Ethernet en nog 'n Bluetooth-"fluit".

BlueZ5 en PAN

PAN-konfigurasiemetode gebruik BlouZ onsigbaar geblyk te wees. Die skrywer het 'n Pyhton-skrip bt-pan gevind (sien hieronder) wat jou toelaat om PAN op te stel sonder 'n GUI.

Daarmee kan u beide die bediener en die kliënt instel. Nadat u die toepaslike opdrag via D-Bus ontvang het terwyl u in kliëntmodus werk, skep dit 'n nuwe netwerktoestel bnep0 onmiddellik nadat 'n verbinding met die bediener tot stand gebring is. Tipies word DHCP gebruik om 'n IP-adres aan hierdie koppelvlak toe te ken. In bedienermodus vereis BlueZ die naam van 'n brugtoestel, waarby dit 'n slaaftoestel kan voeg om elkeen van die kliënte te koppel. Om 'n adres vir die brugtoestel op te stel en 'n DHCP-bediener plus IP-maskering op die brug te laat loop, is gewoonlik al wat nodig is.

Bluetooth PAN Toegangspunt met Systemd

Die skrywer het systemd-networkd gebruik om die brug op te stel:

LêER /etc/systemd/network/pan.netdev

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

LêER /etc/systemd/network/pan.network

[Match]
Name=pan

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

Nou moet ons BlueZ kry om die NAP-profiel op te stel. Dit het geblyk dat BlueZ 5.36 gewone nutsprogramme dit nie kan doen nie. As die skrywer verkeerd is, maak hom reg: mlang (weet hoe om sy ore te beweeg) blinde (soms toegang en kwantum) guru

Maar hy het gevind blogpos и luislang skrif om die nodige D-Bus-oproepe te maak.

Gerieflikheidshalwe het die skrywer die Systemd-diens gebruik om die skrip te laat loop en te kyk of afhanklikhede opgelos is.

LêER /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

LêER /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

Die tweede lêer sou nie nodig wees as Debian ondersteuning vir IPMasquerade= gehad het nie (sien hieronder). #787480).

Na die uitvoering van die opdragte systemctl daemon-herlaai и systemctl herbegin systemd-netwerkd jy kan Bluetooth PAN begin met die opdrag systemctl begin pan

Bluetooth PAN-kliënt wat Systemd gebruik

Die kliëntkant is ook maklik om te konfigureer met Systemd.

LêER /etc/systemd/network/pan-client.network

[Match]
Name=bnep*

[Network]
DHCP=yes

LêER /etc/systemd/system/[e-pos beskerm]

[Unit]
Description=Bluetooth Personal Area Network client

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

Nou, nadat u die konfigurasie herlaai het, kan u so aan die gespesifiseerde Bluetooth-toegangspunt koppel:

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

Koppel met die opdragreël

Natuurlik moet die konfigurasie van die bediener en kliënte gedoen word nadat hulle via Bluetooth gepaar is. Op die bediener moet jy bluetoothctl laat loop en dit opdragte gee:

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

Nadat u die skandering begin het, wag 'n paar sekondes totdat die toestel wat u benodig in die lys verskyn. Skryf sy adres neer en gebruik dit saam met die paar-opdrag en, indien nodig, met die vertroue-opdrag.

Van die kliënt se kant af moet jy dieselfde doen, maar die vertroue-opdrag sal vir seker nie nodig wees nie. Die bediener het dit nodig om 'n NAP-profielverbinding te aanvaar sonder handmatige bevestiging deur die gebruiker.

Die skrywer is nie seker dat dit die optimale volgorde van opdragte is nie. Miskien is al wat nodig is om die kliënt met die bediener te koppel en die vertroue-opdrag op die bediener uit te voer, maar hy het dit nog nie probeer nie.

Aktiveer die Bluetooth HID-profiel

Dit word vereis dat die "framboos" die sleutelbord wat met 'n draad aan die Braille-skerm gekoppel is, herken en deur die skerm self via Bluetooth aangestuur word. Doen dieselfde, maar in plaas van agent aan moet 'n opdrag gee agent Slegs sleutelbord en bluetoothctl sal 'n toestel met 'n HID-profiel vind.

Maar dit is moeilik om Bluetooth via die opdragreël op te stel.

Alhoewel die skrywer daarin geslaag het om alles op te stel, verstaan ​​hy dat dit ongerieflik is om BlueZ deur die opdragreël op te stel. Aanvanklik het hy gedink dat agente net nodig is om PIN-kodes in te voer, maar dit het byvoorbeeld geblyk dat om die HID-profiel te aktiveer, jy "agent KeyboardOnly" moet tik. Verbasend genoeg, om Bluetooth PAN te begin, moet jy deur die bewaarplekke klim op soek na die regte skrif. Hy onthou dat daar in die vorige weergawe van BlueZ 'n gereedgemaakte hulpmiddel hiervoor was. panda - waar maak hy in BlueZ 5? Skielik het 'n nuwe oplossing verskyn, onbekend aan die skrywer, maar wat op die oppervlak lê?

produktiwiteit

Die data-oordragtempo was ongeveer 120 kbps, wat heeltemal genoeg is. Die 1GHz ARM-verwerker is baie vinnig vir 'n opdragreëlkoppelvlak. Die skrywer beplan steeds om hoofsaaklik ssh en emacs op die toestel te gebruik.

Konsole-lettertipes en skermresolusie

Die verstekskermresolusie wat deur die raambuffer op die Raspberry Pi Zero gebruik word, is nogal vreemd: fbset rapporteer dit as 656x416 pixels (geen monitor gekoppel, natuurlik). Met 'n konsole-lettertipe van 8x16 het ons 82 karakters per reël en 26 reëls gekry.

Dit is ongerieflik om met 'n 40-karakter brailleskerm in hierdie modus te werk. Die skrywer wil ook hê dat Unicode-karakters in Braille vertoon word. Gelukkig ondersteun Linux 512 karakters, en die meeste konsole-lettertipes het 256 karakters. Met konsole-opstelling kan jy twee 256-karakter-fonts saam gebruik. Die skrywer het die volgende reëls by die /etc/default/console-setup lêer gevoeg:

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

Let wel: Om die brl-16x8.psf font beskikbaar te stel, moet jy konsole-braille installeer.

Wat is volgende?

Die brailleskerm het 'n 3,5 mm-aansluiting, maar die skrywer weet nie van adapters om oudio van Mini-HDMI op te tel nie. Die skrywer kon nie die klankkaart wat in die "framboos" ingebou is, gebruik nie (vreemd, die vertaler was seker dat Zero nie een het nie, maar daar is maniere om klank deur PWM na die GPIO uit te voer). Hy beplan om 'n USB-OTG-hub te gebruik en 'n eksterne kaart en uitsetklank te koppel aan die luidspreker wat in die Braille-skerm ingebou is. Om een ​​of ander rede het twee eksterne kaarte nie gewerk nie, nou soek hy 'n soortgelyke toestel op 'n ander skyfiestel.

Dit is ook ongerieflik om die "framboos" handmatig af te skakel, 'n paar sekondes te wag en die brailleskerm af te skakel. En dit alles omdat wanneer dit afgeskakel is, dit krag van die aansluiting in die kompartement verwyder. Die skrywer beplan om 'n klein bufferbattery in die kompartement te plaas en, via GPIO, die "framboos" in te lig oor die afskakeling van die skerm sodat dit begin afskakel. So is die UPS in miniatuur.

Stelselbeeld

As jy dieselfde brailleskerm het en dieselfde daarmee wil doen, verskaf die skrywer graag 'n klaargemaakte stelselbeeld (gebaseer op Raspbian Stretch). Skryf vir hom daaroor by die adres hierbo. As daar genoeg mense is wat belangstel, is dit selfs moontlik om kits vry te stel wat alles insluit wat nodig is vir so 'n remake.

Erkennings

Dankie aan Dave Mielke vir die proeflees van die teks.

Dankie aan Simon Kainz vir die foto-illustrasies.

Dankie aan kollegas by Graz Universiteit van Tegnologie wat die skrywer vinnig bekendgestel het aan die wêreld van Raspberry Pi.

PS Eerste tweet die skrywer oor hierdie onderwerp (maak nie oop nie - vertaler) is gemaak net vyf dae voor die publikasie van die oorspronklike van hierdie artikel, en ons kan aanvaar dat, met die uitsondering van probleme met klank, die taak prakties opgelos is. Terloops, die skrywer het die finale weergawe van die teks geredigeer vanaf die "selfversorgende brailleskerm" wat hy gemaak het, en dit via SSH aan sy tuisrekenaar gekoppel.

Bron: will.com

Voeg 'n opmerking