上:Bluetoothドングル(BT-MicroEDR1X)
左:ICSP(デバッガ、ライタ)
下:電源(DC5V)
右:RS232C(デバッグ用)
中央:マイコン(PIC24FJ64GB002)
ボタン:リセット(RST)、ペアリング初期化(CLR)
LED:リンク確立(LNK)、警報スイッチ1(S1)、警報スイッチ2(S2)、受信信号強度(RSSI)

消費電流は、実測値で30-40mAだった。その多くはBluetoothドングルが消費している。単3アルカリ電池4本で連続で2日ぐらい使える。Bluetooth子機なので、最初だけ親機(PC)とのペアリングが必要となる。基盤側のBluetoothドングルを変更した場合や親機側Bluetoothドングルを変更した場合、別の親機とペアリングする場合には、CLRボタンを押してペアリング情報を初期化してから再度ペアリングを実施する。リンクが確立し、BluetoothのHIDプロファイルによる通信が可能な状態になると、リンク確立のLED(LNK)がゆっくり点滅する。Msakoが動体を検知すると、2チャンネルの警報スイッチのLED(S1、S2)が点灯する。受信信号強度を示すLEDは次のように、RSSI値に応じて表示する。
| LED表示 | ● ● ● | ○ ● ● | ○ ○ ● | ○ ○ ○ |
|---|---|---|---|---|
| RSSI値 | -10dB以上 | -10~-20dB | -20~-30dB | -30dB以下 |

この基板はBluetoothのHIDプロファイル仕様に準拠しているので、PC側に新たにドライバーをインストールする必要は無い。リンクが確立すると、OSにあらかじめ組み込まれているドライバが自動的にロードされる。

マイコン側のファームでCoD(Class Of Device)のMajor Device Class(主分類)をMiscellanous(その他)としているので、デバイスとプリンタの一覧中には次のように、素っ気無い四角い箱として表示される。Bluetoothの仕様で定義されているMajor Device Classは次のものしかなく、Msakoの警報装置にしっくりと当てはまるものが見当たらない。(;;)
- Miscellaneous
- Computer (desktop,notebook, PDA, organizers, .... )
- Phone (cellular, cordless, payphone, modem, ...)
- LAN /Network Access point
- Audio/Video (headset,speaker,stereo, video display, vcr.....
- Peripheral (mouse, joystick, keyboards, ..... )
- Imaging (printing, scanner, camera, display, ...)
- Wearable
- Toy
- Health
- Uncategorized, specific device code not specified

HID レポートディスクリプタは次のとおり単純なものである。こちらはUSBの仕様の範疇であるが、USAGE_PAGE (Consumer Devices)、USAGE (Police Alarm)とMsakoの警報器が該当しそうな分類が定義されているので、これに決めた。
HID レポートディスクリプタ
0x05, 0x0c, // USAGE_PAGE (Consumer Devices)0x0a, 0x08, 0x01, // USAGE (Police Alarm)0xa1, 0x01, // COLLECTION (Application)0x05, 0x09, // USAGE_PAGE (Button)0x19, 0x01, // USAGE_MINIMUM (Button 1)0x29, 0x08, // USAGE_MAXIMUM (Button 8)0x15, 0x00, // LOGICAL_MINIMUM (0)0x25, 0x01, // LOGICAL_MAXIMUM (1)0x75, 0x01, // REPORT_SIZE (1)0x95, 0x08, // REPORT_COUNT (8)0x91, 0x02, // OUTPUT (Data,Var,Abs)0xc0, // END_COLLECTION
