Raspberry Pi Zero in einer Braillezeile Handy Tech Active Star 40

Raspberry Pi Zero in einer Braillezeile Handy Tech Active Star 40

Der Autor platzierte einen Raspberry Pi Zero, eine Bluetooth-Pfeife und ein Kabel in seiner neuen Braillezeile Handy Tech Active Star 40. Für die Stromversorgung sorgt ein integrierter USB-Anschluss. Das Ergebnis war ein autarker, monitorloser Computer auf ARM mit dem Linux-Betriebssystem, ausgestattet mit einer Tastatur und einer Braillezeile. Sie können es über USB laden/mit Strom versorgen, inkl. von einer Powerbank oder einem Solarladegerät. Daher kann er mehrere Stunden, aber mehrere Tage ohne Strom auskommen.

Raspberry Pi Zero in einer Braillezeile Handy Tech Active Star 40

Dimensionsdifferenzierung von Braillezeilen

Sie unterscheiden sich zunächst in der Zeilenlänge. Geräte mit einer Kapazität von 60 oder mehr eignen sich gut für die Arbeit mit einem Desktop-Computer, während Geräte mit einer Kapazität von 40 bequem zum Tragen mit einem Laptop geeignet sind. Mittlerweile gibt es an Smartphones und Tablets angeschlossene Braillezeilen mit einer Zeilenlänge von 14 oder 18 Zeichen.

In der Vergangenheit waren Braillezeilen recht riesig. Der 40-Sitzer-Laptop hatte beispielsweise die Größe und das Gewicht eines 13-Zoll-Laptops. Jetzt sind sie bei gleicher Anzahl an Bekanntschaften so klein, dass Sie das Display vor dem Laptop platzieren können, anstatt den Laptop auf dem Display.

Das ist natürlich besser, aber es ist trotzdem nicht sehr bequem, zwei separate Geräte auf dem Schoß zu halten. Wenn Sie an einem Schreibtisch arbeiten, gibt es keine Beschwerden, aber Sie sollten bedenken, dass ein Laptop auch mit einem anderen Namen bezeichnet wird, und versuchen, seinen Namen zu rechtfertigen, da sich herausstellt, dass die Miniaturanzeige mit 40 Zeichen noch weniger praktisch ist.

Der Autor wartete also auf die Veröffentlichung des lange versprochenen neuen Modells der Handy Tech Star-Reihe. Bereits 2002 kam das Vorgängermodell Handy Tech Braille Star 40 auf den Markt, bei dem die Korpusfläche ausreicht, um einen Laptop darauf zu stellen. Und wenn es nicht passt, gibt es einen ausziehbaren Ständer. Jetzt wurde dieses Modell durch das fast identische Active Star 40 ersetzt, jedoch mit verbesserter Elektronik.

Raspberry Pi Zero in einer Braillezeile Handy Tech Active Star 40

Und der ausziehbare Ständer bleibt:

Raspberry Pi Zero in einer Braillezeile Handy Tech Active Star 40

Das Praktischste an dem neuen Produkt ist jedoch eine Aussparung in etwa der Größe eines Smartphones (siehe KDPV). Es öffnet sich, wenn die Plattform nach hinten bewegt wird. Es stellte sich als unpraktisch heraus, ein Smartphone dort zu halten, aber man muss irgendwie das leere Fach nutzen, in dem sich sogar eine Steckdose befindet.

Die erste Idee des Autors war, den Raspberry Pi dort zu platzieren, aber als das Display gekauft wurde, stellte sich heraus, dass der Ständer, der das Fach abdeckte, nicht mit der „Himbeere“ hineingleitete. Wenn die Platine nur 3 mm dünner wäre ...

Aber ein Kollege erzählte mir von der Veröffentlichung des Raspberry Pi Zero, der sich als so klein herausstellte, dass zwei davon in das Fach passten ... oder vielleicht sogar drei. Es wurde sofort zusammen mit einer 64-GB-Speicherkarte, Bluetooth, „Pfeife“ und einem Micro-USB-Kabel bestellt. Ein paar Tage später traf alles ein und sehende Freunde halfen dem Autor bei der Erstellung einer Karte. 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 Tastatur mit Magnethalterung ist im Lieferumfang enthalten. Wenn die Tastatur angeschlossen ist und das Display selbst über Bluetooth funktioniert, erkennt der Computer es zusätzlich als Bluetooth-Tastatur.

Wenn Sie also eine Bluetooth-Pfeife mit einem Raspberry Pi Zero verbinden, der sich im Smartphone-Fach befindet, kann dieser über Bluetooth mit der Braillezeile kommunizieren BRLTTY, und wenn man zusätzlich eine Tastatur an das Display anschließt, funktioniert der „Raspberry“ auch damit.

