Center CLR Try!開発 #14に行ってきた

Center CLR Try!開発 #14に行ってきた。

もくもく会の方式の勉強会だ。
参加者は自分の好きなテーマを表明して作業する。

自分は、前回はLTEモデムの接続の自動化などをやっていたが、今回は別のテーマだ。
今回は、Bluetooth APIでペアリングとかのAPIを使ってWiiリモコンやNintendo Switch JoyConの接続の自動化などをやることにした。

課題は、先々月にblogエントリに書いたのだが、Bluetooth APIで以前に作ったWiiリモコンの自動接続のソフトの出来がいまいちだったので、作り直そうというということだ。
久しぶりにWiiリモコンhackを弄っている – WiiリモコンとWindows PCのペアリング問題について

以前のソースコードをいくらか修正した。

(1) Wiiリモコンのペアリング用のライブラリ(DLL)と、それを使った自動ペアリングのサンプルコードをVisual Studio 2019でビルドしなおした。

(2) DLL部分は、Wiiリモコン専用に決め打ちして書かれていたので、JoyConにも使えるように少し書き換えた。関数名とかにwiiとかの名前が入っているのでこれはあとで別の名前に直したほうがようさそうだ。

(3) ペアリング後のHID(ヒューマンインターフェースデバイス)のAPIを使うための自作の簡易ライブラリ(tiny_hid_dll)というのがあるのだが、これもちょっとデバッグした。

(4) ペアリングしてWiiリモコンがつながった後、Wiiリモコンに簡単なコマンドを送ってLEDを点灯したり振動機能を動かすというデモ的なものを動かしている部分があるのだが、ソースコードの1つのファイル内に一緒になっていると紛らわしいので、別のソースファイルに分けた。

結局、Bluetoothでのペアリングと接続を行うソフトの大筋は修正は必要が無かった。
Windows7でのBluetooth APIの挙動が変で実行に異常に時間が掛かったりしてたのが問題で、ウェイトを入れるとかリトライ処理をして誤魔化したりするのに余分な処理をしていたのを、逆に処理を減らして普通にWindows10では安定して動作するようだ。

Wiiリモコン用と限定すれば、とりあえずはもう公開してしまってもいいくらいにはなったので、近日、またblogエントリを作って公開する予定だ。

あと、勉強会の時間が余ったので、BLE(Bluetooth Low Energy)を使った鍵紛失防止タグについて、自作ソフトで使えないかというのを調べていた。
BLEのAPIが追加されているので、それを使えばよいらしい。
手持ちのBluetoothドングルがBLEに対応していないので、BLE対応のBluetooth 4.0のドングルを買わないといけないようだ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

+ 27 = 30