
Penulis menempatkan Raspberry Pi Zero, "peluit" Bluetooth dan kabel di dalam layar Braille Handy Tech Active Star 40 yang baru. Port USB internal memberikan daya. Hasilnya adalah komputer non-monitor mandiri pada ARM dengan sistem operasi Linux, dilengkapi dengan keyboard dan layar braille. Anda dapat mengisi / menyalakannya melalui USB, termasuk. dari bank daya atau pengisi daya surya. Oleh karena itu, dapat mengeluarkan daya listrik tidak selama beberapa jam, tetapi selama beberapa hari.

Diferensiasi dimensi tampilan braille
Pertama-tama, mereka memiliki panjang string yang berbeda. Perangkat 60 dan yang lebih akrab baik ketika bekerja dengan komputer desktop, 40 perangkat nyaman untuk dibawa dengan laptop. Sekarang ada tampilan Braille yang terhubung ke smartphone dan tablet, dengan panjang string 14 atau 18 keakraban.
Di masa lalu, tampilan braille cukup besar. 40-familiar, misalnya, memiliki dimensi dan berat laptop 13 inci. Sekarang, dengan jumlah yang sama keakraban, mereka cukup mini untuk meletakkan layar di depan laptop, bukan laptop di layar.
Ini, tentu saja, lebih baik, tetapi tetap tidak nyaman untuk menyimpan dua perangkat terpisah di pangkuan Anda. Ketika Anda bekerja di meja, tidak ada keluhan, tetapi perlu diingat bahwa laptop itu disebut laptop dengan cara yang berbeda dan mencoba untuk membenarkan namanya, karena ternyata tampilan miniatur 40 kursi bahkan kurang nyaman.
Jadi penulis menunggu rilis model baru yang telah lama dijanjikan dalam seri Handy Tech Star. Kembali pada tahun 2002, model Handy Tech Braille Star 40 sebelumnya dirilis, di mana area tubuh cukup untuk menempatkan laptop di atas. Dan jika tidak cocok, dudukan yang dapat ditarik disediakan. Sekarang model ini digantikan oleh Active Star 40, hampir sama, tetapi dengan elektronik yang ditingkatkan.

Dan dudukan yang bisa ditarik tetap:

