スマートフォン (Android アプリ) から Bluetooth Low Energy (BLE) デバイスにパケットを送信しようとしています。
書き込みコマンドの送信方法を知っています:
このようなもの:
public void onServicesDiscovered(final BluetoothGatt gatt, int status) {
List<BluetoothGattService> services = gatt.getServices();
for (BluetoothGattService service : services) {
for (final BluetoothGattCharacteristic characteristic : service.getCharacteristics()) {
if (characteristic.getUuid().toString().equals(CONTROL_UUID)) {
boolean setValue = characteristic.setValue(new byte[]{/*..BYTES.*/});
boolean writeCharacteristic = gatt.writeCharacteristic(characteristic);
}
}
}
}
この送信されたコマンドを Wireshark (スニッフィング アプリ) で見ると、次のように表示されます。
しかし、私はこのようなものを送る必要もあります(書き込みコマンドではなく、書き込み要求)
デバイスが接続後にこの書き込み要求を 1 回だけ送信することを制御する公式アプリ
それがないと、そのデバイスを制御できないようです
したがって、書き込みコマンドを送信する前に、まずこの書き込み要求を送信する必要があります