Raspberry Pi Zero dina tampilan braille Handy Tech Active Star 40

Raspberry Pi Zero dina tampilan braille Handy Tech Active Star 40

Panulis nempatkeun buah prambus Pi Zero, kacapi Bluetooth, sareng kabel di jero tampilan braille Handy Tech Active Star 40. A port USB anu diwangun nyayogikeun kakuatan. Hasilna nyaéta komputer tanpa monitor mandiri dina ARM sareng sistem operasi Linux, dilengkepan keyboard sareng tampilan Braille. Anjeun tiasa ngeusi batre / kakuatan éta via USB, incl. ti bank kakuatan atawa carjer surya. Ku alatan éta, anjeunna tiasa ngalakukeun tanpa kakuatan pikeun sababaraha jam, tapi pikeun sababaraha poé.

Raspberry Pi Zero dina tampilan braille Handy Tech Active Star 40

Diferensiasi dimensi tina tampilan braille

Anu mimiti, aranjeunna béda dina panjang garis. Alat anu kapasitasna 60 atanapi langkung saé pikeun damel sareng komputer desktop, sedengkeun alat anu kapasitasna 40 tiasa dianggo nganggo laptop. Ayeuna aya tampilan braille anu nyambung ka smartphone sareng tablet, kalayan panjang garis 14 atanapi 18 karakter.

Baheula, tampilan braille lumayan ageung. Laptop 40-korsi, contona, gaduh ukuran sareng beurat laptop 13 inci. Ayeuna, kalayan jumlah kenalan anu sami, aranjeunna cekap miniatur supados anjeun tiasa nempatkeun tampilan payuneun laptop, tinimbang laptop dina tampilan.

Ieu, tangtosna, hadé, tapi masih teu pisan merenah pikeun nahan dua alat misah dina pangkonan Anjeun. Nalika anjeun damel di méja, teu aya keluhan, tapi émut yén laptop disebut laptop ku nami anu sanés, sareng nyobian menerkeun namina, sabab tétéla yén tampilan miniatur 40-karakter malah kirang merenah.

Janten panulis ngantosan modél énggal anu parantos dijanjikeun dina séri Handy Tech Star dileupaskeun. Deui dina 2002, model saméméhna Handy Tech Braille Star 40 dirilis, dimana aréa awak cukup pikeun nempatkeun laptop di luhur. Tur upami teu cocog, aya stand retractable. Ayeuna model ieu geus diganti ku Active Star 40, nu ampir sarua, tapi kalawan éléktronika ditingkatkeun.

Raspberry Pi Zero dina tampilan braille Handy Tech Active Star 40

Jeung stand retractable tetep:

Raspberry Pi Zero dina tampilan braille Handy Tech Active Star 40

Tapi hal anu paling merenah ngeunaan produk anyar nyaéta reses kira-kira ukuran smartphone (tingali KDPV). Ieu muka nalika platform dipindahkeun deui. Tétéla henteu pikaresepeun pikeun nahan smartphone di dinya, tapi anjeun kedah kumaha waé nganggo kompartemen kosong, di jerona malah aya stopkontak.

Hal kahiji anu dikedalkeun ku panulis nyaéta nempatkeun Raspberry Pi di dinya, tapi nalika tampilanna dipésér, tétéla yén stand anu nutupan kompartemen henteu ngageser sareng "raspberry". Ayeuna, upami papan éta ngan ukur 3 mm langkung ipis ...

Tapi batur sapagawean ngawartoskeun kuring ngeunaan sékrési buah prambus Pi Zero, nu tétéla jadi miniatur nu dua di antarana bisa pas dina kompartemen ... atawa malah tilu. Ieu ieu geuwat maréntahkeun babarengan jeung 64 kartu memori GB, Bluetooth, "whistle" jeung kabel Micro USB. Sababaraha poé sanggeusna kabeh ieu anjog, sarta babaturan sighted mantuan panulis nyiapkeun peta. Sagalana geuwat digawé sakumaha sakuduna.

Naon anu dilakukeun pikeun ieu

Dina tonggong Handy Tech Active Star 40 aya dua palabuhan USB pikeun alat sapertos kibor. A keyboard leutik-ukuran jeung gunung magnét kaasup. Nalika keyboard disambungkeun, sarta tampilan sorangan jalan via Bluetooth, komputer Sajaba ngakuan salaku keyboard Bluetooth.

Janten, upami anjeun nyambungkeun "whistle" Bluetooth ka Raspberry Pi Zero anu disimpen dina kompartemen smartphone, éta bakal tiasa komunikasi sareng tampilan braille via Bluetooth nganggo BRLTTY, sareng upami anjeun ogé nyambungkeun keyboard kana tampilan, "raspberry" bakal tiasa dianggo ogé.

