
Der Autor steckte den Raspberry Pi Zero, eine Bluetooth-Pfeife und ein Kabel in sein neues Handy Tech Active Star 40-Braillezeile. Ein eingebauter USB-Anschluss liefert Strom. Das Ergebnis war ein in sich geschlossener Nicht-Monitor-Computer auf ARM mit dem Linux-Betriebssystem, der mit einer Tastatur und einer Braillezeile ausgestattet war. Sie können es über USB aufladen / mit Strom versorgen. von einer Power Bank oder einem Solarladegerät. Daher kann es nicht für mehrere Stunden, sondern für mehrere Tage auf die Netzstromversorgung verzichten.

Dimensionsdifferenzierung von Braillezeilen
Erstens unterscheiden sie sich in der Saitenlänge. Geräte ab 60 sind gut geeignet, wenn Sie mit einem Desktop-Computer arbeiten. 40 Geräte eignen sich zum Tragen mit einem Laptop. Jetzt gibt es Braillezeilen mit Smartphones und Tablets mit einer Länge von 14 oder 18 vertrauten Zeichenfolgen.
In der Vergangenheit waren Braillezeilen ziemlich massiv. Der 40-bekannte hatte beispielsweise die Abmessungen und das Gewicht eines 13-Zoll-Laptops. Mit der gleichen Vertrautheit sind sie jetzt klein genug, um ein Display vor den Laptop zu stellen, anstatt einen Laptop auf das Display.
Dies ist natürlich besser, aber es ist immer noch nicht sehr praktisch, zwei separate Geräte auf Ihrem Schoß zu halten. Wenn Sie am Tisch arbeiten, gibt es keine Beschwerden. Beachten Sie jedoch, dass der Laptop auf andere Weise als Laptop bezeichnet wird, und versuchen Sie, seinen Namen zu rechtfertigen, da sich herausstellt, dass das Miniaturdisplay mit 40 Sitzplätzen noch weniger praktisch ist.
So wartete der Autor auf die Veröffentlichung des lang versprochenen neuen Modells in der Handy Tech Star-Serie. Bereits im Jahr 2002 wurde das Vorgängermodell Handy Tech Braille Star 40 veröffentlicht, bei dem der Körperbereich ausreicht, um einen Laptop darauf zu legen. Und wenn es nicht passt, ist ein versenkbarer Ständer vorgesehen. Jetzt wird dieses Modell durch Active Star 40 ersetzt, es ist fast das gleiche, aber mit verbesserter Elektronik.

Und der versenkbare Ständer blieb:

