Cypress Semiconductorの「PSoC 62S2 Wi-Fi BTパイオニアキット」のCAPSENSE™ buttonsとsliderのデータを、Android端末で動作する「CySmart」アプリに送信します。「infineonのModusToolboxの設定」で開発環境を構築したinfineonのModusToolboxを使って開発します。BLEのプログラムについては、提供されているサンプルコードを使用し、詳細については「Bluetooth® LE with CAPSENSE™ buttons and slider」を参考にしました。

BLEプログラムの作成

次の手順でModusToolboxを使ってBLEプログラムを開発します。

  1. Quick PanelからNew Applicationを選択して、Project Creatorを起動します。
  2. Project Creator で「PSoC™ 6 BSPs 」より「PSoC 62S2-43012 」を選択し、「Next」ボタンをクリックします。
  3. 次のようにサンプルコード「Bluetooth」から「Bluetooth_LE_CAPSENSE_Buttons_and_Slider」を選択して、「Create」ボタンをクリックします。

Bluetooth LEの設定

プロジェクトエクスプローラに表示されている「design.cybt」ファイルをダブルクリックするとBluetooth LEの設定が表示されます。

次のようにCAPSENSEのService UUIDが「0003CAB5-0000-1000-8000-00805F9B0131」になっています。

次のようにCAPSENSEのButtonsのCharacteristic UUIDが「0003CAA3-0000-1000-8000-00805F9B0131」になっています。

BLEプログラムの実行

次の手順で作成したBLEプログラム「Bluetooth_LE_CAPSENSE_Buttons_and_Slider」をビルドしてPSoC 62S2 Wi-Fi BTパイオニアキットで実行します。

  1. Quick Panelから「Build Bluetooth_LE_CAPSENSE_Buttons_and_Slider Application」をクリックしてBuild します。
  2. Quick Panelから「Bluetooth_LE_CAPSENSE_Buttons_and_Slider Debug(KitProg3_MiniProg4)」をクリックして実行します。次のようにシリアル端末に表示されます。
  3. ******Bluetooth LE CapSense Buttons & Slider*******
    ***************************************************
    
    Bluetooth stack initialization successful!
    App management cback: 0x16
    App management cback: 0x0
    Bluetooth local device address: 18:48:CA:88:48:CB
    Discover the device with name: "CapSense Button Slider"
    
    GATT event handler registration status: 0x0
    GATT database initiliazation status: 0x0
    App management cback: 0x18
    Advertisement state change: 0x3
    App management cback: 0x18
    Advertisement state change: 0x4
    
  4. CapSense Button「BTN0」を押すとLEDが点灯し、CapSense Button「BTN1」を押すとLEDが消灯します。CapSense Sliderを移動させると、LEDの輝度が変化します。
  5. Android端末で「CySmart」アプリを起動すると、次のように表示されます。
  6. 表示された画面で「CapSense Button Slider」をクリックすると、次のように表示されます。
  7. 次のようにシリアル端末に表示されます。
  8. GATT event handler registration status: 0x0
    GATT database initiliazation status: 0x0
    App management cback: 0x18
    Advertisement state change: 0x3
    App management cback: 0x14
    Bluetooth connected with device address:4F:9B:B5:76:67: 4
    Bluetooth device connection id: 0x8000
    App management cback: 0x18
    Advertisement state change: 0x0
    App management cback: 0x20
    4F:9B:B5:76:67: 4
    App management cback: 0x20
    4F:9B:B5:76:67: 4
    GATT req mtu
    App management cback: 0x20
    4F:9B:B5:76:67: 4
    App management cback: 0x20
    4F:9B:B5:76:67: 4
    Bluetooth disconnected with device address:4F:9B:B5:76:67: 4
    Bluetooth device connection id: 0x8000
    App management cback: 0x18
    Advertisement state change: 0x3
    App management cback: 0x14
    Bluetooth connected with device address:4F:9B:B5:76:67: 4
    Bluetooth device connection id: 0x8000
    App management cback: 0x18
    Advertisement state change: 0x0
    App management cback: 0x20
    4F:9B:B5:76:67: 4
    App management cback: 0x20
    4F:9B:B5:76:67: 4
    GATT req mtu
    App management cback: 0x20
    4F:9B:B5:76:67: 4
    App management cback: 0x20
    4F:9B:B5:76:67: 4
    Bluetooth disconnected with device address:4F:9B:B5:76:67: 4
    Bluetooth device connection id: 0x8000
    App management cback: 0x18
    Advertisement state change: 0x3
    App management cback: 0x14
    Bluetooth connected with device address:4F:9B:B5:76:67: 4
    Bluetooth device connection id: 0x8000
    App management cback: 0x18
    Advertisement state change: 0x0
    App management cback: 0x20
    4F:9B:B5:76:67: 4
    App management cback: 0x20
    4F:9B:B5:76:67: 4
    GATT req mtu