LED-Steuerung


⚠️ 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 muss das Gerät verbunden werden. Die genauen Schritte finden Sie unter Gerät verbinden.

1. Befehl schreiben

Um die LED des Scan-Geräts zu steuern, müssen Sie den folgenden Bluetooth-Dienst und die folgenden Charakteristik-UUIDs für die write without response-Operation verwenden:

Bluetooth UUID
Dienst 0x0000ff0000001000800000805f9b34fb
Charakteristik 0x0000ff0400001000800000805f9b34fb

Verwenden Sie den folgenden Befehl, um die Daten der Charakteristik zu schreiben:

const char* result = inateck_scanner_cmd_set_led(led_color, light_time, dark_time, led_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. Nachricht analysieren

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_led(3, 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 led success\n");
        } else {
            printf("Set led failed\n");
        }
    }
    return 0;
}