Aber das ist nicht alles. Die „Himbeere“ selbst wiederum kann über Bluetooth PAN von jedem Gerät, das dies unterstützt, auf das Internet zugreifen. Der Autor hat sein Smartphone und seine Computer zu Hause und am Arbeitsplatz entsprechend konfiguriert, plant jedoch, in Zukunft eine weitere „Himbeere“ dafür anzupassen – eine klassische, keine Zero, verbunden mit Ethernet und einer weiteren Bluetooth-„Pfeife“.

BlueZ 5 und PAN

PAN-Konfigurationsmethode mit BlauZ stellte sich als nicht offensichtlich heraus. Der Autor hat das Python-Skript bt-pan gefunden (siehe unten), mit dem Sie PAN ohne GUI konfigurieren können.

Es kann sowohl zur Konfiguration des Servers als auch des Clients verwendet werden. Nachdem es im Client-Modus den entsprechenden Befehl über D-Bus erhalten hat, erstellt es sofort nach dem Verbindungsaufbau mit dem Server ein neues Netzwerkgerät bnep0. Normalerweise wird DHCP verwendet, um dieser Schnittstelle eine IP-Adresse zuzuweisen. Im Servermodus benötigt BlueZ den Namen eines Bridge-Geräts, zu dem es ein Slave-Gerät hinzufügen kann, um jeden Client zu verbinden. Normalerweise reicht es aus, eine Adresse für das Bridge-Gerät zu konfigurieren und einen DHCP-Server sowie IP-Masquerading auf der Bridge auszuführen.

Bluetooth PAN Access Point mit Systemd

Um die Bridge zu konfigurieren, verwendete der Autor systemd-networkd:

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 wir BlueZ zwingen, das NAP-Profil zu konfigurieren. Es stellte sich heraus, dass dies mit den Standarddienstprogrammen von BlueZ 5.36 nicht möglich ist. Wenn der Autor falsch liegt, korrigieren Sie ihn: mlang (kann seine Ohren bewegen) blinder (manchmal Zugang und Quanten) Guru

Aber er hat es gefunden Blog-Beitrag и Python-Skript um die notwendigen Anrufe an D-Bus zu tätigen.

Der Einfachheit halber nutzte der Autor den Systemd-Dienst, um das Skript auszuführen und zu prüfen, ob Abhängigkeiten aufgelöst wurden.

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äre nicht erforderlich, wenn Debian IPMasquerade=-Unterstützung hätte (siehe unten). #787480).

Nach Ausführung der Befehle Systemctl-Daemon-Reload и systemctl starte systemd-networkd neu Mit dem Befehl können Sie Bluetooth PAN starten systemctl start pan

Bluetooth PAN-Client mit Systemd

Auch die Client-Seite lässt sich mit Systemd einfach konfigurieren.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

Datei /etc/systemd/system/[E-Mail geschützt]

[Unit]
Description=Bluetooth Personal Area Network client

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

Nach dem erneuten Laden der Konfiguration können Sie nun wie folgt eine Verbindung zum angegebenen Bluetooth-Zugangspunkt herstellen:

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

Kopplung über die Befehlszeile

Natürlich muss die Konfiguration des Servers und der Clients nach der Kopplung über Bluetooth erfolgen. Auf dem Server müssen Sie Bluetoothctl ausführen und ihm die folgenden Befehle erteilen:

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 Start des Scans einige Sekunden, bis das benötigte Gerät in der Liste erscheint. Notieren Sie sich seine Adresse und verwenden Sie sie, indem Sie den Pair-Befehl und gegebenenfalls den Trust-Befehl ausgeben.

Auf der Clientseite müssen Sie dasselbe tun, aber der Befehl „trust“ ist definitiv nicht erforderlich. Der Server benötigt es, um eine Verbindung über das NAP-Profil ohne manuelle Bestätigung durch den Benutzer zu akzeptieren.

Der Autor ist sich nicht sicher, ob dies die optimale Befehlsfolge ist. Vielleicht muss er nur den Client mit dem Server koppeln und den Trust-Befehl auf dem Server ausführen, aber er hat dies noch nicht versucht.

Aktivieren des HID-Bluetooth-Profils

Voraussetzung ist, dass der Raspberry eine per Kabel mit der Braillezeile verbundene Tastatur erkennt und von der Braillezeile selbst per Bluetooth übermittelt wird. Dies geschieht auf die gleiche Weise, nur stattdessen Agent an muss einen Befehl geben Agent Nur Tastatur und Bluetoothctl findet ein Gerät mit einem HID-Profil.

Die Einrichtung von Bluetooth über die Befehlszeile ist jedoch etwas kompliziert

