0
私はBLE初心者です。私はいくつかの広告パケットを送信するために、Windows 10のIOTコアを実行している私のラズベリーパイ3を使用しています。AdvertisementでBluetoothLEAdvertisementDataSectionを使用した場合、無効な広告ペイロード
メーカーデータのみを送信する場合、正常に動作します。しかし、データセクションでデータを送信しようとすると、次のエラーが表示されます。
を検出したメーカーのデータデータが無効です。無効な広告ペイロードはここ
private void StartPublishWithDataSection()
{
string data = "SHASHWAT";
DataWriter writer = new DataWriter();
writer.WriteInt32(data.Length);
writer.WriteString(data);
var adv = new BluetoothLEAdvertisement();
var manufacturerData = new BluetoothLEManufacturerData(
0x0006, writer.DetachBuffer());
adv.ManufacturerData.Add(manufacturerData);
DataWriter writer2 = new DataWriter();
writer2.WriteString("Hello Shashwat");
var dataSection = new BluetoothLEAdvertisementDataSection();
dataSection.Data = writer2.DetachBuffer();
adv.DataSections.Add(dataSection);
var publisher = new BluetoothLEAdvertisementPublisher(adv);
publisher.Start();
}
これは、無効なデータ例外がスローされますと一緒にデータ・セクションを使用した唯一のメーカーのデータ
private void StartPublish()
{
string data = "SHASHWAT";
DataWriter writer = new DataWriter();
writer.WriteInt32(data.Length);
writer.WriteString(data);
var adv = new BluetoothLEAdvertisement();
var manufacturerData = new BluetoothLEManufacturerData(
0x0006, writer.DetachBuffer());
adv.ManufacturerData.Add(manufacturerData);
var publisher = new BluetoothLEAdvertisementPublisher(adv);
publisher.Start();
}
を使用してコード
です。
私が間違っているかどうか教えてください。
ご協力いただければ幸いです。
ご回答ありがとうございます。私は長さが問題だとは思わない。私は[link](https://docs.microsoft.com/en-us/uwp/api/windows.devices.bluetooth.advertisement.bluetoothleadvertisementpublisher)を確認しましたが、システム予約されている広告タイプについて言及しています。私はこれらとは異なるタイプを設定していました。 – shashwat12
どのようなタイプを設定していますか?そして、何バイトを送るのですか? –
タイプは0x66でした。私はデータを同じにしました。製造業者データの「Shashwat」とデータセクションの0x66タイプのデータの「Hello Shashwat」。 – shashwat12