nRF24LU1P でUSBガジェットを作る

以前紹介したnRF24LU1PでUSBガジェットを作ってみた。

当初はHIDデバイスとして作成してみたがアプリからはOSに依存した特別なアクセス方法が必要なことやアプリからアクセスされていない状況では直ぐにサスペンド状態になり電源オフになったことさえもデバイス側から検知することができないので却下。次にCDC-ACM(仮想シリアルポート)デバイスを試してみると、最近の Windows や Linux の標準デバイスドライバーで動作し特別なデバイスドライバーを必要としないということに加えアプリがファイルにアクセスするのと同じ方法でアプリとデバイスが通信できるという極めて大きな利点があることがわかる。さらにCDC-ACMデバイスは、OS起動時にアクティブにされた後、シャットダウンまでサスペンドにはならないためPCの電源管理用途にも使えたりする。但し、古いバージョンのOSでは標準サポートでない(動作しない)可能性があるが、古いOSをあえて使い続けるほうが問題ありとも考えられるのでそこは割り切ったほうが良さそうだ...

最初に作ってみたものはPC電源と連動するUSB中継コネクタ。PC側に接続されたnRF24LU1Pと連動しUSB電源をいきなりオンオフする危険な回路。危ないので回路図すら残っていない。(笑)

次に、ドップラーセンサーによるモーションセンサーを作ってみた。


ドップラーセンサーは、PIRセンサーと違い日光や熱源による影響を受けず、電波を反射する全ての物体の動きを検出できる。主に人間(恒温動物)だけを検出したい場合はPIRセンサーのほうが適しているのでついでにPIRセンサーバージョンも作ってみた。ケースは3Dプリンターで作成。市販の物を組み合わせただけだがそれなりに小型にできたかも。

【前方:PIRセンサー、後方:ドップラーセンサー】

どちらも、USB(仮想シリアルポート)或いは無線経由でセンサー状態を取得することが可能であるが、目標はマルチホップ方式による無線ネットワーク化。まだまだ先は長そうだが...生きてるうちに完成するのか?(笑)