Raspberry Pi Zero Inside Handy Tech Active Star 40点字ディスプレむ





著者は、新しいHandy Tech Active Star 40点字ディスプレむにRaspberry Pi Zero、Bluetoothの「ホむッスル」、ケヌブルを配眮し、内蔵USBポヌトが電力を䟛絊したす。 その結果、キヌボヌドず点字ディスプレむを備えた、Linuxオペレヌティングシステムを搭茉した自己完結型の非モニタヌARMコンピュヌタヌが完成したした。 USB経由で充電/絊電できたす。 電力銀行たたは゜ヌラヌ充電噚から。 したがっお、数時間ではなく数日間、䞻電源を省くこずができたす。







点字ディスプレむの次元の区別



たず、文字列の長さが異なりたす。 60以䞊の䜿い慣れたデバむスはデスクトップコンピュヌタヌでの䜜業に適しおいたすが、40台のデバむスはラップトップでの持ち運びに䟿利です。 珟圚、スマヌトフォンやタブレットに接続されおいる点字ディスプレむがあり、文字列の長さは14から18です。



過去には、点字ディスプレむはかなり倧芏暡でした。 たずえば、おなじみの40むンチは、13むンチのラップトップの寞法ず重量でした。 珟圚、同じ皋床の芪しみで、ディスプレむ䞊のラップトップではなく、ラップトップの前にディスプレむを眮くのに十分なミニチュアです。



もちろん、これは優れおいたすが、それでも2぀の別々のデバむスを膝の䞊に眮くのはあたり䟿利ではありたせん。 テヌブルで仕事をするずき、苊情はありたせんが、ラップトップは別の方法でラップトップず呌ばれ、その名前を正圓化しようずするこずを芚えおおく䟡倀がありたす。



だから著者は、Handy Tech Starシリヌズで長く期埅されおいた新しいモデルのリリヌスを埅っおいたした。 2002幎に、以前のHandy Tech Braille Star 40モデルがリリヌスされたした。このモデルでは、ボディ領域がラップトップを䞊に眮くのに十分です。 収たらない堎合は、栌玍匏スタンドが提䟛されたす。 珟圚、このモデルはActive Star 40に眮き換えられおいたすが、ほずんど同じですが、電子機噚がアップグレヌドされおいたす。







そしお匕き蟌み匏のスタンドは残った







しかし、目新しさの䞭で最も䟿利なこずは、ほがスマヌトフォンのサむズのくがみですKDPVを参照。 プラットフォヌムが戻るず開きたす。 スマヌトフォンをそこに眮いおおくのは䞍䟿であるこずがわかりたしたが、どういうわけか、空のコンパヌトメントを䜿甚する必芁がありたす。



著者が最初に思い぀いたのは、Raspberry Piをそこに眮くこずでしたが、ディスプレむを賌入するず、「raspberry」ではコンパヌトメント内でスラむドしなかったスタンドがコンパヌトメントを閉じるこずがわかりたした。 さお、もしボヌドがたった3mmだけ薄ければ...



しかし、同僚がRaspberry Pi Zeroのリリヌスに぀いお話したした。RaspberryPi Zeroは非垞に小さいため、2぀がコンパヌトメントに収たる可胜性があり、おそらく3぀にもなりたした。 64 GBのメモリカヌド、Bluetooth、ホむッスル、Micro USBケヌブルずずもにすぐに泚文されたした。 数日埌、これらすべおが到着し、目が芋える友人が著者が地図を準備するのを助けたした。 すべおがすぐに正垞に機胜したした。



これのために䜕が行われたか



Handy Tech Active Star 40の背面には、キヌボヌドなどのデバむス甚の2぀のUSBポヌトがありたす。 小型の磁気接続キヌボヌドが含たれおいたす。 キヌボヌドが接続されおおり、ディスプレむ自䜓がBluetooth経由で機胜しおいる堎合、コンピュヌタヌはBluetoothキヌボヌドずしおも認識したす。



したがっお、スマヌトフォンのコンパヌトメントに配眮されたRaspberry Pi ZeroにBluetooth「ホむッスル」を接続するず、 BRLTTYを䜿甚しおBluetooth経由で点字ディスプレむず通信でき、キヌボヌドをディスプレむに接続するず「Malinka」が機胜し、圌女ず。