Tetapi hal yang paling nyaman dalam hal baru adalah reses kira-kira seukuran smartphone (lihat KDPV). Ini terbuka ketika platform bergerak kembali. Ternyata tidak nyaman menyimpan smartphone di sana, tetapi entah bagaimana Anda perlu menggunakan kompartemen kosong, yang di dalamnya bahkan disediakan output daya.
Hal pertama yang penulis kemukakan adalah meletakkan Raspberry Pi di sana, tetapi ketika display dibeli, ternyata dengan "raspberry" dudukan, yang menutup kompartemen, tidak masuk. Sekarang, jika papan itu hanya 3 mm lebih tipis ...
Tetapi seorang rekan berbicara tentang pelepasan Raspberry Pi Zero, yang ternyata sangat kecil sehingga dua akan masuk ke dalam kompartemen ... atau bahkan mungkin tiga. Segera dipesan bersama dengan kartu memori 64 GB, Bluetooth, peluit dan kabel Micro USB. Beberapa hari kemudian, semua ini tiba, dan teman-teman yang terlihat membantu penulis membuat peta. Semuanya segera bekerja sebagaimana mestinya.
Apa yang dilakukan untuk ini?
Di bagian belakang Handy Tech Active Star 40 terdapat dua port USB untuk perangkat seperti keyboard. Termasuk keyboard kecil yang dipasang secara magnetis. Saat keyboard terhubung, dan layar itu sendiri berfungsi melalui Bluetooth, komputer juga mengenalinya sebagai keyboard Bluetooth.
Dengan demikian, jika Anda menghubungkan "peluit" Bluetooth ke Raspberry Pi Zero yang ditempatkan di kompartemen smartphone, ia akan dapat berkomunikasi dengan layar Braille melalui Bluetooth menggunakan
BRLTTY , dan jika Anda juga menyambungkan keyboard ke layar, "Malinka" akan berfungsi dan dengan dia.
Tapi itu belum semuanya. Malinka sendiri, pada gilirannya, dapat mengakses Internet melalui Bluetooth PAN dari perangkat apa pun yang mendukungnya. Penulis mengatur smartphone dan komputernya di rumah dan di tempat kerja, tetapi di masa depan ia berencana untuk mengadaptasi satu lagi "raspberry" untuk ini - yang klasik, bukan Zero, yang terhubung ke Ethernet dan "peluit" Bluetooth lainnya.
BlueZ 5 dan PAN
Cara mengkonfigurasi PAN menggunakan
BlueZ tidak jelas. Penulis menemukan skrip pyhton bt-pan (lihat di bawah) yang memungkinkan Anda mengkonfigurasi PAN tanpa GUI.
Dengannya, Anda dapat mengonfigurasi server dan klien. Setelah menerima perintah D-Bus yang sesuai ketika bekerja dalam mode klien, ia menciptakan perangkat jaringan bnep0 baru segera setelah membuat koneksi ke server. Biasanya, DHCP digunakan untuk menetapkan alamat IP ke antarmuka ini. Dalam mode server, BlueZ membutuhkan nama perangkat jembatan yang dapat ditambahkan oleh budak untuk menghubungkan setiap klien. Mengkonfigurasi alamat untuk perangkat bridge dan memulai server DHCP plus IP masking pada bridge biasanya adalah semua yang diperlukan.
Titik Akses PAN Bluetooth dengan Systemd
Untuk mengkonfigurasi jembatan, penulis menerapkan 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
Sekarang Anda perlu memaksa BlueZ untuk mengkonfigurasi profil NAP. Ternyata utilitas reguler BlueZ 5.36 tidak dapat dilakukan. Jika penulis salah, perbaiki: mlang (tahu cara menggerakkan telinga) guru buta (terkadang akses dan kuantum)
Tapi dia menemukan
posting blog dan
skrip Python untuk melakukan panggilan yang diperlukan ke D-Bus.
Untuk kenyamanan, penulis menggunakan layanan Systemd untuk menjalankan skrip dan memeriksa resolusi ketergantungan.
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
File kedua tidak diperlukan jika Debian memiliki IPMasquerade = dukungan (lihat
# 787480 ).
Setelah menjalankan
systemctl daemon-reload dan
systemctl restart perintah systemd-networkd, Anda dapat memulai Bluetooth PAN dengan perintah
systemctl start panKlien PAN Bluetooth Menggunakan Systemd
Sisi klien juga mudah dikonfigurasi menggunakan Systemd.
File /etc/systemd/network/pan-client.network
[Match] Name=bnep* [Network] DHCP=yes
File /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
Sekarang, setelah mem-boot ulang konfigurasi, Anda dapat terhubung ke jalur akses Bluetooth yang ditentukan seperti ini:
systemctl start pan@00:11:22:33:44:55
Pemasangan baris perintah
Tentu saja, server dan klien harus dikonfigurasikan setelah memasangkannya melalui Bluetooth. Di server, Anda perlu menjalankan bluetoothctl dan berikan perintah:
power on agent on default-agent scan on scan off pair XX:XX:XX:XX:XX:XX trust XX:XX:XX:XX:XX:XX
Setelah memulai pemindaian, tunggu beberapa detik hingga perangkat yang Anda butuhkan muncul dalam daftar. Tuliskan alamatnya dan gunakan dengan mengeluarkan perintah pasangan, dan jika perlu, perintah kepercayaan.
Klien harus melakukan hal yang sama, tetapi perintah trust tidak akan diperlukan untuk memastikan. Server memerlukannya untuk menerima koneksi pada profil NAP tanpa konfirmasi manual oleh pengguna.
Penulis tidak yakin apakah ini urutan optimal dari perintah. Mungkin yang diperlukan hanyalah memasangkan klien dengan server dan menjalankan perintah trust di server, tetapi dia belum mencobanya.
Mengaktifkan Profil Bluetooth HID
Diperlukan bahwa "Malinka" mengenali keyboard yang terhubung ke layar Braille oleh kawat, dan sudah diteruskan oleh layar itu sendiri melalui Bluetooth. Ini dilakukan dengan cara yang sama, hanya alih-alih
agen pada Anda perlu memberikan perintah
agen KeyboardOnly , dan bluetoothctl akan menemukan perangkat dengan profil HID.
Tetapi mengkonfigurasi Bluetooth melalui baris perintah agak rumit
Meskipun penulis berhasil mengkonfigurasi semuanya, ia memahami bahwa mengkonfigurasi BlueZ melalui baris perintah tidak nyaman. Pada awalnya, dia berpikir bahwa agen hanya diperlukan untuk memasukkan kode PIN, tetapi ternyata, misalnya, untuk mengaktifkan profil HID kita harus mengetikkan "agen KeyboardOnly". Anehnya, untuk meluncurkan Bluetooth PAN, Anda perlu memanjat repositori untuk mencari skrip yang diinginkan. Dia ingat bahwa dalam versi BlueZ sebelumnya ada alat
pand siap
pakai untuk ini - di mana dia melakukannya di BlueZ 5? Tiba-tiba, solusi baru muncul, tidak dikenal oleh penulis, tetapi berbaring di permukaan?
Performa
Kecepatan transfer data sekitar 120 kbps, yang cukup memadai. Prosesor ARM 1 GHz sangat cepat untuk antarmuka baris perintah. Penulis masih berencana untuk menggunakan ssh dan emacs pada perangkat.
Font dan Resolusi Layar Konsol
Resolusi layar default yang digunakan oleh framebuffer pada Raspberry Pi Zero agak aneh: fbset melaporkan bahwa resolusi itu 656x416 piksel (tentu saja, monitor tidak terhubung). Dengan font konsol 8x16, 82 karakter per baris dan 26 baris diperoleh.
Tidak nyaman untuk bekerja dengan tampilan Braille 40 karakter dalam mode ini. Juga, penulis ingin karakter Unicode ditampilkan di Braille. Untungnya, Linux mendukung 512 karakter, dan di sebagian besar font konsol ada 256. Dengan konsol-setup, Anda dapat menggunakan dua font 256-karakter secara bersamaan. Penulis menambahkan baris berikut ke file / etc / default / console-setup:
SCREEN_WIDTH=80 SCREEN_HEIGHT=25 FONT="Lat15-Terminus16.psf.gz brl-16x8.psf"
Catatan: agar font brl-16x8.psf tersedia, Anda harus menginstal konsol-braille.
Apa selanjutnya
Ada jack 3.5mm pada layar Braille, tetapi penulis tidak mengetahui adapter untuk menghapus audio dari Mini-HDMI. Penulis tidak dapat menggunakan kartu suara yang dibangun ke dalam "raspberry" (aneh, penerjemah yakin bahwa tidak ada di Zero, tetapi ada cara untuk mengeluarkan suara PWM ke GPIO). Ia berencana untuk menggunakan hub USB-OTG dan menghubungkan kartu eksternal dan mengeluarkan suara ke speaker yang terpasang di layar Braille. Untuk beberapa alasan, dua kartu eksternal tidak berfungsi, sekarang dia mencari perangkat yang sama pada chipset lain.
Juga tidak nyaman untuk mematikan "raspberry" secara manual, tunggu beberapa detik dan matikan layar Braille. Dan semua karena ketika terputus, ia menghilangkan daya dari konektor di kompartemen. Penulis berencana untuk meletakkan baterai penyangga kecil di kompartemen dan, melalui GPIO, menginformasikan "raspberry" tentang mematikan layar sehingga mulai menyelesaikan pekerjaan. UPS miniatur.
Gambar sistem
Jika Anda memiliki tampilan braille yang sama, dan Anda ingin melakukan hal yang sama dengannya, penulis siap memberikan gambar sistem yang siap pakai (berdasarkan Peregangan Raspbian). Menulis kepadanya tentang ini di alamat di atas. Jika ada banyak orang yang mau, bahkan mungkin untuk menghasilkan set yang mencakup semua yang Anda butuhkan untuk perubahan seperti itu.
Ucapan Terima Kasih
Terima kasih kepada Dave Mielke untuk mengoreksi teks.
Terima kasih kepada Simon Kainz untuk ilustrasi fotonya.
Terima kasih kepada rekan-rekan di Graz Technical University untuk pengenalan cepat penulis ke dunia Raspberry Pi.
PS Kicauan
pertama penulis tentang topik ini (tidak terbuka - penerjemah) dibuat hanya lima hari sebelum publikasi asli artikel ini, dan kita dapat mengasumsikan bahwa, dengan pengecualian masalah suara, tugas tersebut secara praktis diselesaikan. Ngomong-ngomong, penulis mengedit versi final teks dari "tampilan Braille swasembada" yang dibuat olehnya, menghubungkannya melalui SSH ke komputer di rumah.