Raspberry Pi Zero ing tampilan braille Handy Tech Active Star 40

Raspberry Pi Zero ing tampilan braille Handy Tech Active Star 40

Aku diselehake Raspberry Pi Zero, singsot Bluetooth lan kabel ing tampilan braille Handy Tech Active Star anyar 40. Port USB sing dibangun ing nyedhiyakake daya. Asil kasebut yaiku komputer tanpa monitor sing mandhiri ing ARM kanthi sistem operasi Linux, dilengkapi keyboard lan tampilan Braille. Sampeyan bisa ngisi daya / daya liwat USB, kalebu. saka bank daya utawa pangisi daya solar. Mulane, dheweke bisa nindakake tanpa listrik ora kanggo sawetara jam, nanging kanggo sawetara dina.

Raspberry Pi Zero ing tampilan braille Handy Tech Active Star 40

Diferensiasi dimensi tampilan braille

Kaping pisanan, padha beda-beda ing dawa baris. Piranti karo 60 utawa luwih akrab apik nalika nggarap komputer desktop, 40 trep kanggo digawa karo laptop. Saiki uga ana tampilan braille sing disambungake menyang smartphone lan tablet, kanthi dawa garis 14 utawa 18 karakter.

Ing jaman biyen, tampilan braille cukup gedhe. 40-karakter, umpamane, nduweni dimensi lan bobot sing padha karo laptop 13 inci. Saiki, kanthi jumlah akrab sing padha, cukup miniatur supaya sampeyan bisa nyelehake layar ing ngarep laptop, lan dudu laptop ing layar.

Iki mesthi luwih apik, nanging isih ora trep kanggo nyekel rong piranti sing kapisah ing puteran sampeyan. Nalika nggarap meja, ora ana keluhan, nanging kudu eling yen laptop diarani laptop kanthi cara liya, lan nyoba mbenerake jenenge, amarga tampilan miniatur 40 karakter malah kurang trep.

Dadi penulis ngenteni rilis model anyar sing wis dijanjekake ing seri Handy Tech Star. Mbalik ing taun 2002, model sadurungé Handy Tech Braille Star 40 dirilis, ing ngendi area awak cukup kanggo nyelehake laptop ing ndhuwur. Lan yen ora pas, ngadeg retractable kasedhiya. Saiki model iki wis diganti dening Active Star 40, kang sacoro prakteke padha, nanging karo electronics nganyari.

Raspberry Pi Zero ing tampilan braille Handy Tech Active Star 40

Lan ngadeg retractable tetep:

Raspberry Pi Zero ing tampilan braille Handy Tech Active Star 40

Nanging sing paling trep babagan anyar yaiku reses babagan ukuran smartphone (pirsani KDPV). Mbukak nalika platform dipindhah maneh. Ternyata ora trep kanggo nyimpen smartphone ing kono, nanging siji kudu nggunakake kompartemen kosong, sing ana malah stopkontak.

Wangsulan: Bab ingkang pisanan penulis teka munggah karo iku kanggo sijine Raspberry Pi ana, nanging nalika tampilan dituku, jebule ngadeg sing nutup kompartemen ora pindhah karo "raspberry". Saiki, yen papan mung 3 mm luwih tipis ...

Nanging kolega ngomong babagan rilis Raspberry Pi Zero, sing dadi cilik banget nganti loro mau pas ing teluk ... utawa bisa uga telu. Iku langsung dhawuh bebarengan karo kertu memori 64 GB, Bluetooth, singsot lan kabel Micro USB. Sawetara dina sabanjure, kabeh iki teka, lan kanca-kanca sing weruh mbantu penulis nyiapake peta. Kabeh langsung kerja kaya sing dikarepake.

Apa sing ditindakake kanggo iki

Ing mburi Handy Tech Active Star 40 ana rong port USB kanggo piranti kayata keyboard. Papan tombol kompak kanthi lampiran magnetik kalebu. Nalika keyboard disambungake, lan tampilan dhewe dianggo liwat Bluetooth, komputer tambahan ngenali minangka keyboard Bluetooth.

Dadi, yen peluit Bluetooth disambungake menyang Raspberry Pi Zero sing diselehake ing kompartemen smartphone, bakal bisa komunikasi karo tampilan braille liwat Bluetooth nggunakake BRLTTY, lan yen sampeyan uga nyambungake keyboard menyang tampilan, "raspberry" uga bisa digunakake.