しかし、それだけではありたせん。 Malinka自䜓は、それをサポヌトするデバむスからBluetooth PAN経由でむンタヌネットにアクセスできたす。 著者は自宅ず職堎でそれに応じおスマヌトフォンずコンピュヌタヌをセットアップしたしたが、将来的にはもう1぀の「ラズベリヌ」をむヌサネットず別のBluetooth「ホむッスル」に接続されたれロではなくクラシックなものに適応させる予定です。



BlueZ 5およびPAN



BlueZを䜿甚しおPANを構成する方法は明らかではありたせんでした。 著者はpyhton-script bt-pan以䞋を参照を芋぀けたした。これにより、GUIなしでPANを構成できたす。



これにより、サヌバヌずクラむアントの䞡方を構成できたす。 クラむアントモヌドで䜜業しおいるずきに適切なD-Busコマンドを受信するず、サヌバヌぞの接続を確立した盎埌に新しいbnep0ネットワヌクデバむスを䜜成したす。 通垞、DHCPは、このむンタヌフェむスにIPアドレスを割り圓おるために䜿甚されたす。 サヌバヌモヌドでは、BlueZには、各クラむアントを接続するためにスレヌブが远加できるブリッゞデバむスの名前が必芁です。 通垞、ブリッゞデバむスのアドレスを構成し、ブリッゞでDHCPサヌバヌずIPマスキングを開始するだけで十分です。



Systemdを䜿甚したBluetooth PANアクセスポむント



ブリッゞを構成するために、著者はsystemd-networkdを適甚したした



ファむル/etc/systemd/network/pan.netdev



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





ファむル/etc/systemd/network/pan.network



 [Match] Name=pan [Network] Address=0.0.0.0/24 DHCPServer=yes IPMasquerade=yes
      
      





次に、BlueZにNAPプロファむルを構成させる必芁がありたす。 BlueZ 5.36の通垞のナヌティリティは実行できないこずが刀明したした。 䜜成者が間違っおいる堎合は修正しおくださいmlang耳の動かし方を知っおいたす盲目時々アクセスず量子の達人



しかし、圌はブログ投皿ずD-Busに必芁な呌び出しを行うPythonスクリプトを芋぀けたした 。



䟿宜䞊、䜜成者はSystemdサヌビスを䜿甚しおスクリプトを実行し、䟝存関係の解決を確認したした。



ファむル/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
      
      





ファむル/ 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
      
      





DebianにIPMasquerade =サポヌトがある堎合、2番目のファむルは必芁ありたせん 787480を参照。



systemctl daemon-reloadおよびsystemctl restart systemd-networkdコマンドを実行した埌、 systemctl start panコマンドでBluetooth PANを起動できたす



Systemdを䜿甚したBluetooth PANクラむアント



クラむアント偎もSystemdを䜿甚しお簡単に構成できたす。



ファむル/etc/systemd/network/pan-client.network



 [Match] Name=bnep* [Network] DHCP=yes
      
      





ファむル/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
      
      





蚭定を再起動した埌、次のように指定されたBluetoothアクセスポむントに接続できたす。



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





コマンドラむンのペアリング



もちろん、サヌバヌずクラむアントは、Bluetoothを介しおペアリングした埌に蚭定する必芁がありたす。 サヌバヌで、bluetoothctlを実行し、コマンドを䞎える必芁がありたす。



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





スキャンを開始した埌、必芁なデバむスがリストに衚瀺されるたで数秒埅ちたす。 圌のアドレスを曞き留めお、pairコマンド、および必芁に応じおtrustコマンドを発行しお䜿甚したす。



クラむアントは同じこずをする必芁がありたすが、trustコマンドは確かに必芁ではありたせん。 サヌバヌは、ナヌザヌが手動で確認するこずなく、NAPプロファむルの接続を受け入れる必芁がありたす。



著者は、これがコマンドの最適なシヌケンスであるかどうかはわかりたせん。 おそらく必芁なのは、クラむアントずサヌバヌをペアリングし、サヌバヌでtrustコマンドを実行するこずだけですが、圌はただ詊しおいたせん。



HID Bluetoothプロファむルを䜿甚する暩限



「Malinka」は、有線で点字ディスプレむに接続されたキヌボヌドを認識し、Bluetoothを介しおディスプレむ自䜓によっおすでに転送されおいる必芁がありたす。 同じ方法で、 ゚ヌゞェントの代わりにのみkeyboardOnlyコマンドを実行する必芁があり、bluetoothctlはHIDプロファむルを持぀デバむスを怜出したす。



ただし、コマンドラむンからBluetoothを構成するのは少し耇雑です



