Je suis un débutant BLE. J'utilise mon Raspberry Pi 3, exécutant Windows 10 Iot Core, pour envoyer des paquets de publicité. Lorsque vous envoyez uniquement les données fabricant, cela fonctionne parfaitement. Mais quand j'essaye d'envoyer des données dans la section de données, il me donne l'erreur suivante.Charge utile d'annonce non valide lors de l'utilisation de BluetoothLEAdvertisementDataSection dans la publicité
Les données ne sont pas valides. charge utile non valide publicité détectée
Voici le code
En utilisant seulement Fabricant de données
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();
}
En utilisant la section des données ainsi que du fabricant de données
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();
}
Cela jette exception des données non valides.
S'il vous plaît laissez-moi savoir si je fais quelque chose de mal.
Toute aide serait appréciée.
Merci pour votre réponse. Je ne pense pas que la longueur est le problème. J'ai vérifié ce [link] (https://docs.microsoft.com/en-us/uwp/api/windows.devices.bluetooth.advertisement.bluetoothleadvertisementpublisher), il mentionne les types de publicité qui sont réservés par le système. J'ai mis un type différent de ceux-ci, et cela a fonctionné. – shashwat12
Quel type définissez-vous? Et combien d'octets envoyez-vous? –
Le type était 0x66, et j'ai gardé les mêmes données. "Shashwat" dans les données du fabricant et "Hello Shashwat" pour les données de type 0x66 dans la section de données. – shashwat12