Introducción a Nordic nRF52840-DK - FreeRTOS

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.

Introducción a Nordic nRF52840-DK

importante

Esta integración de referencia está alojada en el repositorio de Amazon-FreeRTOS, que está en desuso. Recomendamos empezar por aquí al crear un nuevo proyecto. Si ya tiene un proyecto FreeRTOS existente basado en el repositorio Amazon FreeRTOS, ahora obsoleto, consulte Guía de migración del repositorio Github de Amazon-FreeRTOS.

Este tutorial ofrece instrucciones para la introducción a Nordic nRF52840-DK. Si no tiene el Nordic nRF52840-DK, consulte el Catálogo de dispositivos de socios de AWS para adquirir uno de nuestro socio.

Antes de comenzar, necesita una Configuración de AWS IoT Amazon Cognito para Freertos Bluetooth de bajo consumo.

Para ejecutar la demostración de Bluetooth de bajo consumo de FreeRTOS, también necesita un dispositivo móvil iOS o Android con funciones de Bluetooth y Wi-Fi.

nota

Si está utilizando un dispositivo iOS, necesita Xcode para crear la aplicación móvil de demostración. Si está utilizando un dispositivo Android, puede utilizar Android Studio para crear la aplicación móvil de demostración.

Información general

Este tutorial contiene instrucciones para los siguientes pasos de introducción:

  1. Conexión de su placa a un equipo host.

  2. Instalación de software en el equipo host para desarrollar y depurar las aplicaciones integradas de la placa de su microcontrolador.

  3. Compilación cruzada de una aplicación de demostración de FreeRTOS en una imagen binaria.

  4. Carga de la imagen binaria de la aplicación en su placa y, a continuación, ejecución de la aplicación.

  5. Interacción con la aplicación que se ejecuta en la placa con una conexión serie para fines de monitorización y depuración.

Configuración del hardware Nordic

Conecte el equipo host al puerto USB con la etiqueta J2, que se encuentra directamente encima del soporte de la pila de botón en su placa Nordic nRF52840.

Para obtener más información acerca de cómo configurar la Nordic nRF52840-DK, consulte nRF52840 Development Kit User Guide.

Configure el entorno de desarrollo.

Descargar e instalar Segger Embedded Studio

FreeRTOS admite Segger Embedded Studio como un entorno de desarrollo para Nordic nRF52840-DK.

Para configurar su entorno, tendrá que descargar e instalar Segger Embedded Studio en su equipo host.

Para descargar e instalar Segger Embedded Studio
  1. Vaya a la página de descargas de Segger Embedded Studio y elija la opción Embedded Studio for ARM para su sistema operativo.

  2. Ejecute el instalador y siga las instrucciones para finalizar.

Configuración de la aplicación de demostración del SDK para móviles de Bluetooth de bajo consumo de FreeRTOS

Para ejecutar el proyecto de demostración de FreeRTOS con Bluetooth de bajo consumo, debe ejecutar la aplicación de demostración de SDK para móviles de Bluetooth de bajo consumo de FreeRTOS en su dispositivo móvil.

Para configurar la aplicación de demostración del SDK para móviles de Bluetooth de bajo consumo de FreeRTOS
  1. Siga las instrucciones de SDK para móviles para dispositivos Bluetooth de FreeRTOS para descargar e instalar los SDK para su plataforma móvil en su equipo host.

  2. Siga las instrucciones en Aplicación de demostración de SDK para móviles de Bluetooth de bajo consumo de FreeRTOS para configurar la aplicación móvil de demostración en su dispositivo móvil.

Establecimiento de una conexión serie

Segger Embedded Studio incluye un emulador de terminal que puede utilizar para recibir mensajes de registro a través de una conexión en serie en su placa.

Para establecer una conexión en serie con Segger Embedded Studio
  1. Abra Segger Embedded Studio.

  2. En el menú superior, seleccione Target (Destino), Connect J-Link (Conectar J-Link).

  3. En el menú superior, elija Tools (Herramientas), Terminal Emulator (Emulador de terminal), Properties (Propiedades) y defina las propiedades según se indica en Instalación de un emulador de terminal.

  4. En el menú superior, elija Tools (Herramientas), Terminal Emulator (Emulador de terminal), Connect puerto (115200,N,8,1) (Conectar puerto (115200,N,8,1)).

