SSP(Secure Simple Pairing)

はじめに

  SSP(Secure Simple Pairing)のJust Works方式で、PINコード入力を省略できます。SSPはBluetooth  2.1+EDRから採用されています。ここでは、PC用のキーボードを模擬するファームウェアを紹介します。ただ、OSがWindows 7 64bit Professonalで、それに付いてくるBluetoothプロトコル・スタック(Microsoft社のBluetoothプロトコル・スタック)だけでしか動作確認していません。


PIC用ファームウェア

  PIC24FJ64GB002に書き込むためのファームウェアはhid_keySSP5.zip(Windows10用はhid_keySSP_win10.zip)です。 PIC回路において、PICの11番ピンとアース(GND)の間にタクトスイッチを付け加えます。また、PICの26番ピンとGND(アース)の間に、LEDと220Ω(電源が3.3Vのとき)を直列に繋いだものを入れます。 このファームウェアを走らせると、11番ピンはプルアップされます(つまり、タクトスイッチを押すと11番ピンの電圧は0Vとなり、離すと11番ピンの電圧は3.3Vとなります)。 まず、最初にPCと接続するときは、これまでの接続法と同じですが(Bluetoothデバイス・アイコンで起動するBluetoothウィザードを使う)、タクトスイッチを押しながら、PIC回路の電源を入れ、ドングルのLEDが青く光るまでタクトスイッチを押し続けてください。PCと接続が完了すると、PICの26番ピンに繋いだLEDが光ります。2回目以降の接続は、タクトスイッチを離したまま、単にPIC回路の電源を入れるだけです。PICの26番ピンに繋いだLEDが光れば、接続完了です。2回目以降の接続は、Bluetoothウィザードを使う必要はありません。

  使用方法は、適当なテキストエディタ(メモ帳など)を開き、PICの2、3、6、7ピン(ファームウェアでプルアップしています)のいずれかをGNDに接続すると、それぞれ、a、b、A、Bなる文字がエディタ画面に現れます。

  一見、bluetooth-HIDプロファイルの節のhid_key5.zipと変わらないように思えましょうが、hid_key5.zipではデバイスのクラスが
case HCI_CMD_CLASS_DEVICE:
          buf1[0]=0x24;
          buf1[1]=0x0c;
          buf1[2]=0x03;
          buf1[3]=0x04;//joystick
          buf1[4]=0x05;//joystick
          buf1[5]=0x00;
のようにジョイステックとなっています。もし、これを本来のキーボード(buf1[3]=0x40)にするとPINコード入力が要求されます。hid_keySSP5.zipでは、デバイスのクラスを本来のキーボード(buf1[3]=0x40)にしていますが、PINコード入力が要求されることはありません。


戻る