Implementa l'Hub SDK con uno script - Integrazioni gestite per AWS IoT Device Management

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Implementa l'Hub SDK con uno script

Distribuisci manualmente i componenti Hub SDK delle integrazioni gestite utilizzando gli script di installazione, quindi convalida la distribuzione. Questa sezione descrive le fasi di esecuzione degli script e il processo di verifica.

Prepara il tuo ambiente

Completa questi passaggi prima di eseguire lo script di installazione dell'SDK:

  1. Crea una cartella denominata middleware all'interno della artifacts cartella.

  2. Copia i file del middleware dell'hub nella middleware cartella.

  3. Esegui i comandi di inizializzazione prima di avviare l'SDK.

    Importante

    Ripeti i comandi di inizializzazione dopo ogni riavvio dell'hub.

    #Get the current user _user=$(whoami) #Get the current group _grp=$(id -gn) #Display the user and group echo "Current User: $_user" echo "Current Group: $_grp" sudo mkdir -p /dev/aipc/ sudo chown -R $_user:$_grp /dev/aipc sudo mkdir -p /data/ace/kvstorage sudo chown -R $_user:$_grp /data/ace/kvstorage

Esegui lo script Hub SDK

Vai alla directory degli artefatti ed esegui lo script. start_iotmi_sdk.sh Questo script avvia i componenti dell'hub SDK nella sequenza corretta. Esamina i seguenti log di esempio per verificare il successo dell'avvio:

Nota

I registri di tutti i componenti in esecuzione si trovano all'interno della artifacts/logs cartella.

hub@hub-293ea release_Oct_17$ ./start_iotmi_sdk.sh -------Stopping SDK running processes--- DeviceAgent: no process found ------Starting SDK------- -------Creating logs directory---------- Logs directory created. -------Verifying Middleware paths------- All middleware libraries exist -------Verifying Middleware pre reqs--- AIPC and KVstroage directories exist -------Starting HubOnboarding----------- -------Starting MQTT Proxy----------- -------Starting Event Manager----------- -------Starting Zigbee Service---------- -------Starting Zwave Service---------- /data/release_Oct_17/middleware/AceZwave/bin /data/release_Oct_17 /data/release_Oct_17 -------Starting CDMB-------------------- -------Starting Agent-------------------- -------Starting Provisioner-------------- -------Checking SDK status--------------- hub 6199 1.7 0.7 1004952 15568 pts/2 Sl+ 21:41 0:00 ./iotmi_mqtt_proxy -C /data/aws/iotmi/config/iotmi_config.json Process 'iotmi_mqtt_proxy' is running. hub 6225 0.0 0.1 301576 2056 pts/2 Sl+ 21:41 0:00 ./middleware/AceCommon/bin/ace_eventmgr Process 'ace_eventmgr' is running. hub 6234 104 0.2 238560 5036 pts/2 Sl+ 21:41 0:38 ./middleware/AceZigbee/bin/ace_zigbee_service Process 'ace_zigbee_service' is running. hub 6242 0.4 0.7 1569372 14236 pts/2 Sl+ 21:41 0:00 ./zwave_svc Process 'zwave_svc' is running. hub 6275 0.0 0.2 1212744 5380 pts/2 Sl+ 21:41 0:00 ./DeviceCdmb Process 'DeviceCdmb' is running. hub 6308 0.6 0.9 1076108 18204 pts/2 Sl+ 21:41 0:00 ./IoTManagedIntegrationsDeviceAgent Process 'DeviceAgent' is running. hub 6343 0.7 0.7 1388132 13812 pts/2 Sl+ 21:42 0:00 ./iotmi_lpw_provisioner Process 'iotmi_lpw_provisioner' is running. ------Successfully Started SDK----

Verifica il provisioning dell'hub

Verifica che il iot_provisioning_state campo in /data/aws/iotmi/config/iotmi_config.json sia impostato suPROVISIONED.

Verifica il funzionamento dell'agente

Controlla il file di registro per i messaggi di avvio dell'agente e la corretta inizializzazione.

tail -f -n 100 logs/agent_logs.txt

Esempio

[2024-09-06 02:31:54.413758906][Device_Agent][info] Successfully subscribed to topic: south/bF|gi_044F8821D0193608C8D5BF80858E20A56E3A8490/control [2024-09-06 02:31:54.513956059][Device_Agent][info] Successfully subscribed to topic: south/bF|gi_044F8821D0193608C8D5BF80858E20A56E3A8490/setup
Nota

Verifica che il iotmi.db database esista nella tua artifacts directory.

Verifica il funzionamento di LPW-Provisioner

Controllate il file di registro per i messaggi di LPW-Provisioner avvio e l'inizializzazione corretta.

tail -f -n 100 logs/provisioner_logs.txt

Il codice seguente mostra un esempio.

[2024-09-06 02:33:22.068898877][LPWProvisionerCore][info] Successfully subscribed to topic: south/bF|gi_044F8821D0193608C8D5BF80858E20A56E3A8490/setup