nota

El emulador de terminal de estudio integrado Segger no admite una funcionalidad de entrada. Para esto, use un emulador de terminal como PuTTy, Tera Term o GNU Screen. Configure el terminal para que se conecte a la placa mediante una conexión en serie, tal como se indica en Instalación de un emulador de terminal.

Descarga y configuración de FreeRTOS

Después de configurar el hardware y el entorno, puede descargar FreeRTOS.

Descarga de FreeRTOS

Para descargar FreeRTOS para Nordic nRF52840-DK, vaya a la página de GitHub de FreeRTOS y clone el repositorio. Consulte el archivo README.md para obtener instrucciones.

importante
  • En este tema, la ruta al directorio de descargas de FreeRTOS se denomina freertos.

  • Los caracteres de espacio en la ruta freertos pueden causar errores de compilación. Al clonar o copiar el repositorio, asegúrese de que la ruta que crea no contiene caracteres de espacio.

  • La longitud máxima de una ruta de archivo en Microsoft Windows es de 260 caracteres. Las rutas largas al directorio de descargas de FreeRTOS pueden provocar errores de creación.

  • Como el código fuente puede contener enlaces simbólicos, si utiliza Windows para extraer el archivo, es posible que tenga que:

    De esta forma, Windows puede crear correctamente enlaces simbólicos al extraer el archivo. De lo contrario, los enlaces simbólicos se escribirán como archivos normales que contengan las rutas de los enlaces simbólicos como texto o estarán vacíos. Para obtener más información, consulte la entrada del blog Symlinks in Windows 10 .

    Si usa Git en Windows, debe habilitar el modo desarrollador o debe:

    • Establecer core.symlinks en verdadero con el siguiente comando:

      git config --global core.symlinks true
    • Usar una consola que tenga el rango de administrador siempre que utilice un comando git que escriba en el sistema (por ejemplogit pull, git clone y git submodule update --init --recursive).

Configure su proyecto

Para habilitar la demostración, tiene que configurar su proyecto para que funcione con AWS IoT. Para configurar el proyecto para trabajar con AWS IoT, el dispositivo debe registrarse como un objeto de AWS IoT. Debe haber registrado su dispositivo al Configuración de AWS IoT Amazon Cognito para Freertos Bluetooth de bajo consumo.

Para configurar su punto de enlace de AWS IoT
  1. Inicie sesión en la consola de AWS IoT.

  2. En el panel de navegación, seleccione Settings (Configuración).

    El punto de conexión de AWS IoT aparece en el cuadro de texto Punto de enlace de datos de dispositivo. Debe tener un aspecto similar al siguiente: 1234567890123-ats.iot.us-east-1.amazonaws.com. Tome nota de este punto de enlace.

  3. En el panel de navegación, elija Manage (Administrar) y, a continuación, Things (Cosas). Anote el nombre de objeto de AWS IoT de su dispositivo.

  4. Con el punto de enlace de AWS IoT y el nombre de objeto de AWS IoT a mano, abra freertos/demos/include/aws_clientcredential.h en el IDE y especifique los valores para las siguientes constantes #define:

    • clientcredentialMQTT_BROKER_ENDPOINT Su punto de enlace de AWS IoT

    • clientcredentialIOT_THING_NAME Su nombre de objeto de AWS IoT

