Funktionen zur Laufzeit ändern
Da neue Funktionen (z.B. die dynamische Puffergröße) durch ein Firmware-Upgrade beim Anbieter aktiviert werden können, möchten wir eine Möglichkeit bieten, die Funktionen des Anbieters zur Laufzeit abzurufen. Um wiederholte Abfragen von Funktionen zu vermeiden, sollte der Anbieter zuerst die Firmwareversion über einen Nachrichtenstream an den Sucher senden, wenn eine Verbindung besteht. Daher fügen wir der vorhandenen Nachrichtengruppe einen neuen Nachrichtencode hinzu: das Ereignis „Geräteinformationen“.
Name der Nachrichtengruppe | Wert |
---|---|
Ereignis „Geräteinformationen“ | 0x03 |
Name des Nachrichtencodes | Wert |
---|---|
Firmwareversion | 0x09 |
Sobald der Sucher den Firmware-Revisioncode erhalten hat, muss er ihn mit dem im Cache gespeicherten Code vergleichen. Wenn sich die Firmwareversion geändert hat, aktualisiert der Sucher die Firmwareversion des Caches und fragt die Funktionen über den Message Stream ab.
Außerdem erlauben wir dem Anbieter, Funktionen direkt an den Suchenden zu senden, ohne dass vorher eine Anfrage gestellt werden muss. Wir gehen davon aus, dass in Zukunft komplexere Geräte (z. B. Android-basierte) eine dynamische Konfiguration basierend auf Flags für dieselbe Firmwareversion durchführen werden.
Daher fügen wir unten eine neue Nachrichtengruppe und Nachrichtencodes hinzu.
Name der Nachrichtengruppe | Wert |
---|---|
Ereignis „Gerätefunktionssynchronisierung“ | 0x06 |
Name des Nachrichtencodes | Wert |
---|---|
Aktualisierung der Funktion anfordern (von Sucher gesendet) | 0x01 |
FHN-Tracking | 0x03 |
Nach Erhalt von 0x0601
- Wenn der Anbieter die Unterstützung für das FHN-Tracking aktiviert hat, sollte er so antworten:
Oktett | Datentyp | Beschreibung | Wert |
---|---|---|---|
0 | uint8 | Ereignis „Gerätefunktionssynchronisierung“ | 0x06 |
1 | uint8 | FHN-Tracking | 0x03 |
2–3 | uint16 | Zusätzliche Datenlänge | 0x0007 |
4 | uint8 | Bereitstellungsstatus von FHN | 0x00, wenn nicht bereitgestellt; 0x01, wenn von einem Konto bereitgestellt |
5 - 10 | uint8[] | Die aktuelle BLE-MAC-Adresse des Geräts | variiert |