Gerät verbinden


⚠️ Achtung: Dieses Dokument beschreibt, wie man die API des SDKs verwendet, um das Scan-Gerät zu bedienen, und bietet Beispielcode in C. Bitte 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. Konfigurationsberechtigung senden

Verwenden Sie die folgenden Bluetooth-Dienste und -Merkmale UUIDs für die write without response Operation:

Bluetooth UUID
Dienst 0x0000ff0000001000800000805f9b34fb
Merkmal 0x0000ff0500001000800000805f9b34fb

Nach dem Verbinden des Geräts müssen Sie die Konfigurationsberechtigung erteilen. Wenn die Berechtigung nicht erteilt wird, trennt der Scanner die Bluetooth-Verbindung.
Verwenden Sie den folgenden Befehl, um die Daten für das Schreiben des Merkmals zu erhalten:

const char* result = inateck_scanner_cmd_auth();

Das Ergebnis wird im JSON-Format zurückgegeben. Wenn der Aufruf erfolgreich ist, gibt result Folgendes zurück:

{
    "status": 0,
    "data": [0, 1, 2, 3],
}

Wenn der Aufruf fehlschlägt, gibt result Folgendes zurück:

{
    "status": 1,
    "data": [],
}

Ergebnis: * data: Konfigurationsberechtigungsbefehl, Byte-Array. Muss an den Scanner gesendet werden, um die Konfigurationsberechtigung zu erhalten.

Senden Sie den erhaltenen Konfigurationsberechtigungsbefehl an den Scanner und warten Sie auf die Antwort des Scanners.

2. Datenanalyse

Senden Sie den erhaltenen Konfigurationsberechtigungsbefehl an den Scanner, der das Verifizierungsergebnis data zurückgibt. Sie können die folgenden Methoden zur Datenanalyse verwenden:

int result = inateck_scanner_cmd_check_auth_result(data, data_length);

Das Ergebnis wird als int-Typ zurückgegeben. Wenn der Aufruf erfolgreich ist, gibt result 0 zurück, was bedeutet, dass die Verifizierung erfolgreich war. Wenn der Aufruf fehlschlägt, gibt result 1 zurück, was bedeutet, dass die Verifizierung fehlgeschlagen ist.

3. Beispielcode

#include <stdio.h>
#include <string.h>
#include "inateck_scanner_cmd.h"

int main() {
    const char* result = inateck_scanner_cmd_auth();
    if (result) {
        // Angenommen, result ist im JSON-Format, Daten analysieren
        const unsigned char* data = (const unsigned char*)result;
        int data_length = strlen(result);

        // Daten über Bluetooth senden
        // 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 Scanners warten, Daten empfangen
        // Hier wird angenommen, dass es eine Funktion receive_data_via_bluetooth gibt, die Daten empfängt
        const char* setting_data = receive_data_via_bluetooth();
        int setting_data_length = strlen(setting_data);

        int check_result = inateck_scanner_cmd_check_auth_result(setting_data, setting_data_length);
        if (check_result == 0) {
            printf("Verifizierung erfolgreich\n");
        } else {
            printf("Verifizierung fehlgeschlagen\n");
        }
    } else {
        printf("Authentifizierung fehlgeschlagen, kein Ergebnis erhalten\n");
    }

    return 0;
}

// Angenommene Funktion zum Senden von Daten
void send_data_via_bluetooth(const unsigned char* data, int data_length) {
    // Implementierung der Bluetooth-Datenübertragungslogik
}

// Angenommene Funktion zum Empfangen von Daten
const char* receive_data_via_bluetooth() {
    // Implementierung der Bluetooth-Datenempfangslogik
    return "example_response_data"; // Beispielantwort zurückgeben
}