Para habilitar la demostración
  1. Compruebe que la demostración de GATT de Bluetooth de bajo consumo está habilitada. Vaya a vendors/nordic/boards/nrf52840-dk/aws_demos/config_files/iot_ble_config.h y añada #define IOT_BLE_ADD_CUSTOM_SERVICES ( 1 ) a la lista de instrucciones define.

  2. Abra vendors/nordic/boards/nrf52840-dk/aws_demos/config_files/aws_demo_config.h y defina CONFIG_OTA_MQTT_BLE_TRANSPORT_DEMO_ENABLED o CONFIG_OTA_HTTP_BLE_TRANSPORT_DEMO_ENABLED como en este ejemplo.

    /* To run a particular demo you need to define one of these. * Only one demo can be configured at a time * * CONFIG_BLE_GATT_SERVER_DEMO_ENABLED * CONFIG_MQTT_BLE_TRANSPORT_DEMO_ENABLED * CONFIG_SHADOW_BLE_TRANSPORT_DEMO_ENABLED * CONFIG_OTA_MQTT_BLE_TRANSPORT_DEMO_ENABLED * CONFIG_OTA_HTTP_BLE_TRANSPORT_DEMO_ENABLED * CONFIG_POSIX_DEMO_ENABLED * * These defines are used in iot_demo_runner.h for demo selection */ #define CONFIG_OTA_MQTT_BLE_TRANSPORT_DEMO_ENABLED
  3. Dado que el chip Nordic incluye muy poca RAM (250 KB), es posible que deba cambiarse la configuración de BLE para permitir el uso de entradas de tabla GATT de mayor tamaño en comparación con el tamaño de cada atributo. De esta manera puede ajustar la cantidad de memoria que recibe la aplicación. Para ello, reemplace las definiciones de los siguientes atributos en el archivo freertos/vendors/nordic/boards/nrf52840-dk/aws_demos/config_files/sdk_config.h:

    • NRF_SDH_BLE_VS_UUID_COUNT

      El número de UUID específicos del proveedor. Aumente este recuento en 1 cuando añada un nuevo UUID específico del proveedor.

    • NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE

      Tamaño de la tabla de atributos en bytes. El tamaño debe ser un múltiplo de 4. Este valor indica la cantidad fija de memoria dedicada a la tabla de atributos (incluido el tamaño de la característica), por lo que variará de un proyecto a otro. Si supera el tamaño de la tabla de atributos, aparecerá un error NRF_ERROR_NO_MEM. Si modifica NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE, normalmente también tendrá que volver a configurar los ajustes de la RAM.

    (Para las pruebas, la ubicación del archivo es freertos/vendors/nordic/boards/nrf52840-dk/aws_tests/config_files/sdk_config.h.)

Creación y ejecución del proyecto de demostración de FreeRTOS

Una vez que haya descargado FreeRTOS y configurado su proyecto de demostración, estará listo para crear y ejecutar el proyecto de demostración en la placa.

importante

Si es la primera vez que se ejecute la demostración en esta placa, necesita instalar un cargador de arranque en la placa antes de poder ejecutar la demostración.

Para compilar e instalar el cargador de arranque, siga los pasos que se indican a continuación, pero en lugar de usar el archivo de proyecto projects/nordic/nrf52840-dk/ses/aws_demos/aws_demos.emProject, use projects/nordic/nrf52840-dk/ses/aws_demos/bootloader/bootloader.emProject.

Para crear y ejecutar la demostración de Bluetooth de bajo consumo de FreeRTOS desde Segger Embedded Studio
  1. Abra Segger Embedded Studio. Desde el menú superior, elija File (Archivo), elija Open Solution (Abrir solución) y, a continuación, desplácese hasta el archivo de proyecto projects/nordic/nrf52840-dk/ses/aws_demos/aws_demos.emProject

  2. Si utiliza el emulador de terminal de Segger Embedded Studio, elija Tools (Herramientas) en el menú superior y después elija Terminal Emulator (Emulador de terminal), Terminal Emulator (Emulador de terminal) para mostrar la información de su conexión en serie.

    Si utiliza otra herramienta de terminal, puede monitorizar esa herramienta para ver la salida de su conexión en serie.

  3. Haga clic con el botón derecho en el proyecto de demostración aws_demos en el Project Explorer (Explorador de proyectos) y elija Build (Compilar).

    nota

    Si es la primera vez que utiliza Segger Embedded Studio, es posible que vea una advertencia "No license for commercial use" (Sin licencia para uso comercial). Segger Embedded Studio se puede utilizar de forma gratuita para dispositivos semiconductores Nordic. Solicite una licencia gratuita y, durante la configuración, seleccione Active su licencia gratuita y siga las instrucciones.

  4. Elija Debug (Depurar) y después elija Go (Ir).

    Después de que se inicie la demostración, espera a emparejarse con un dispositivo móvil mediante Bluetooth de bajo consumo.

  5. Siga las instrucciones de la aplicación de demostración de MQTT a través de Bluetooth de bajo consumo para realizar la demostración con la aplicación de demostración del SDK para móviles de Bluetooth de bajo consumo de FreeRTOS como el proxy de MQTT para móviles.

Solución de problemas

Si necesita información general de solución de problemas que pueden surgir al empezar a trabajar con FreeRTOS, consulte Introducción a solución de problemas.