Raspberry Pi Zero andedan yon ekspozisyon bray Handy Tech Active Star 40

Raspberry Pi Zero andedan yon ekspozisyon bray Handy Tech Active Star 40

Otè a te mete yon Raspberry Pi Zero, yon siflèt Bluetooth, ak yon kab andedan nouvo ekspozisyon braille Handy Tech Active Star 40 li a. Yon pò USB entegre bay pouvwa. Rezilta a se te yon òdinatè oto-sifizan san monitè sou ARM ak sistèm operasyon Linux la, ki ekipe ak yon klavye ak yon ekspozisyon bray. Ou ka chaje / pouvwa li atravè USB, incl. soti nan yon bank pouvwa oswa plato solè. Se poutèt sa, li ka fè san pouvwa pou plizyè èdtan, men pou plizyè jou.

Raspberry Pi Zero andedan yon ekspozisyon bray Handy Tech Active Star 40

Diferansasyon dimansyon nan ekspozisyon bray

Premye a tout, yo diferan nan longè liy lan. Aparèy ki gen 60 oswa plis kapasite yo bon pou travay ak yon òdinatè Desktop, pandan y ap aparèy ki gen 40 kapasite yo bon pou pote ak yon laptop. Koulye a, gen ekspozisyon bray ki konekte ak smartphones ak tablèt, ak yon longè liy 14 oswa 18 karaktè.

Nan tan lontan an, ekspozisyon bray yo te byen masiv. Laptop 40 plas la, pou egzanp, te gen gwosè ak pwa nan yon laptop 13-pous. Koulye a, ak menm kantite zanmi yo, yo tipòtrè ase pou ou ka mete ekspozisyon an devan laptop la, olye ke laptop la sou ekspozisyon an.

Sa a se, nan kou, pi bon, men li toujou pa trè pratik yo kenbe de aparèy separe sou janm ou. Lè w ap travay nan yon biwo, pa gen okenn plent, men li vo sonje ke yon laptop yo rele yon laptop pa yon lòt non, epi eseye jistifye non li, kòm li sanble ke ekspozisyon an tipòtrè 40 karaktè se menm mwens pratik.

Se konsa, otè a te tann pou nouvo modèl ki te pwomèt depi lontan nan seri Handy Tech Star yo dwe lage. Retounen nan 2002, ansyen modèl Handy Tech Braille Star 40 te lage, kote zòn nan kò a ase yo mete yon laptop sou tèt. Men, si li pa anfòm, gen yon kanpe retractable. Koulye a, modèl sa a te ranplase pa Active Star 40, ki se prèske menm bagay la, men ak elektwonik modènize.

Raspberry Pi Zero andedan yon ekspozisyon bray Handy Tech Active Star 40

Ak kanpe retractable a rete:

Raspberry Pi Zero andedan yon ekspozisyon bray Handy Tech Active Star 40

Men, bagay ki pi pratik sou nouvo pwodwi a se yon rekreyasyon apeprè gwosè yon smartphone (gade KDPV). Li louvri lè platfòm la deplase tounen. Li te tounen soti nan konvenyan kenbe yon smartphone la, men ou bezwen yon jan kanmenm sèvi ak lòj la vid, andedan ki gen menm yon priz kouran.

Premye bagay otè a te vini ak se te mete Franbwaz Pi a la, men lè yo te achte ekspozisyon an, li te vin parèt ke kanpe ki kouvri lòj la pa t glise ak "franbwaz la." Koulye a, si tablo a te sèlman 3 mm mens...

Men, yon kòlèg te di m 'sou liberasyon an nan Franbwaz Pi Zewo a, ki te tounen soti yo dwe tèlman miniature ke de nan yo te kapab anfòm nan lòj la ... oswa petèt menm twa. Li te imedyatman bay lòd ansanm ak yon kat memwa 64 GB, Bluetooth, "sifle" ak yon kab Micro USB. Kèk jou apre, tout bagay sa yo te rive, ak zanmi ki wè yo te ede otè a prepare yon kat. Tout bagay te travay imedyatman jan li ta dwe.

Kisa ki te fèt pou sa

Sou do Handy Tech Active Star 40 la gen de pò USB pou aparèy tankou klavye. Yon klavye ti gwosè ak mòn mayetik enkli. Lè klavye a konekte, epi ekspozisyon an tèt li ap travay atravè Bluetooth, òdinatè a rekonèt li kòm yon klavye Bluetooth.

Kidonk, si ou konekte yon "sifle" Bluetooth ak yon Franbwaz Pi Zero ki mete nan lòj smartphone la, li pral kapab kominike ak ekspozisyon bray la atravè Bluetooth lè l sèvi avèk BRLTTY, epi si ou konekte tou yon klavye nan ekspozisyon an, "franbwaz la" ap travay avèk li tou.

