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:

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;
}