Lesen von Geräteversionsinformationen und Batteriestatus¶
⚠️ Achtung: Dieses Dokument beschreibt, wie man die API des SDKs verwendet, um Scannergeräte zu bedienen, und enthält Beispielcode in C. Beachten Sie, dass die API synchron arbeitet und den Hauptthread blockieren kann.
⚠️ Achtung: Vor der Verwendung der API müssen Sie das Gerät selbst verbinden und Nachrichtenbenachrichtigungen registrieren, um Nachrichten vom Gerät zu empfangen. Die genauen Schritte finden Sie unter Nachrichtenbenachrichtigung.
1. Lesen der Bluetooth-Versionsinformationen des Geräts¶
Um die Bluetooth-Versionsinformationen des Geräts zu lesen, müssen Sie die folgenden Bluetooth-Dienste und -Merkmale UUIDs für die read
-Operation verwenden:
Bluetooth | UUID |
---|---|
Dienst | 0x0000ff0000001000800000805f9b34fb |
Merkmal | 0x0000ff0200001000800000805f9b34fb |
Durch die direkte read
-Operation der oben genannten Dienste und Merkmale können Sie die Bluetooth-Versionsinformationen version
des Geräts abrufen. Die abgerufenen Daten sind UTF-8-codiert.
version
gibt die Bluetooth-Versionsinformationen des Geräts an. Zum Beispiel: OTA_D_V0.1.8
, wobei V0.1.8
die Versionsnummer ist.
2. Lesen der Firmware-Versionsinformationen des Geräts¶
2.1 Befehl schreiben¶
Um die Bluetooth-Versionsinformationen des Geräts zu lesen, müssen Sie die folgenden Bluetooth-Dienste und -Merkmale UUIDs für die write without response
-Operation verwenden:
Bluetooth | UUID |
---|---|
Dienst | 0x0000ff0000001000800000805f9b34fb |
Merkmal | 0x0000ff0400001000800000805f9b34fb |
Verwenden Sie den folgenden Befehl, um die Daten des Schreibmerkmals zu erhalten:
const char* result = inateck_scanner_cmd_software_version();
Das Ergebnis wird im JSON
-Format zurückgegeben. Wenn der Aufruf erfolgreich ist, wird result
zurückgegeben:
{
"status": 0,
"data": [0, 1, 2, 3],
}
Wenn der Aufruf fehlschlägt, wird result
zurückgegeben:
{
"status": 1,
"data": [],
}
data
sind die Daten des Schreibmerkmals, ein Byte-Array. Diese müssen an das Gerät gesendet werden, um die Firmware-Versionsinformationen zu erhalten.
2.2 Nachrichtenanalyse¶
Nachdem das Gerät geantwortet hat, können Sie die Daten mit der folgenden Methode analysieren:
const char* result = inateck_scanner_cmd_software_result(data, data_length);
Das Ergebnis wird im JSON
-Format zurückgegeben. Wenn der Aufruf erfolgreich ist, wird result
zurückgegeben:
{
"status": 0,
"data": "BCST-75 V1.1.0 AI"
}
Wenn der Aufruf fehlschlägt, wird result
zurückgegeben:
{
"status": 1,
"data": ""
}
data
sind die Firmware-Versionsinformationen des Geräts. Zum Beispiel: BCST-75 V1.1.0 AI
.
2.3 Beispielcode¶
#include <stdio.h>
#include <string.h>
#include "inateck_scanner_cmd.h"
int main() {
const char* result = inateck_scanner_cmd_software_version();
if (result) {
// result ist im JSON-Format, Daten analysieren
const unsigned char* data = (const unsigned char*)result;
int data_length = strlen(result);
// Daten über Bluetooth senden, write without response
// Hier wird angenommen, dass es eine Funktion send_data_via_bluetooth gibt, die Daten sendet
send_data_via_bluetooth(data, data_length);
// Auf Antwort des Geräts warten, Daten empfangen
// Hier wird angenommen, dass es eine Funktion receive_data_via_bluetooth gibt, die Daten empfängt
receive_data_via_bluetooth();
const unsigned char* data = get_received_data();
int data_length = get_received_data_length();
// Daten analysieren
const char* result = inateck_scanner_cmd_software_result(data, data_length);
if (result) {
// JSON-Ergebnis analysieren, bitte entsprechend der tatsächlichen Situation analysieren
const char* version = ...; // Version analysieren
printf("Firmware-Versionsinformationen: %s\n", version);
}
}
return 0;
}
3. Lesen der Batteriestatusinformationen des Geräts¶
Um die Bluetooth-Versionsinformationen des Geräts zu lesen, müssen Sie die folgenden Bluetooth-Dienste und -Merkmale UUIDs für die read
-Operation verwenden:
Bluetooth | UUID |
---|---|
Dienst | 0x0000ff0000001000800000805f9b34fb |
Merkmal | 0x00002a1900001000800000805f9b34fb |
Durch die direkte read
-Operation der oben genannten Dienste und Merkmale können Sie die Batteriestatusinformationen battery
des Geräts abrufen. battery
ist der Batteriestatus des Geräts in Prozent, der Bereich liegt zwischen 0 und 100.