Ton- und Vibrationssteuerung¶
⚠️ Achtung: Dieses Dokument beschreibt, wie man die API des SDKs verwendet, um das Scan-Gerät zu steuern, und bietet 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. Ton- und Vibrationshinweis¶
Verwenden Sie die folgenden Bluetooth-Dienste und -Merkmale UUIDs für die read
-Operation:
Bluetooth | UUID |
---|---|
Dienst | 0x0000ff0000001000800000805f9b34fb |
Merkmal | 0x0000ff0300001000800000805f9b34fb |
Wenn die Ton- oder Vibrationsfunktion aktiviert ist, gibt das Scan-Gerät beim Lesen des oben genannten Merkmals einen Ton- oder Vibrationshinweis aus.
2. Tonsteuerung¶
2.1 Befehl schreiben¶
Um die Tonfunktion des Scan-Geräts zu steuern, verwenden Sie die folgenden Bluetooth-Dienste und -Merkmale UUIDs für die write without response
-Operation:
Bluetooth | UUID |
---|---|
Dienst | 0x0000ff0000001000800000805f9b34fb |
Merkmal | 0x0000ff0400001000800000805f9b34fb |
Verwenden Sie den folgenden Befehl, um die Daten des Schreibmerkmals zu erhalten:
const char* result = inateck_scanner_cmd_set_bee(voice_time, silent_time, count);
Eingabeparameter:
voice_time
ist die Dauer des Tons in 20 Millisekunden.silent_time
ist die Intervallzeit des Tons in 20 Millisekunden.count
ist die Anzahl der Tonzyklen.
Das Ergebnis wird im JSON
-Format zurückgegeben. Wenn der Aufruf erfolgreich ist, gibt result
zurück:
{
"status": 0,
"data": [0, 1, 2, 3],
}
Wenn der Aufruf fehlschlägt, gibt result
zurück:
{
"status": 1,
"data": [],
}
2.2 Nachrichtenanalyse¶
Nachdem das Gerät geantwortet hat, können Sie die Daten mit der folgenden Methode analysieren:
int result = inateck_scanner_cmd_check_result(data, data_length);
Das Ergebnis wird als int
-Typ zurückgegeben. Wenn der Aufruf erfolgreich ist, gibt result
0
zurück. Wenn der Aufruf fehlschlägt, gibt result
1
zurück.
3. Beispielcode¶
#include <stdio.h>
#include <string.h>
#include "inateck_scanner_cmd.h"
int main() {
const char* result = inateck_scanner_cmd_set_bee(10, 10, 10);
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 die 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
int result = inateck_scanner_cmd_check_result(data, data_length);
if (result == 0) {
printf("Set bee success\n");
} else {
printf("Set bee failed\n");
}
}
return 0;
}