Men, sa a se pa tout. "Franbwaz la" tèt li, nan vire, ka jwenn aksè nan entènèt la atravè Bluetooth PAN soti nan nenpòt aparèy ki sipòte li. Otè a te konfigirasyon smartphone l 'ak òdinatè nan kay la ak nan travay kòmsadwa, men nan lavni an li planifye adapte yon lòt "franbwaz" pou sa a - yon sèl klasik, pa yon zewo, ki konekte ak Ethernet ak yon lòt "sifle".

BlueZ 5 ak PAN

PAN metòd konfigirasyon lè l sèvi avèk blez te tounen evidan. Otè a te jwenn script bt-pan Python (gade anba a), ki pèmèt ou konfigirasyon PAN san yon entèfas.

Li ka itilize pou konfigirasyon tou de sèvè a ak kliyan an. Lè w fin resevwa lòd ki apwopriye a atravè D-Bus lè w ap travay nan mòd kliyan, li kreye yon nouvo aparèy rezo bnep0 imedyatman apre etabli yon koneksyon ak sèvè a. Tipikman, DHCP yo itilize pou bay yon adrès IP nan koòdone sa a. Nan mòd sèvè, BlueZ mande pou non yon aparèy pon kote li ka ajoute yon aparèy esklav pou konekte chak kliyan. Konfigirasyon yon adrès pou aparèy pon an ak kouri yon sèvè DHCP plis IP masquerading sou pon an se nòmalman tout sa ki nesesè.

Pwen Aksè Bluetooth PAN ak Systemd

Pou konfigirasyon pon an, otè a te itilize systemd-networkd:

Fichye /etc/systemd/network/pan.netdev

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

Fichye /etc/systemd/network/pan.network

[Match]
Name=pan

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

Koulye a, nou bezwen fòse BlueZ konfigirasyon pwofil la NAP. Li te tounen soti ke sa a pa ka fè ak sèvis piblik estanda BlueZ 5.36 yo. Si otè a mal, korije li: mlang (ka deplase zòrèy li) avèg (pafwa aksè ak quantum) gourou

Men li te jwenn pòs blog и Script Python pou fè apèl ki nesesè yo nan D-Bus.

Pou konvenyans, otè a te itilize sèvis Systemd pou kouri script la epi tcheke si depandans yo rezoud.

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

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

Dezyèm fichye a pa t ap bezwen si Debian te gen sipò pou IPMasquerade= (gade anba a). # 787480).

Apre egzekite kòmandman yo systemactl demon-reload и systemctl rekòmanse systemd-networkd ou ka kòmanse Bluetooth PAN ak lòd la systemctl kòmanse pan

Kliyan Bluetooth PAN lè l sèvi avèk Systemd

Bò kliyan an tou fasil pou konfigirasyon lè l sèvi avèk Systemd.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

Fichye /etc/systemd/system/[imèl pwoteje]

[Unit]
Description=Bluetooth Personal Area Network client

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

Koulye a, apre yo fin rechaje konfigirasyon an, ou ka konekte ak pwen aksè Bluetooth espesifye tankou sa a:

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

Pairing lè l sèvi avèk liy lòd la

Natirèlman, konfigirasyon sèvè a ak kliyan yo dwe fè apre yo fin asosye yo atravè Bluetooth. Sou sèvè a ou bezwen kouri bluetoothctl epi ba li kòmandman yo:

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

Apre w fin kòmanse eskanè a, tann kèk segond jiskaske aparèy ou bezwen an parèt nan lis la. Ekri adrès li epi sèvi ak li lè w bay kòmandman koup la epi, si sa nesesè, kòmandman konfyans lan.

Sou bò kliyan an, ou bezwen fè menm bagay la, men kòmandman konfyans nan definitivman pa nesesè. Sèvè a bezwen li aksepte yon koneksyon lè l sèvi avèk pwofil la NAP san yo pa manyèl konfimasyon pa itilizatè a.

Otè a pa sèten ke sa a se sekans optimal nan kòmandman yo. Petèt tout sa ki nesesè se pè kliyan an ak sèvè a epi kouri lòd la konfyans sou sèvè a, men li pa te eseye sa a ankò.

Pèmèt HID Bluetooth Profile

Li nesesè pou Franbwaz la rekonèt yon klavye ki konekte ak ekspozisyon Braille pa fil, epi li transmèt pa ekspozisyon an li menm atravè Bluetooth. Sa a se fè nan menm fason an, sèlman olye ajan sou bezwen bay yon kòmandman ajan KeyboardOnly ak bluetoothctl pral jwenn yon aparèy ki gen yon pwofil HID.

