Tutorial: Uso del AWS IoT Device SDK para Embedded C - AWS IoT Core

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.

Tutorial: Uso del AWS IoT Device SDK para Embedded C

En esta sección se describe cómo ejecutar el AWS IoT Device SDK para Embedded C.

Paso 1: Instale el AWS IoT Device SDK para Embedded C

Por lo general, AWS IoT Device SDK para Embedded C está dirigido a dispositivos con recursos limitados que requieren un tiempo de ejecución optimizado en lenguaje C. Puede usar el SDK en cualquier sistema operativo y alojarlo en cualquier tipo de procesador (por ejemplo, MCU y MPU). Si tienes más recursos de memoria y procesamiento disponibles, te recomendamos que utilices uno de los SDK para AWS IoT dispositivos y dispositivos móviles de orden superior (por ejemplo, C++ JavaScript, Java y Python).

En general, AWS IoT Device SDK para Embedded C está diseñado para sistemas que utilizan MCU o MPU de gama baja que ejecutan sistemas operativos integrados. Para el ejemplo de programación de esta sección, asumimos que su dispositivo utiliza Linux.

ejemplo
  1. Descárguelo AWS IoT Device SDK para Embedded C a su dispositivo desde. GitHub

    git clone https://github.com/aws/aws-iot-device-sdk-embedded-c.git --recurse-submodules

    Esto crea un directorio denominado aws-iot-device-sdk-embedded-c en el directorio actual.

  2. Vaya hasta ese directorio y consulte la última versión. Visita github.com/aws/ aws-iot-device-sdk -Embedded-c/tags para ver la etiqueta de lanzamiento más reciente.

    cd aws-iot-device-sdk-embedded-c git checkout latest-release-tag
  3. Instale OpenSSL 1.1.0 o una versión posterior. Las bibliotecas de desarrollo de OpenSSL suelen denominarse «libssl-dev» u «openssl-devel» cuando se instalan mediante un administrador de paquetes.

    sudo apt-get install libssl-dev

Paso 2: Configurar la aplicación de ejemplo

AWS IoT Device SDK para Embedded C Incluye ejemplos de aplicaciones para que las pruebes. Para simplificar, en este tutorial se utiliza la mqtt_demo_mutual_auth aplicación, que ilustra cómo conectarse al intermediario de AWS IoT Core mensajes y cómo suscribirse y publicar temas en MQTT.

  1. Copie el certificado y la clave privada que ha creado en Empezar con AWS IoT Core en el directorio build/bin/certificates.

    nota

    Los certificados de dispositivo y de entidad de certificación raíz están sujetos a vencimiento o revocación. Si estos certificados caducan o se revocan, debe copiar un nuevo certificado de entidad de certificación o un certificado de clave privada y dispositivo en el dispositivo.

  2. Debe configurar el ejemplo con su AWS IoT Core terminal personal, su clave privada, su certificado y su certificado de CA raíz. Vaya al directorio aws-iot-device-sdk-embedded-c/demos/mqtt/mqtt_demo_mutual_auth.

    Si lo tiene AWS CLI instalado, puede usar este comando para buscar la URL del punto final de su cuenta.

    aws iot describe-endpoint --endpoint-type iot:Data-ATS

    Si no la tienes AWS CLI instalada, abre la AWS IoT consola. Desde el panel de navegación, elija Manage (Administrar) y, a continuación, Things (Objetos). Elija el objeto IoT para su Raspberry Pi y, a continuación, elija Interactuar. Su punto de conexión se muestra en la sección HTTPS de la página de detalles del objeto.

  3. Abra el archivo demo_config.h y actualice los valores de los elementos siguientes:

    AWS_IOT_ENDPOINT

    Su punto de conexión personal.

    CLIENT_CERT_PATH

    La ruta del archivo de su certificado, por ejemplo, certificates/device.pem.crt".

    CLIENT_PRIVATE_KEY_PATH

    El nombre de su archivo de clave privada, por ejemplo certificates/private.pem.key.

    Por ejemplo:

    // Get from demo_config.h // ================================================= #define AWS_IOT_ENDPOINT "my-endpoint-ats.iot.us-east-1.amazonaws.com" #define AWS_MQTT_PORT 8883 #define CLIENT_IDENTIFIER "testclient" #define ROOT_CA_CERT_PATH "certificates/AmazonRootCA1.crt" #define CLIENT_CERT_PATH "certificates/my-device-cert.pem.crt" #define CLIENT_PRIVATE_KEY_PATH "certificates/my-device-private-key.pem.key" // =================================================
  4. Compruebe si tiene CMake instalado en su dispositivo mediante este comando.

    cmake --version

    Si ve la información de la versión del compilador, puede continuar con la siguiente sección.

    Si aparece un error o no ve ninguna información, deberá instalar el paquete cmake con este comando.

    sudo apt-get install cmake

    Vuelva a ejecutar el comando cmake --version y confirme que CMake se ha instalado y que está listo para continuar.

  5. Compruebe si tiene las herramientas de desarrollo instaladas en su dispositivo mediante este comando.

    gcc --version

    Si ve la información de la versión del compilador, puede continuar con la siguiente sección.

    Si aparece un error o no ve la información del compilador, deberá instalar el paquete build-essential con este comando.

    sudo apt-get install build-essential

    Vuelva a ejecutar el comando gcc --version y confirme que las herramientas de compilación se han instalado y que está listo para continuar.

Paso 3: Compilar y ejecutar la aplicación de ejemplo

Para ejecutar las aplicaciones AWS IoT Device SDK para Embedded C de muestra
  1. Vaya a aws-iot-device-sdk-embedded-c y cree un directorio de compilación.

    mkdir build && cd build
  2. Introduzca el siguiente comando CMake para generar los Makefiles necesarios para la compilación.

    cmake ..
  3. Escriba el siguiente comando para crear el archivo ejecutable de la aplicación.

    make
  4. Ejecute la aplicación mqtt_demo_mutual_auth con este comando.

    cd bin ./mqtt_demo_mutual_auth

    Debería ver una salida similar a esta:

    
                            Salida de línea de comandos para ejecutar la aplicación  AWS IoT Device SDK para Embedded C  de ejemplo.

Su dispositivo ahora está conectado a AWS IoT través del AWS IoT Device SDK para Embedded C.

También puede usar la AWS IoT consola para ver los mensajes MQTT que publica la aplicación de muestra. Para obtener información sobre cómo utilizar el cliente MQTT en la consola de AWS IoT, consulte Vea los mensajes MQTT con el cliente AWS IoT MQTT.