Am bequemsten an der Neuheit ist jedoch eine Aussparung von etwa der Größe eines Smartphones (siehe KDPV). Es öffnet sich, wenn sich die Plattform zurückbewegt. Es stellte sich als unpraktisch heraus, das Smartphone dort zu lassen, aber irgendwie muss man das leere Fach verwenden, in dem sogar eine Ausgangsleistung vorhanden ist.
Das erste, was der Autor einfiel, war, den Raspberry Pi dort zu platzieren, aber als das Display gekauft wurde, stellte sich heraus, dass bei der "Himbeere" der Ständer, der das Fach schließt, nicht hineingleitet. Nun, wenn das Board nur 3 mm dünner wäre ...
Aber ein Kollege sprach über die Veröffentlichung des Raspberry Pi Zero, der sich als so winzig herausstellte, dass zwei in das Fach passen würden ... oder vielleicht sogar drei. Es wurde sofort zusammen mit einer 64-GB-Speicherkarte, Bluetooth, einer Pfeife und einem Micro-USB-Kabel bestellt. Ein paar Tage später traf dies alles ein und sehende Freunde halfen dem Autor, eine Karte vorzubereiten. Alles funktionierte sofort wie es sollte.
Was wurde dafür getan?
Auf der Rückseite des Handy Tech Active Star 40 befinden sich zwei USB-Anschlüsse für Geräte wie Tastaturen. Eine kleine magnetisch angebrachte Tastatur ist im Lieferumfang enthalten. Wenn die Tastatur angeschlossen ist und das Display selbst über Bluetooth funktioniert, erkennt der Computer es zusätzlich auch als Bluetooth-Tastatur.
Wenn Sie also eine Bluetooth-Pfeife mit dem Raspberry Pi Zero im Smartphone-Fach verbinden, kann dieser über Bluetooth mit
BRLTTY Daten mit dem Braille-Display
austauschen . Wenn Sie auch eine Tastatur mit dem Display verbinden, funktioniert der Malinka und mit ihr.
Das ist aber noch nicht alles. Malinka selbst kann von jedem Gerät, das dies unterstützt, über Bluetooth PAN auf das Internet zugreifen. Der Autor hat sein Smartphone und seine Computer zu Hause und bei der Arbeit entsprechend eingerichtet. In Zukunft plant er jedoch, eine weitere „Himbeere“ dafür anzupassen - eine klassische, nicht Zero, die mit Ethernet verbunden ist, und eine weitere Bluetooth-Pfeife.
BlueZ 5 und PAN
Die Art und Weise, eine PAN mit
BlueZ zu konfigurieren, war nicht offensichtlich. Der Autor hat das Pyhton-Skript bt-pan (siehe unten) gefunden, mit dem Sie PAN ohne GUI konfigurieren können.
Damit können Sie sowohl den Server als auch den Client konfigurieren. Nachdem er im Client-Modus den entsprechenden D-Bus-Befehl erhalten hat, erstellt er unmittelbar nach dem Herstellen einer Verbindung zum Server ein neues bnep0-Netzwerkgerät. Normalerweise wird DHCP verwendet, um dieser Schnittstelle eine IP-Adresse zuzuweisen. Im Servermodus benötigt BlueZ den Namen des Bridge-Geräts, zu dem es vom Slave hinzugefügt werden kann, um jeden Client zu verbinden. Das Konfigurieren der Adresse für das Bridge-Gerät und das Starten des DHCP-Servers sowie die IP-Maskierung auf der Bridge sind normalerweise alles, was erforderlich ist.
Bluetooth PAN Access Point mit Systemd
Um die Bridge zu konfigurieren, hat der Autor systemd-networkd angewendet:
Datei /etc/systemd/network/pan.netdev
[NetDev] Name=pan Kind=bridge ForwardDelaySec=0
Datei /etc/systemd/network/pan.network
[Match] Name=pan [Network] Address=0.0.0.0/24 DHCPServer=yes IPMasquerade=yes
Jetzt müssen Sie BlueZ zwingen, das NAP-Profil zu konfigurieren. Es stellte sich heraus, dass reguläre Dienstprogramme von BlueZ 5.36 nicht ausgeführt werden können. Wenn der Autor sich irrt, korrigieren Sie es: mlang (weiß, wie man Ohren bewegt) blinder (manchmal Zugang und Quanten) Guru
Aber er fand
einen Blog-Beitrag und
ein Python-Skript , um die notwendigen Anrufe bei D-Bus zu tätigen.
Der Einfachheit halber verwendete der Autor den Systemd-Dienst, um das Skript auszuführen und die Abhängigkeitsauflösung zu überprüfen.
Datei /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
Datei / 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 zweite Datei würde nicht benötigt, wenn Debian IPMasquerade = Unterstützung hätte (siehe
# 787480 ).
Nachdem Sie die
Befehle systemctl daemon- reload und
systemctl restart systemd-networkd ausgeführt haben, können Sie die Bluetooth-PAN mit dem Befehl
systemctl start pan startenBluetooth PAN Client mit Systemd
Die Client-Seite ist auch einfach mit Systemd zu konfigurieren.
Datei /etc/systemd/network/pan-client.network
[Match] Name=bnep* [Network] DHCP=yes
Datei /etc/systemd/system/pan@.service
[Unit] Description=Bluetooth Personal Area Network client [Service] Type=notify ExecStart=/usr/local/sbin/bt-pan --debug --systemd client %I --wait
Nach dem Neustart der Konfiguration können Sie nun wie folgt eine Verbindung zum angegebenen Bluetooth-Zugangspunkt herstellen:
systemctl start pan@00:11:22:33:44:55
Befehlszeilenpaarung
Natürlich müssen der Server und die Clients konfiguriert werden, nachdem sie über Bluetooth gekoppelt wurden. Auf dem Server müssen Sie bluetoothctl ausführen und den folgenden Befehl eingeben:
power on agent on default-agent scan on scan off pair XX:XX:XX:XX:XX:XX trust XX:XX:XX:XX:XX:XX
Warten Sie nach dem Starten des Scans einige Sekunden, bis das gewünschte Gerät in der Liste angezeigt wird. Notieren Sie sich seine Adresse und verwenden Sie sie, indem Sie den Befehl pair und gegebenenfalls den Befehl trust eingeben.
Der Client sollte dasselbe tun, aber der Befehl trust wird mit Sicherheit nicht benötigt. Der Server benötigt es, um die Verbindung im NAP-Profil ohne manuelle Bestätigung durch den Benutzer zu akzeptieren.
Der Autor ist sich nicht sicher, ob dies die optimale Befehlsfolge ist. Möglicherweise müssen Sie den Client nur mit dem Server koppeln und den Vertrauensbefehl auf dem Server ausführen. Er hat ihn jedoch noch nicht ausprobiert.
Aktivieren des HID-Bluetooth-Profils
Es ist erforderlich, dass der "Malinka" die Tastatur erkennt, die über ein Kabel mit dem Braillezeile verbunden ist und bereits vom Display selbst über Bluetooth weitergeleitet wird. Dies geschieht auf die gleiche Weise, nur müssen Sie anstelle des
Agenten den Befehl
KeyboardOnly des
Agenten eingeben , und bluetoothctl findet ein Gerät mit einem HID-Profil.
Die Konfiguration von Bluetooth über die Befehlszeile ist jedoch etwas kompliziert
Obwohl der Autor alles konfiguriert hat, versteht er, dass die Konfiguration von BlueZ über die Befehlszeile unpraktisch ist. Zuerst dachte er, dass Agenten nur zur Eingabe von PIN-Codes benötigt würden, aber es stellte sich zum Beispiel heraus, dass man zum Aktivieren des HID-Profils "agent KeyboardOnly" eingeben musste. Überraschenderweise müssen Sie zum Starten von Bluetooth PAN in den Repositorys nach dem gewünschten Skript suchen. Er erinnert sich, dass es in der vorherigen Version von BlueZ ein fertiges
Pand- Tool dafür gab - wo hat er es in BlueZ 5 gemacht? Plötzlich erschien eine neue Lösung, die dem Autor unbekannt war, aber an der Oberfläche lag?
Leistung
Die Datenübertragungsrate betrug ungefähr 120 kbps, was völlig ausreichend ist. Der 1-GHz-ARM-Prozessor ist für die Befehlszeilenschnittstelle sehr schnell. Der Autor plant weiterhin, hauptsächlich ssh und emacs auf dem Gerät zu verwenden.
Konsolenschriftarten und Bildschirmauflösung
Die vom Framebuffer auf dem Raspberry Pi Zero verwendete Standardbildschirmauflösung ist ziemlich seltsam: fbset meldet, dass sie 656 x 416 Pixel beträgt (der Monitor ist natürlich nicht angeschlossen). Mit einer Konsolenschrift von 8 x 16 wurden 82 Zeichen pro Zeile und 26 Zeilen erhalten.
In diesem Modus ist es unpraktisch, mit einer 40-stelligen Braillezeile zu arbeiten. Außerdem möchte der Autor, dass Unicode-Zeichen in Blindenschrift angezeigt werden. Glücklicherweise unterstützt Linux 512 Zeichen, und in den meisten Konsolenschriftarten gibt es 256. Bei der Konsoleneinrichtung können Sie zwei Schriftarten mit 256 Zeichen zusammen verwenden. Der Autor hat der Datei / etc / default / console-setup die folgenden Zeilen hinzugefügt:
SCREEN_WIDTH=80 SCREEN_HEIGHT=25 FONT="Lat15-Terminus16.psf.gz brl-16x8.psf"
Hinweis: Damit die Schriftart brl-16x8.psf verfügbar wird, müssen Sie die Konsolen-Braillezeile installieren.
Was weiter?
Auf dem Braillezeile befindet sich eine 3,5-mm-Buchse, dem Autor sind jedoch keine Adapter zum Entfernen von Audio von Mini-HDMI bekannt. Der Autor konnte die in die "Himbeere" integrierte Soundkarte nicht verwenden (seltsamerweise war sich der Übersetzer sicher, dass es in Zero keine gab, aber es gibt Möglichkeiten, PWM-Sound an GPIO auszugeben). Er plant, einen USB-OTG-Hub zu verwenden, eine externe Karte anzuschließen und den Ton an den im Braillezeile integrierten Lautsprecher auszugeben. Aus irgendeinem Grund haben zwei externe Karten nicht funktioniert, jetzt sucht er nach einem ähnlichen Gerät auf einem anderen Chipsatz.
Es ist auch unpraktisch, die "Himbeere" manuell auszuschalten, einige Sekunden zu warten und die Braillezeile auszuschalten. Und das alles, weil beim Trennen die Stromversorgung des Steckers im Fach unterbrochen wird. Der Autor plant, eine kleine Pufferbatterie in das Fach zu legen und über den GPIO die "Himbeere" über das Ausschalten des Displays zu informieren, damit die Arbeit abgeschlossen werden kann. Eine solche Miniatur-USV.
Systemabbild
Wenn Sie dieselbe Braillezeile haben und dasselbe damit tun möchten, ist der Autor bereit, ein fertiges Bild des Systems (basierend auf dem Raspbian Stretch) bereitzustellen. Schreiben Sie ihm darüber unter der oben angegebenen Adresse. Wenn viele Leute bereit sind, ist es sogar möglich, Sets zu produzieren, die alles enthalten, was Sie für eine solche Änderung benötigen.
Danksagung
Vielen Dank an Dave Mielke für das Korrekturlesen des Textes.
Vielen Dank an Simon Kainz für die Fotoillustration.
Vielen Dank an die Kollegen der Technischen Universität Graz für die schnelle Einführung des Autors in die Welt von Raspberry Pi.
PS
Der erste Tweet des Autors zu diesem Thema (er wird nicht geöffnet - der Übersetzer) wurde nur fünf Tage vor der Veröffentlichung des Originals dieses Artikels erstellt, und wir können davon ausgehen, dass die Aufgabe mit Ausnahme von Soundproblemen praktisch gelöst wurde. Übrigens hat der Autor die endgültige Version des Textes über die von ihm erstellte „autarke Braillezeile“ bearbeitet und über SSH mit dem Heimcomputer verbunden.