Men, mete kanpe Bluetooth atravè liy lòd la se yon ti jan konplike

Malgre ke otè a jere yo konfigirasyon tout bagay, li konprann ke konfigirasyon BlueZ atravè liy lan lòd se konvenyan. Okòmansman, li te panse ke ajan yo te sèlman bezwen antre kòd PIN, men li te tounen soti, pou egzanp, ke yo pèmèt pwofil la HID ou bezwen tape "ajan KeyboardOnly". Li se etone ke pou lanse Bluetooth PAN ou bezwen monte nan depo pou chèche script ki nesesè yo. Li sonje ke nan vèsyon anvan an nan BlueZ te gen yon zouti pare pou sa a pand - ki kote l ap fè nan BlueZ 5? Menm lè yon nouvo solisyon parèt, otè a enkoni, men kouche sou sifas la?

Pwodiktivite

Vitès transfè done a te apeprè 120 kbit / s, ki ase ase. 1GHz ARM processeur a trè vit pou yon koòdone liy lòd. Otè a toujou planifye pou itilize sitou ssh ak emacs sou aparèy la.

Polis konsole ak rezolisyon ekran

Rezolisyon ekran an default itilize pa framebuffer la sou Franbwaz Pi Zewo a se byen etranj: fbset rapòte li kòm 656x416 piksèl (pa gen okenn monitè konekte, nan kou). Avèk yon font konsole nan 8 × 16, te gen 82 karaktè pou chak liy ak 26 liy.

Li pa konvenyan pou travay ak yon ekspozisyon Braille 40 karaktè nan mòd sa a. Otè a ta renmen wè karaktè Unicode yo parèt an bray tou. Erezman, Linux sipòte 512 karaktè, ak pifò polis konsole gen 256. Sèvi ak konsole-konfigirasyon, ou ka itilize de polis 256 karaktè ansanm. Otè a te ajoute liy sa yo nan /etc/default/console-setup fichye a:

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

Remak: pou fè font brl-16×8.psf disponib, ou bezwen enstale console-braille.

Ki sa ki nan pwochen?

Ekspozisyon bray la gen yon jack 3,5 mm, men otè a pa okouran de adaptè pou resevwa yon siyal odyo nan Mini-HDMI. Otè a pa t 'kapab sèvi ak kat son ki te bati nan Franbwaz la (etranj, tradiktè a te asire w ke Zero a pa t' gen youn, men gen fason yo pwodiksyon son lè l sèvi avèk PWM nan GPIO la). Li planifye pou sèvi ak yon sant USB-OTG epi konekte yon kat ekstèn ak son pwodiksyon ak oratè ki bati nan ekspozisyon bray la. Pou kèk rezon, de kat ekstèn pa t 'travay kounye a li ap chèche pou yon aparèy ki sanble sou yon chipset diferan.

Li pa konvenyan tou manyèlman fèmen "franbwaz la", rete tann kèk segonn epi fèmen ekspozisyon bray la. Ak tout paske lè li se etenn, li retire pouvwa nan konektè a nan lòj la. Otè a planifye pou mete yon ti batri tanpon nan lòj la epi, atravè GPIO, enfòme Franbwaz la sou ekspozisyon an fèmen, pou li ka kòmanse fèmen travay li. Sa a se yon UPS nan tipòtrè.

Imaj sistèm lan

Si w gen menm ekspozisyon bray la epi ou ta renmen fè menm bagay la avèk li, otè a pare pou l bay yon imaj sistèm nan pare (ki baze sou Raspbian Stretch). Ekri li sou sa a nan adrès ki endike anwo a. Si gen ase moun ki enterese, li se menm posib yo lage twous ki gen ladan tout bagay ki nesesè pou yon modifikasyon konsa.

Remèsiman

Mèsi a Dave Mielke pou koreksyon.

Mèsi a Simon Kainz pou ilistrasyon foto yo.

Mèsi a kòlèg mwen yo nan Graz Technical University pou byen vit entwodwi otè a nan mond lan nan Franbwaz Pi.

PS Premye tweet otè sou sijè sa a (pa louvri - tradiktè) te fè jis senk jou anvan piblikasyon orijinal la nan atik sa a, epi li ka konsidere ke, ak eksepsyon de pwoblèm ak son, travay la te pratikman rezoud. By wout la, otè a edite vèsyon final la nan tèks la nan yon "ekspozisyon Braille endepandan" li te fè, konekte li atravè SSH ak òdinatè lakay li.

Sous: www.habr.com

Add nouvo kòmantè