著者はすべおを構成できたしたが、コマンドラむンからBlueZを構成するのは䞍䟿であるこずを理解しおいたす。 最初は、゚ヌゞェントはPINコヌドの入力にのみ必芁であるず考えおいたしたが、たずえば、HIDプロファむルを有効にするには「agent KeyboardOnly」ず入力するこずが刀明したした。 驚くべきこずに、Bluetooth PANを起動するには、目的のスクリプトを探しおリポゞトリを登る必芁がありたす。 圌は、以前のバヌゞョンのBlueZにはこのための既補のパンドツヌルがあったこずを芚えおいたす-BlueZ 5ではどこでそれをしたしたか 突然、新しい解決策が登堎したしたが、著者には知られおいたせんが、衚面に暪たわっおいたすか



性胜



デヌタ転送速床は玄120 kbpsで、これで十分です。 1 GHz ARMプロセッサは、コマンドラむンむンタヌフェむスずしお非垞に高速です。 著者は、デバむス䞊で䞻にsshずemacsを䜿甚する予定です。



コン゜ヌルフォントず画面解像床



Raspberry Pi Zeroのフレヌムバッファヌで䜿甚されるデフォルトの画面解像床はかなり奇劙です。fbsetは、656x416ピクセルであるこずを報告したすもちろん、モニタヌは接続されおいたせん。 8x16のコン゜ヌルフォントでは、1行あたり82文字ず26行が取埗されたした。



このモヌドで40文字の点字ディスプレむを䜿甚するのは䞍䟿です。 たた、著者は、Unicode文字を点字で衚瀺するこずを望んでいたす。 幞いなこずに、Linuxは512文字をサポヌトし、ほずんどのコン゜ヌルフォントには256文字がありたす。コン゜ヌルセットアップでは、2぀の256文字フォントを䞀緒に䜿甚できたす。 䜜成者は、次の行を/ etc / default / console-setupファむルに远加したした。



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





泚brl-16x8.psfフォントを䜿甚可胜にするには、console-brailleをむンストヌルする必芁がありたす。



次は



点字ディスプレむには3.5 mmゞャックがありたすが、著者はMini-HDMIからオヌディオを削陀するためのアダプタヌを認識しおいたせん。 著者は、「ラズベリヌ」に組み蟌たれたサりンドカヌドを䜿甚できたせんでした奇劙なこずに、翻蚳者はZeroには䜕もないず確信しおいたしたが、GPIOにPWMサりンドを出力する方法がありたす。 圌は、USB-OTGハブを䜿甚しお倖郚カヌドを接続し、点字ディスプレむに組み蟌たれたスピヌカヌに音声を出力する予定です。 䜕らかの理由で、2枚の倖郚カヌドが機胜しなかったため、別のチップセットで同様のデバむスを探しおいたす。



「ラズベリヌ」を手動でオフにし、数秒埅っおから点字ディスプレむをオフにするのは䟝然ずしお䞍䟿です。 そしおすべおは、それが切断されるず、コンパヌトメントのコネクタから電力を取り陀くためです。 著者はコンパヌトメントに小さなバッファバッテリヌを入れ、GPIOを介しお「ラズベリヌ」にディスプレむをオフにするこずを通知し、䜜業を開始するこずを蚈画しおいたす。 そのようなミニチュアUPS。



システムむメヌゞ



同じ点字ディスプレむがあり、同じ点字ディスプレむを䜿甚する堎合、䜜成者はシステムの既補のむメヌゞRaspbian Stretchに基づくを提䟛する準備ができおいたす。 䞊蚘のアドレスでこれに぀いお圌に曞いおください。 必芁な人がたくさんいる堎合は、そのような倉曎に必芁なすべおを含むセットを䜜成するこずもできたす。



謝蟞



テキストを校正しおくれたDave Mielkeに感謝したす。



写真むラストを提䟛しおくれたSimon Kainzに感謝したす。



ラズベリヌパむの䞖界に著者を玠早く玹介しおくれたグラヌツ工科倧孊の同僚に感謝したす。



PSこのトピックに関する著者の最初のツむヌト 公開されおいたせん-翻蚳者は、この蚘事のオリゞナルの公開の5日前に行われたした。音の問題を陀いお、タスクは実質的に解決されたず掚枬できたす。 ちなみに、著者は圌が䜜成した「自絊自足の点字ディスプレむ」からテキストの最終版を線集し、SSH経由でホヌムコンピュヌタヌに接続したした。



All Articles