プライベートサービスのキャラクタリスティックの値の書き込み
解説
サービスのキャラクタリスティックの値の書き込みについてまとめます。
ここでは、「プライベートサービスの作成と設定」で作成・設定したプライベートサービスのキャラクタリスティックの値を書き込みます。
作成したプライベートサービスの仕様
作成したプライベートサービスの仕様としては、以下です。
- キャラクタリスティックは2つ。
- 1つ目のキャラクタリスティックは、
- 読み出しができる。
- ノーティファイが可能。
- データサイズは、2バイト(数値を想定。0~65,535)。 - 2つ目のキャラクタリスティックは、
- 書き込みと読み出しができる。
- ノーティファイはなし。
- データサイズは、8バイト(文字列を想定。半角文字8文字)
関連コマンド解説
キャラクタリスティックの値の書き込み「SUW」
「SUW,<UUID>,<値>」※でキャラクタリスティックの値を書き込みます。
※
<UUID>は、キャラクタリスティックのUUIDの16進数値です。UUID は、パブリック キャラクタリスティックの場合は16 ビットの短いUUID(16進数表現で4桁)、プライベート
キャラクタリスティックの場合は128ビットの長いUUID(16進数表現で32桁)です。
<値>は、書き込む値です。
詳細は、「RN4020 Bluetooth® Low Energy モジュール ユーザガイド」の「SUW」コマンドの説明を参照。
「1つ目」のキャラクタリスティックの値を書き込むコマンドは以下のようになります。
UUIDは、「FF6B14268FE611E7ABC4CEC278B6B50A」です。
書き込む値は、16進数値で書き込みます。例えば10進数の10は「0x000A」、10進数の50は「0x0032」、10進数の1000は「0x03E8」です。
10進数の10を書き込む場合は、「SUW,FF6B14268FE611E7ABC4CEC278B6B50A,000A」と入力します。
10進数の20を書き込む場合は、「SUW,FF6B14268FE611E7ABC4CEC278B6B50A,0032」と入力します。
10進数の1000を書き込む場合は、「SUW,FF6B14268FE611E7ABC4CEC278B6B50A,03E8」と入力します。
「2つ目」のキャラクタリスティックの値を書き込むコマンドは以下のようになります。
UUIDは、「FF6B15488FE611E7ABC4CEC278B6B50A」です。
書き込む値は、16進数値で書き込みます。例えば文字列「ABCDE」は「0x41 0x42 0x43 0x44 0x45」、文字列「abcde」は「0x61
0x62 0x63 0x64 0x65」、文字列「Hello!」は「0x48 0x65 0x6C 0x6C 0x6F 0x21」です。
文字列「ABCDE」を書き込む場合は、「SUW,FF6B15488FE611E7ABC4CEC278B6B50A,4142434445」と入力します。
文字列「abcde」を書き込む場合は、「SUW,FF6B15488FE611E7ABC4CEC278B6B50A,6162636465」と入力します。
文字列「Hello!」を書き込む場合は、「SUW,FF6B15488FE611E7ABC4CEC278B6B50A,48656C6C6F21」と入力します。
ターミナルソフトからのコマンド送信とAndroidアプリで値の確認
サポートサービスの設定
「プライベートサービスの作成と設定」に従い、プライベートサービスを設定します。
ターミナルソフトでキャラクタリスティックの値の書き込み
「SUW,FF6B14268FE611E7ABC4CEC278B6B50A,000A」と入力し、エンターキーを押します。
コマンドが正しく実行されると、画面に「AOK」と表示されます。
「SUW,FF6B15488FE611E7ABC4CEC278B6B50A,4142434445」と入力し、エンターキーを押します。
コマンドが正しく実行されると、画面に「AOK」と表示されます。
Androidアプリで値が書き換わっていることの確認
Androidアプリ「BLE Scanner: Read,Write,Notify」のサービス「CUSTOM SERVICE」の2つのキャラクタリスティック「CUSTOM
CHARACTERISTIC」の右の「R」ボタンをそれぞれタップします。
「1つ目のキャラクタリスティック」の値として、「Hex:0x000A」、
「2つ目のキャラクタリスティック」の値として、「Value:ABCED」となります。
Androidアプリで値の自動更新
「1つ目のキャラクタリスティック」は、ノーティファイが可能です。
「1つ目のキャラクタリスティック」の右の「N」ボタンをタップします。
「Notify」を有効にすると、「N」ボタンが緑色になります。
ターミナルソフトからのキャラクタリスティックの値の書き込み
「SUW,FF6B14268FE611E7ABC4CEC278B6B50A,0064」と入力し、エンターキーを押します。
コマンドが正しく実行されると、画面に「AOK」と表示されます。
「SUW,FF6B15488FE611E7ABC4CEC278B6B50A,48656C6C6F21」と入力し、エンターキーを押します。
コマンドが正しく実行されると、画面に「AOK」と表示されます。
Androidアプリで値の自動更新
「1つ目のキャラクタリスティック」は、ノーティファイを有効にしているので、値が、「Hex:0x0064」と、自動更新されます。
「2つ目のキャラクタリスティック」の値は、「Value:ABCED」のままです。
「2つ目のキャラクタリスティック」の右の「R」ボタンをそれぞれタップします。
「2つ目のキャラクタリスティック」の値が、「Value:Hello!」と値が書き換わります。
以上で、プライベートサービスのキャラクタリスティックの値の書き込みと確認ができました。
関連ページ
前項目:プライベートサービスの作成と設定