1E2DxQFP
ついにRaspberry pi zeroをUSBキーボートとして認識させてPCに文字入力することに成功しました。
電源はつないでおらず、PCとはUSBだけで接続しています。
PC側からは普通にキーボートとして認識されています。
ブレッドボートに配置したボタンを押すとPC側に文字が入力できます。
現在のところ、「a」しか打てないキーボードですが問題なくPythonのプログラムで制御できています。
二つあるボタンのうち、一方を2秒間押しっぱなしにするとキーボードPiはシャットダウンします。
さすがにキーボードのボタンの数だけブレッドボードにボタンをつけるわけにはいかないので、
PS/2キーボードをPiにシリアル接続のキーボートとしてつなげるようにします。
PS/2キーボードはもともとシリアルなのでさほど難しい加工は必要なさそうです。
抵抗二つとダイオード一つで変換できそうです。
それよりも問題はlinuxのカーネルモジュールを作る必要がある点です。
使うキーボードごとにカスタマイズがいるようでなにやらいろいろとやらないとダメです。
ハードの加工自体は上記のように単純です。
ちなみに上記はweb上に公開されていた画像です。
よく考えてみるとカーネルモジュールで制御するのではなく、デーモンを作って制御したほうが簡単そうです。
download:data/1B1Vz0lXps2test-2.c:制御用のCのサンプル1
download:data/2uzYUOtXps2pi.c:制御用のCのサンプル2
これらをベースにしてpythonでシリアルからのキーボード入力を文字として変換して、USBキーボードとして
出力するプログラムを作成予定です。
コメント