Obwohl es dem Autor gelungen ist, alles zu konfigurieren, versteht er, dass die Konfiguration von BlueZ über die Befehlszeile umständlich ist. Zuerst dachte er, dass Agenten nur PIN-Codes eingeben müssten, aber es stellte sich heraus, dass man zum Beispiel zum Aktivieren des HID-Profils „agent KeyboardOnly“ eingeben musste. Es ist überraschend, dass man zum Starten von Bluetooth PAN Repositorys auf der Suche nach dem erforderlichen Skript durchsuchen muss. Er erinnert sich, dass es in der Vorgängerversion von BlueZ dafür ein fertiges Tool gab Panda - Wo macht er sich in BlueZ 5? Plötzlich tauchte eine neue Lösung auf, die dem Autor unbekannt war, aber an der Oberfläche lag?

Leistung

Die Datenübertragungsgeschwindigkeit betrug ca. 120 kbit/s, was völlig ausreichend ist. Der 1-GHz-ARM-Prozessor ist für eine Befehlszeilenschnittstelle sehr schnell. Der Autor plant weiterhin, hauptsächlich SSH und Emacs auf dem Gerät zu verwenden.

Konsolenschriftarten und Bildschirmauflösung

Die standardmäßige Bildschirmauflösung, die der Framebuffer auf dem Raspberry Pi Zero verwendet, ist ziemlich seltsam: fbset meldet sie mit 656 x 416 Pixeln (natürlich ohne angeschlossenen Monitor). Bei einer Konsolenschriftart von 8×16 waren es 82 Zeichen pro Zeile und 26 Zeilen.

In diesem Modus ist es umständlich, mit einer Braillezeile mit 40 Zeichen zu arbeiten. Der Autor würde sich auch wünschen, dass Unicode-Zeichen in Blindenschrift angezeigt würden. Glücklicherweise unterstützt Linux 512 Zeichen und die meisten Konsolenschriftarten haben 256. Mit console-setup 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: Um die Schriftart brl-16×8.psf verfügbar zu machen, müssen Sie console-braille installieren.

Was kommt als nächstes?

Die Braillezeile verfügt über einen 3,5-mm-Klinkenanschluss, Adapter für den Empfang eines Audiosignals von Mini-HDMI sind dem Autor jedoch nicht bekannt. Der Autor war nicht in der Lage, die im Raspberry eingebaute Soundkarte zu verwenden (seltsamerweise war sich der Übersetzer sicher, dass der Zero keine hatte, aber es gibt Möglichkeiten, Sound per PWM an den GPIO auszugeben). Er plant, einen USB-OTG-Hub zu verwenden, eine externe Karte anzuschließen und den Ton über den in die Braillezeile integrierten Lautsprecher auszugeben. Aus irgendeinem Grund funktionierten zwei externe Karten nicht; jetzt sucht er nach einem ähnlichen Gerät mit einem anderen Chipsatz.

Es ist auch umständlich, die „Himbeere“ manuell auszuschalten, ein paar Sekunden zu warten und dann die Braillezeile auszuschalten. Und das alles, weil es beim Ausschalten den Strom vom Anschluss im Fach trennt. Der Autor plant, eine kleine Pufferbatterie in das Fach einzubauen und den Raspberry über GPIO über das Ausschalten des Displays zu informieren, damit dieser mit dem Herunterfahren beginnen kann. Dies ist eine USV im Miniaturformat.

Systembild

Wenn Sie über die gleiche Braillezeile verfügen und dasselbe damit machen möchten, stellt der Autor gerne ein fertiges Bild des Systems (basierend auf Raspbian Stretch) zur Verfügung. Schreiben Sie ihm hierzu unter der oben angegebenen Adresse. Wenn genügend Interessenten vorhanden sind, ist es sogar möglich, Kits herauszubringen, die alles enthalten, was für eine solche Modifikation erforderlich ist.

Danksagung

Vielen Dank an Dave Mielke für das Korrekturlesen.

Danke an Simon Kainz für die Fotoillustrationen.

Vielen Dank an meine Kollegen von der Technischen Universität Graz für die schnelle Einführung des Autors in die Welt des Raspberry Pi.

PS Erster Tweet Der Autor zu diesem Thema (öffnet sich nicht - Übersetzer) wurde nur fünf Tage vor der Veröffentlichung des Originals dieses Artikels erstellt, und man kann davon ausgehen, dass die Aufgabe mit Ausnahme von Tonproblemen praktisch gelöst wurde. Übrigens hat der Autor die endgültige Fassung des Textes auf einer von ihm erstellten „autarken Braillezeile“ bearbeitet und diese über SSH mit seinem Heimcomputer verbunden.

Source: habr.com

Kommentar hinzufügen