Nanging ora mung kuwi. Raspberry dhewe bisa ngakses Internet liwat Bluetooth PAN saka piranti apa wae sing ndhukung. Penulis wis ngonfigurasi smartphone lan komputer ing omah lan ing karya, nanging ing mangsa ngarep dheweke ngrancang kanggo ngganti "raspberry" liyane kanggo iki - klasik, ora Zero, disambungake menyang Ethernet lan "singsot" Bluetooth liyane.

BlueZ5 lan PAN

Cara konfigurasi PAN nggunakake Biru jebul ora katon. Penulis nemokake skrip Pyhton bt-pan (ndeleng ngisor) sing ngidini sampeyan ngatur PAN tanpa GUI.

Kanthi iku, sampeyan bisa ngatur loro server lan klien. Sawise nampa prentah sing cocog liwat D-Bus nalika digunakake ing mode klien, nggawe piranti jaringan anyar bnep0 sanalika sawise nggawe sambungan karo server. Biasane, DHCP digunakake kanggo nemtokake alamat IP kanggo antarmuka iki. Ing mode server, BlueZ mbutuhake jeneng piranti jembatan, sing bisa nambah piranti budak kanggo nyambungake saben klien. Konfigurasi alamat kanggo piranti jembatan lan mbukak server DHCP plus IP masquerading ing jembatan biasane kabeh sing dibutuhake.

Titik Akses Bluetooth PAN karo Systemd

Penulis nggunakake systemd-networkd kanggo ngatur jembatan:

FILE /etc/systemd/network/pan.netdev

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

FILE /etc/systemd/network/pan.network

[Match]
Name=pan

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

Saiki kita kudu njaluk BlueZ kanggo ngatur profil NAP. Ternyata BlueZ 5.36 keperluan reguler ora bisa nindakake iki. Yen penulis salah, benerake: mlang (ngerti ngobahake kuping) buta (kadang akses lan kuantum) guru

Nanging dheweke ketemu postingan blog и skrip python kanggo nelpon D-Bus perlu.

Kanggo penak, penulis nggunakake layanan Systemd kanggo mbukak script lan mriksa yen dependensi wis ditanggulangi.

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

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

Berkas kapindho ora bakal dibutuhake yen Debian duwe dhukungan kanggo IPMasquerade= (ndeleng ngisor). #787480).

Sawise nglakokake prentah sistemik daemon-reload и systemctl miwiti maneh systemd-networkd sampeyan bisa miwiti Bluetooth PAN karo printah systemctl wiwitan pan

Klien PAN Bluetooth nggunakake Systemd

Sisih klien uga gampang diatur nggunakake Systemd.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

FILE /etc/systemd/system/[email dilindhungi]

[Unit]
Description=Bluetooth Personal Area Network client

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

Saiki, sawise ngisi maneh konfigurasi, sampeyan bisa nyambung menyang titik akses Bluetooth sing ditemtokake kaya iki:

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

Masangake nggunakake baris printah

Mesthi, konfigurasi server lan klien kudu rampung sawise masangake liwat Bluetooth. Ing server, sampeyan kudu mbukak bluetoothctl lan menehi printah:

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

Sawise miwiti pindai, ngenteni sawetara detik nganti piranti sing dibutuhake katon ing dhaptar. Tulis alamate lan gunakake nganggo printah pasangan lan, yen perlu, nganggo perintah kepercayaan.

Saka sisih klien, sampeyan kudu nindakake sing padha, nanging prentah kapercayan ora bakal dibutuhake. Server perlu kanggo nampa sambungan profil NAP tanpa konfirmasi manual dening pangguna.

Penulis ora yakin manawa iki minangka urutan printah sing paling optimal. Mungkin kabeh sing dibutuhake yaiku masangake klien karo server lan nglakokake perintah kepercayaan ing server, nanging dheweke durung nyoba.

Ngaktifake Profil HID Bluetooth

Dibutuhake yen "raspberry" ngenali keyboard sing disambungake menyang tampilan Braille kanthi kabel, lan diterusake dening tampilan kasebut liwat Bluetooth. Apa padha, nanging tinimbang agen ing kudu menehi perintah agen KeyboardMung lan bluetoothctl bakal nemokake piranti kanthi profil HID.