Tapi éta henteu sadayana. The "raspberry" sorangan, kahareupna bisa ngakses Internet via Bluetooth PAN ti sagala alat nu ngarojong eta. Panulis parantos ngonpigurasikeun smartphone sareng komputer na di bumi sareng di tempat damel, tapi ka hareup anjeunna ngarencanakeun adaptasi "raspberry" anu sanés pikeun ieu - klasik, sanés Zero, nyambung ka Ethernet sareng "whistle" Bluetooth anu sanés.

BlueZ 5 sareng PAN

Metoda konfigurasi PAN ngagunakeun bluez tétéla teu jelas. Panulis manggihan Aksara Python bt-pan (tempo di handap), nu ngidinan Anjeun pikeun ngonpigurasikeun PAN tanpa GUI a.

Éta tiasa dianggo pikeun ngonpigurasikeun server sareng klien. Saanggeus narima paréntah luyu via D-Beus nalika digawé dina modeu klien, nyiptakeun alat jaringan anyar bnep0 langsung saatos ngadegkeun sambungan kalawan server. Ilaharna, DHCP dipaké pikeun nangtukeun alamat IP ka panganteur ieu. Dina modeu server, BlueZ merlukeun ngaran alat sasak nu eta bisa nambahkeun alat budak pikeun nyambungkeun unggal klien. Ngonpigurasikeun alamat pikeun alat sasak tur ngajalankeun server DHCP tambah IP masquerading on sasak biasana sagala anu diperlukeun.

Bluetooth PAN Access Point kalawan Systemd

Pikeun ngonpigurasikeun sasak, panulis nganggo systemd-networkd:

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

Ayeuna urang kedah maksa BlueZ pikeun ngonpigurasikeun profil NAP. Tétéla yén ieu teu tiasa dilakukeun ku utilitas standar BlueZ 5.36. Mun pangarangna salah, benerkeun: mlang (bisa ngagerakkeun ceulina) buta (kadang akses jeung kuantum) guru

Tapi anjeunna mendakan tulisan blog и Aksara Python pikeun nelepon perlu D-Bus.

Pikeun genah, panulis ngagunakeun jasa Systemd pikeun ngajalankeun skrip sareng pariksa naha katergantungan direngsekeun.

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 kadua henteu diperyogikeun upami Debian ngagaduhan dukungan IPMasquerade= (tingali di handap). #787480).

Sanggeus ngalaksanakeun paréntah systemctl daemon-ngamuat и systemctl balikan deui systemd-networkd Anjeun tiasa ngamimitian Bluetooth PAN kalayan paréntah systemctl ngamimitian pan

Klién PAN Bluetooth nganggo Systemd

Sisi klien ogé gampang pikeun ngonpigurasikeun nganggo Systemd.

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

[Match]
Name=bnep*

[Network]
DHCP=yes

File /etc/systemd/system/[email dijaga]

[Unit]
Description=Bluetooth Personal Area Network client

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

Ayeuna, saatos ngamuat deui konfigurasi, anjeun tiasa nyambung ka titik aksés Bluetooth anu ditangtukeun sapertos kieu:

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

Masangkeun nganggo garis paréntah

Tangtosna, konfigurasi server sareng klien kedah dilakukeun saatos masangkeunana via Bluetooth. Dina server anjeun kedah ngajalankeun bluetoothctl sareng masihan paréntahna:

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

Saatos ngamimitian scan, antosan sababaraha detik dugi ka alat anu anjeun peryogikeun muncul dina daptar. Tulis alamatna sareng dianggo ku ngaluarkeun paréntah pasangan sareng, upami diperyogikeun, paréntah amanah.

Di sisi klien, anjeun kedah ngalakukeun hal anu sami, tapi paréntah amanah pasti henteu diperyogikeun. Pangladén peryogi éta pikeun nampi sambungan nganggo profil NAP tanpa konfirmasi manual ku pangguna.

Panulis henteu yakin yén ieu mangrupikeun sekuen paréntah anu optimal. Panginten sadayana anu diperyogikeun nyaéta nyapasangkeun klien sareng server sareng ngajalankeun paréntah amanah dina server, tapi anjeunna henteu acan nyobian ieu.

Aktipkeun Propil Bluetooth HID

Diperlukeun yén buah prambus ngakuan keyboard disambungkeun ka tampilan Braille ku kawat, sarta dikirimkeun ku tampilan sorangan via Bluetooth. Hal ieu dilakukeun dina cara nu sarua, ngan gantina agén on kedah masihan paréntah agén Keyboard Ngan sareng bluetoothctl bakal mendakan alat sareng profil HID.

Tapi nyetel Bluetooth via garis paréntah rada pajeulit

