サンワサプライさんの400-RC001になります。
以前、このブログで紹介したスマートリモコンはLANで指定のIPアドレスにソケットを送信するしくみでした。これはちょっと違ってBluetoothでペアリングしてリモコン信号を送信します。送料込みで1500円しなかったので、ほぼ衝動買いです。
指定の専用アプリからはすんなり動作確認完了。でも今回の目的もアプリからではなく、PCからソフトで動かすことが目標です。
いろいろ調べるとRfcommというしくみで動かせることがわかり、早速、実験。
AndroidタブレットにRfcommの無料アプリを入れて、送信データを見ると、どうやら4バイトのバイナリのようです。でも前回のようなライブラリがあるわけでもなく、学習モードになれないので、送信コマンドは分かりません。ここで、「Linuxでadbコマンドを使えば何とかなるかも??」と思いつき、指定の専用アプリを起動したAndroidタブレットをUSBケーブルでLinux-PCと接続、adbコマンドでBluetooth通信ログを眺めて、フィルタかけて、必要なデータ(ここではTVのOn/Off信号)のバイナリだけをゲット!!さらに初期の定期送信のようなバイナリ2種類もゲット!!
これらを送信できるコードをラズパイ上でPythonとC言語で書いてみました。
ペアリング→定期送信バイナリ2種類→TVのOn/Offの順です。すると、少し動作にラグがありますが、ちゃんとTVのOn/Offできました!ホントに良かったです。
あとBluetoothのペアリングが不安定だと動かないので、LANのと比べるとちょっと不安定な感じがします。コード自体は以前のよりもシンプルです。それでもadbコマンドでハッキングのようなことをしたりして、すごく苦戦しました。でも何だかんだいってもとても楽しかったです。
ブログ一覧 | パソコン/インターネット
Posted at
2020/07/05 10:03:48