Nanging konfigurasi Bluetooth liwat baris printah angel.

Sanajan penulis bisa ngatur kabeh, dheweke ngerti yen konfigurasi BlueZ liwat baris printah ora trep. Ing wiwitan, dheweke mikir yen agen mung dibutuhake kanggo ngetik kode PIN, nanging ternyata, contone, kanggo ngaktifake profil HID, sampeyan kudu ngetik "Agen KeyboardMung". Kaget, kanggo miwiti Bluetooth PAN, sampeyan kudu menek liwat repositori kanggo nggoleki skrip sing bener. Dheweke ngelingi yen ing versi BlueZ sadurunge ana alat sing wis siap kanggo iki. pan - ing ngendi dheweke nindakake ing BlueZ 5? Dumadakan, solusi anyar muncul, ora dingerteni penulis, nanging ana ing permukaan?

Produktivitas

Tingkat transfer data kira-kira 120 kbps, sing cukup. Prosesor ARM 1GHz cepet banget kanggo antarmuka baris perintah. Penulis isih ngrancang nggunakake utamane ssh lan emacs ing piranti kasebut.

Fonts console lan resolusi layar

Resolusi layar standar digunakake dening framebuffer ing Raspberry Pi Zero rada aneh: fbset laporan minangka 656x416 piksel (ora ana monitor disambungake, mesthi). Kanthi font console 8x16, kita entuk 82 karakter saben baris lan 26 baris.

Nggarap tampilan braille 40 karakter ing mode iki ora trep. Uga, penulis pengin karakter Unicode ditampilake ing Braille. Untunge, Linux ndhukung 512 karakter, lan umume font console duwe karakter 256. Kanthi persiyapan konsol, sampeyan bisa nggunakake rong font 256 karakter bebarengan. Penulis nambahake baris ing ngisor iki menyang file /etc/default/console-setup:

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

Cathetan: Kanggo nggawe font brl-16x8.psf kasedhiya, sampeyan kudu nginstal console-braille.

Apa sabanjuré?

Tampilan braille duwe jack 3,5 mm, nanging penulis ora ngerti adaptor kanggo njupuk audio saka Mini-HDMI. Penulis ora bisa nggunakake kertu swara sing dibangun ing "raspberry" (aneh, penerjemah manawa Zero ora duwe, nanging ana cara kanggo output swara dening PWM menyang GPIO). Dheweke ngrancang nggunakake hub USB-OTG lan nyambungake kertu eksternal lan swara output menyang speaker sing dibangun ing tampilan Braille. Kanggo sawetara alasan, rong kertu eksternal ora bisa digunakake, saiki dheweke nggoleki piranti sing padha ing chipset sing beda.

Sampeyan uga ora trep kanggo mateni "raspberry" kanthi manual, ngenteni sawetara detik lan mateni tampilan braille. Lan kabeh amarga nalika dipateni, mbusak daya saka konektor ing kompartemen. Penulis rencana kanggo nyelehake baterei buffer cilik ing kompartemen lan, liwat GPIO, ngandhani "raspberry" babagan mateni tampilan supaya wiwit mati. Kuwi UPS ing miniatur.

Gambar sistem

Yen sampeyan duwe tampilan braille sing padha lan pengin nindakake perkara sing padha, penulis seneng menehi gambar sistem sing wis siap (adhedhasar Raspbian Stretch). Tulis kanggo dheweke babagan ing alamat ndhuwur. Yen ana cukup wong sing kasengsem, malah bisa ngeculake kit sing kalebu kabeh sing dibutuhake kanggo remake kasebut.

Matur suwun

Thanks kanggo Dave Mielke kanggo proofreading teks.

Thanks kanggo Simon Kainz kanggo ilustrasi foto.

Thanks kanggo kanca-kanca ing Universitas Teknologi Graz kanthi cepet ngenalake penulis menyang jagad Raspberry Pi.

PS Tweet pisanan penulis ing topik iki (ora mbukak - translator) digawe mung limang dina sadurunge publikasi asli saka artikel iki, lan kita bisa nganggep sing, kajaba masalah karo swara, tugas wis praktis ditanggulangi. Miturut cara, penulis nyunting versi pungkasan teks saka "tampilan Braille mandhiri" sing digawe, nyambungake liwat SSH menyang komputer omah.

Source: www.habr.com

Add a comment