質問: SPRESENSE Bluetooth®LE Add-onボード SPRESENSE-BLE-EVK-701 を購入しました。 このアドオンボードに搭載されているBLEモジュールの資料 * MK71251-02ユーザーズ・マニュアル * MK71251-02A用ATコマンド・アプリケーションユーザーズ・マニュアル * MK71251-02A ATコマンド仕様書 を参照したのですが、MK71251-02ユーザーズ・マニュアル4章「コマンド・インタフェース」のように、このモジュールにはHCIコマンドとATコマンドの2種類のインターフェースがあります。 ATコマンド・アプリケーションユーザーズ・マニュアル 4.2.1節にあるように、 にあるサンプルでは、「アプリケーションモード(Add-onタイプ)」で動かしていて、サービスやキャラクタリスティックがラピス独自のもので固定 (VSSPP, VSA) かと思われます。 ATコマンドで、ユーザー自身でサービスやキャラクタリスティックを追加するには、付属の Windows アプリケーションから、EEPROM の GATT_DB テーブルを修正する必要があるということでしょうか。 またサンプルでは "ATS150=" で始まるコマンドで、Sレジスタの150番のアドバタイズデータを書き換えていることは分かりますが、そのコマンドの仕様が分かりません。キャラクタリスティックの値を書き換えるときは "ATS150=" で始まるコマンドで書き換えるのでしょうか? HCIコマンドの場合、OGFとOCFからなるコマンドにて、SPRESENSEからUARTで操作できるのかなと思われますが、コマンドの仕様や、アドバタイズ・接続までの具体的な手順が不明でした。 SPRESENSEで Bluetooth LE Add-onボード SPRESENSE-BLE-EVK-701 を用い、独自のService, Characteristicでアドバタイズし、Value を自由に書き換えたいと思っておりまして、もしそのようなArduino サンプルがあれば非常に助かります。 よろしくお願い致します。
回答: お使いのBLEモジュールは、仰る通り、ATコマンド・アプリケーションが動作します。 このアプリケーションに、サービスやキャラクタリスティックをユーザーにて追加して動作する 構成とはなっておりません。但し、DIS(Device Information Service)の各キャラクタリスティックに 関しては、Windowsツール(GATT_DBテーブル生成ユーティリティ)で、修正・削除することが出来ます。 “ATS150=”で始まるコマンドは、アドバタイズ・データ変更のためのコマンドです。 キャラクタリスティックの変更は出来ません。 Bluetooth仕様で規定されたフォーマット(詳細はBluetooth SIGのHPを参照して下さい)で指定することで、 送信されるアドバタイズ・データを変更することが出来ます。