Implemente el SDK de Hub con un script - Integraciones gestionadas para AWS IoT Device Management

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Implemente el SDK de Hub con un script

Implemente los componentes del SDK de Hub para integraciones gestionadas manualmente mediante scripts de instalación y, a continuación, valide la implementación. En esta sección se describen los pasos de ejecución del script y el proceso de verificación.

Prepare su entorno

Complete estos pasos antes de ejecutar el script de instalación del SDK:

  1. Cree una carpeta con un nombre middleware dentro de la artifacts carpeta.

  2. Copie los archivos de middleware de Hub a la middleware carpeta.

  3. Ejecute los comandos de inicialización antes de iniciar el SDK.

    importante

    Repita los comandos de inicialización después de cada reinicio del 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

Ejecute el script del SDK de Hub

Navegue hasta el directorio de artefactos y ejecute el start_iotmi_sdk.sh script. Este script lanza los componentes del SDK del hub en la secuencia correcta. Revise los siguientes registros de ejemplo para comprobar que el inicio se ha realizado correctamente:

nota

Los registros de todos los componentes en ejecución se encuentran en la artifacts/logs carpeta.

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

Compruebe el aprovisionamiento del hub

Compruebe que el iot_provisioning_state campo de entrada /data/aws/iotmi/config/iotmi_config.json esté establecido enPROVISIONED.

Compruebe el funcionamiento del agente

Compruebe el archivo de registro para ver si hay mensajes de inicio del agente y si la inicialización se ha realizado correctamente.

tail -f -n 100 logs/agent_logs.txt

Ejemplo

[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

Compruebe que la iotmi.db base de datos existe en su artifacts directorio.

Compruebe el funcionamiento del LPW-Provisioner

Compruebe el archivo de registro para ver si hay mensajes de LPW-Provisioner inicio y si la inicialización se ha realizado correctamente.

tail -f -n 100 logs/provisioner_logs.txt

En el siguiente código se muestra un ejemplo.

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