Sanaos panulis tiasa ngonpigurasikeun sadayana, anjeunna ngartos yén ngonpigurasikeun BlueZ ngalangkungan garis paréntah henteu pikaresepeun. Mimitina anjeunna nyangka yén agén ngan ukur kedah ngalebetkeun kode PIN, tapi tétéla, contona, pikeun ngaktifkeun profil HID anjeun kedah ngetik "Agen KeyboardOnly". Éta héran yén pikeun ngaluncurkeun Bluetooth PAN anjeun kedah naék kana repositori milarian naskah anu diperyogikeun. Anjeunna émut yén dina versi BlueZ sateuacana aya alat anu siap-siap pikeun ieu pan - dimana anjeunna ngalakukeun dina BlueZ 5? Ujug-ujug muncul solusi anyar, kanyahoan ku pangarang, tapi bohong dina beungeut cai?

kakuwatan keur ngasilkeun

Laju mindahkeun data kira-kira 120 kbit/s, anu cukup. Prosesor ARM 1GHz gancang pisan pikeun antarmuka garis paréntah. Panulis masih ngarencanakeun ngagunakeun utamina ssh sareng emacs dina alat.

Font konsol sareng resolusi layar

Resolusi layar standar dipaké ku framebuffer dina buah prambus Pi Zero rada aneh: fbset ngalaporkeun salaku 656x416 piksel (euweuh monitor disambungkeun, tangtosna). Kalayan font konsol 8 × 16, aya 82 karakter per garis sareng 26 garis.

Teu pikaresepeun pikeun dianggo sareng tampilan Braille 40 karakter dina modeu ieu. Panulis ogé hoyong ningali karakter Unicode ditampilkeun dina braille. Untungna, Linux Ubuntu ngarojong 512 karakter, sarta lolobana fon konsol boga 256. Ngagunakeun konsol-setup, Anjeun tiasa make dua fon 256 karakter babarengan. Panulis nambihan garis-garis ieu kana file /etc/default/console-setup:

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

Catetan: sangkan brl-16×8.psf font sadia, Anjeun kudu masang konsol-braille.

Naon saterusna?

Tampilan Braille gaduh jack 3,5 mm, tapi panulis henteu terang ngeunaan adaptor pikeun nampi sinyal audio tina Mini-HDMI. Panulis henteu tiasa nganggo kartu sora anu diwangun dina Raspberry (anehna, penerjemah yakin yén Zero henteu ngagaduhan, tapi aya cara pikeun kaluaran sora nganggo PWM ka GPIO). Anjeunna ngarencanakeun ngagunakeun hub USB-OTG tur sambungkeun kartu éksternal sarta kaluaran sora ka spiker diwangun kana tampilan braille. Kanggo sababaraha alesan, dua kartu éksternal henteu jalan; ayeuna anjeunna milarian alat anu sami dina chipset anu béda.

Éta ogé henteu pikaresepeun pikeun mareuman "raspberry" sacara manual, antosan sababaraha detik sareng mareuman tampilan braille. Sareng sadaya sabab nalika dipareuman, éta ngaleungitkeun kakuatan tina konektor dina kompartemen. Panulis ngarencanakeun pikeun nempatkeun batré panyangga leutik dina kompartemen sareng, via GPIO, nginpokeun ka Raspberry ngeunaan tampilan pareum, supados tiasa ngawitan mareuman karyana. Ieu mangrupikeun miniatur UPS.

Gambar sistem

Upami anjeun gaduh tampilan Braille anu sami sareng hoyong ngalakukeun hal anu sami sareng éta, panulis siap nyayogikeun gambar sistem anu siap-siap (dumasar kana Raspbian Stretch). Tuliskeun ka anjeunna ngeunaan ieu di alamat anu dituduhkeun di luhur. Upami aya cukup jalma anu kabetot, bahkan mungkin ngaleupaskeun kit anu kalebet sadayana anu dipikabutuh pikeun modifikasi sapertos kitu.

Ngahaturkeun

Hatur nuhun ka Dave Mielke pikeun koréksi.

Hatur nuhun ka Simon Kainz pikeun ilustrasi poto.

Hatur nuhun ka kolega kuring di Universitas Téknis Graz pikeun gancang ngenalkeun panulis ka dunya Raspberry Pi.

PS Tweet munggaran panulis dina topik ieu (teu muka - penerjemah) dijieun ngan lima poé saméméh publikasi aslina tina artikel ieu, sarta eta bisa dianggap yén, iwal masalah sora, tugas ieu praktis direngsekeun. Ku jalan kitu, pangarang ngédit versi ahir téks ti "tampilan Braille timer cukup" anjeunna dijieun, nyambungkeun eta via SSH ka komputer imahna.

sumber: www.habr.com

Tambahkeun komentar