Arduino CLI 0.23 hace que sus proyectos estén preparados para el futuro con Build Profiles


Perfiles de compilación de la CLI de Arduino

Esta nueva versión de Arduino CLI ofrece más que las correcciones de errores habituales y mejoras de rendimiento. Hoy, nos complace presentarles Build Profiles. Estos han estado en proceso durante mucho tiempo y lo hemos mantenido en secreto a pesar de publicar un RFC público hace poco menos de un año.

Crear perfiles

A veces, los usuarios de Arduino terminan sin poder crear y cargar un boceto una vez que se completa el proyecto, y esto puede deberse a que las bibliotecas cambian una API o los núcleos han dejado de usar algunas partes a favor de un enfoque más moderno.

El legado es el enemigo del progreso y, a veces, los desarrolladores tienen que quitarse la curita y romper cosas. Vemos esto todo el tiempo.

Crear perfiles tiene como objetivo resolver este problema y permitir que los usuarios de Arduino CLI definan un archivo de configuración que contenga la versión exacta de las plataformas y bibliotecas que se utilizarán, asegurando que el proyecto se pueda construir en cualquier momento en el futuro.

Esto se basa en el hecho de que las bibliotecas son parte del registro de bibliotecas de Arduino y las plataformas pueden obtenerse de la CLI de Arduino. Todas las plataformas desarrolladas por Arduino están disponibles por defecto, pero los usuarios pueden agregar URL adicionales a su configuración y garantizar que siempre se pueda encontrar e instalar la plataforma requerida.

Para obtener documentación detallada, eche un vistazo a la oficial Documentación de Arduino CLI en GitHub. Pero echemos un vistazo más de cerca a cómo funciona para que pueda comenzar a preparar su proyecto Arduino para el futuro.

Arduino CLI 0.23

¿Como funciona esto?

Suponga que tiene un proyecto Arduino IoT Cloud ejecutándose en un Arduino Nano RP2040 Connect basado en lo siguiente:

  • Plataforma: Placas Arduino Mbed OS Nano 3.1.1
  • Bibliotecas:
    • Arduino IoT Nube 1.6.0
    • Controlador de conexión Arduino 0.6.6
    • Wi-FiNINA 1.8.13
    • Arduino_DebugUtils 1.1.0
    • ArduinoECCX08 1.3.6
    • ArduinoMqttCliente 0.1.5

Su proyecto se compilará con éxito, pero ¿qué pasa dentro de cinco años?

Las bibliotecas están actualizadas. Es la belleza de la filosofía de código abierto lo que ha hecho que Arduino sea tan popular y lo mismo ocurre con las plataformas.

Cualquier dependencia puede romper una API o introducir otros tipos de cambios importantes, y es posible que su boceto ya no se compile. En este punto, no podrá cargarlo en un tablero.

Finalmente podemos cerrar esta brecha creando un perfil de construcción para el futuro.

Aprendamos cómo generar uno y usarlo cuando llegue el día.

Para crear un perfil de compilación, necesitamos saber qué bibliotecas y plataformas se usan al compilar, y estas dependencias pueden estar disponibles para el usuario al compilar usando `arduino-cli` y agregar `–dump-profile` a `compile` comando de la siguiente manera.

`arduino-cli compile -b arduino:mbed_nano:nanorp2040connect –dump-profile`

Las principales plataformas y bibliotecas utilizadas durante la compilación se enumerarán en el informe al final de la compilación y se pueden copiar y guardar en su perfil de compilación, pero en el futuro puede crear una entrada de perfil directamente desde una directiva de “compilación” para que ese trabajo preliminar no es necesario.

Tenga en cuenta que se pueden ingresar varias configuraciones de perfil en el perfil de compilación y usarse más adelante.

La salida se verá así.

“` arduino-cli compile -b arduino:mbed_nano:nanorp2040connect –dump-profile Sketch usa 387234 bytes (2%) de espacio de almacenamiento del programa. El máximo es 16777216 bytes. Las variables globales utilizan 68868 bytes (25 %) de memoria dinámica, dejando 201468 bytes para las variables locales. El máximo es 270336 bytes. perfil: nanorp2040connect: fqbn: arduino:mbed_nano:nanorp2040connect plataformas: – plataforma: arduino:mbed_nano (3.0.1) bibliotecas: – ArduinoIoTCloud (1.6.0) – Arduino_ConnectionHandler (0.6.6) – WiFiNINA (1.8.13) – Arduino_DebugUtils ( 1.1.0) – ArduinoECCX08 (1.3.6) – ArduinoMqttClient (0.1.5) “`

Seguido de un informe completo de las dependencias y sus rutas en su sistema, que ignoraremos en esta guía.

Creación de un perfil de edificio

Usando la información anterior, podemos crear un archivo llamado `sketch.yaml` y agregarle el siguiente contenido.

“` perfil: nanorp2040connect: fqbn: arduino:mbed_nano:nanorp2040connect plataformas: – plataforma: arduino:mbed_nano (3.0.1) bibliotecas: – ArduinoIoTCloud (1.6.0) – Arduino_ConnectionHandler (0.6.6) – WiFiNINA (1.8.13) – Arduino_DebugUtils (1.1.0) – ArduinoECCX08 (1.3.6) – ArduinoMqttClient (0.1.5) “`

Ahora podemos confiar en este archivo para compilar nuestro proyecto incluso si ninguna de las bibliotecas o el núcleo Mbed están instalados haciendo lo siguiente:

`compilando arduino-cli –profile nanorp2040connect`

Este comando instalará las plataformas y bibliotecas apropiadas y procederá a construir su boceto en el firmware de trabajo para su placa.

Puede agregar varios perfiles en el archivo del proyecto y compilar con diferentes versiones de una plataforma o cualquier biblioteca.

Cuando almacene o distribuya su boceto, asegúrese de que su archivo `sketch.yaml` también sea parte del archivo, y puede tener el boceto compilado limpiamente en cualquier momento en el futuro.

No, no podemos hacer nada con respecto al pasado, pero puede dedicar un tiempo a actualizar sus proyectos antiguos y crear su propio archivo `sketch.yaml`, lo que hará que su trabajo sea escalable.

Siéntate, relájate y ten cuidado con los Terminators que regresan para cazarte.

Puede seguir cualquier respuesta a esta entrada a través de la fuente RSS 2.0. Puedes deja una respuestao trackback desde su propio sitio.

Contenido original en Inglés


Leave a Reply

Your email address will not be published. Required fields are marked *