Articulo de referencia

Apache Mynewt

Apache Mynewt es un sistema operativo modular en tiempo real para dispositivos conectados del Internet de las cosas (IoT) [ 2 ] que deben operar durante largos períodos de tiemp...

Apache Mynewt es un sistema operativo modular en tiempo real para dispositivos conectados del Internet de las cosas (IoT) [ 2 ] que deben operar durante largos períodos de tiempo bajo restricciones de energía, memoria y almacenamiento. Es software libre y de código abierto que se encuentra en desarrollo bajo la Apache Software Foundation [ 3 ] , con código fuente distribuido bajo la Licencia Apache 2.0 , una licencia permisiva que facilita la adopción comercial del software de código abierto [ 4 ] .

Descripción general

Apache Mynewt es un sistema operativo en tiempo real con un amplio conjunto de bibliotecas diseñado para facilitar la creación de prototipos, el despliegue y la gestión de dispositivos IoT basados ​​en microcontroladores de 32 bits . [ 5 ] Es altamente componible, lo que permite crear aplicaciones de sistemas embebidos (por ejemplo, cerraduras, dispositivos médicos, IoT industrial) en diferentes tipos de microcontroladores. El nombre Mynewt es un juego de palabras con el término inglés minute , que significa muy pequeño: el núcleo tiene un tamaño de tan solo 6 KB.

El sistema operativo está diseñado para la conectividad y viene con una implementación completa de la pila Bluetooth de bajo consumo 4.2. Con la adición de BLE (que admite todas las funciones de seguridad compatibles con Bluetooth 4.2, excepto la privacidad) y varias utilidades como el sistema de archivos predeterminado, la consola, el intérprete de comandos, los registros, las estadísticas, etc., el tamaño de la imagen es de aproximadamente 96 KB para el SoC Bluetooth Nordic nRF51822. [ 6 ] Esta métrica de tamaño no incluye la imagen del cargador de arranque .

Características principales

El sistema operativo principal admite: [3]

Otras características y utilidades incluyen:

Bluetooth de baja energía

La primera pila de red disponible en Mynewt es Bluetooth de baja energía [ 7 ] y se llama NimBLE. Cumple con la especificación principal de Bluetooth 5.0. [ 8 ]

NimBLE incluye tanto el host como el controlador. El acceso al código fuente del controlador permite una alta capacidad de configuración del rendimiento BLE. Por ejemplo, el rendimiento BLE se puede ajustar modificando los intervalos de conexión, el tamaño de los paquetes de datos, el tamaño de la cola de paquetes, etc. De forma similar, se puede configurar un caso de uso que requiera un gran número de conexiones simultáneas, siempre que se asigne suficiente RAM. El paquete incluye aplicaciones de ejemplo que demuestran cómo utilizar los servicios disponibles.

Placas compatibles

El sistema operativo está diseñado para su uso multiplataforma en sistemas embebidos (dispositivos) y microcontroladores. Incluye paquetes de soporte de placa para los siguientes, a partir de julio de 2023. : [ 9 ]

  • nRF52 DK de Nordic Semiconductor (Cortex-M4)
  • Plataforma de balizas con sensores RuuviTag (basada en Nordic nRF52832)
  • nRF51 DK de Nordic Semiconductor (Cortex-M0)
  • VBLUno51 del laboratorio VNG IoT (basado en el SoC Nordic nRF51822)
  • VBLUno52 del laboratorio VNG IoT (basado en el SoC Nordic nRF52832, Cortex-M4)
  • BLE Nano de RedBear (basado en el SoC Nordic nRF51822)
  • BLE Nano2 y Blend2 de RedBear (basados ​​en el SoC Nordic nRF52832)
  • BMD-300-EVAL-ES de Rigado (Cortex-M4)
  • BMD-200 de Rigado (Cortex-M0)
  • Adafruit Feather nRF52 Pro
  • STM32F4DISCOVERY de ST Micro (Cortex-M4)
  • STM32-E407 de Olimex (Cortex-M4)
  • Arduino Zero (Cortex-M0)
  • Arduino Zero Pro (Cortex-M0)
  • Arduino M0 Pro (Cortex-M0)
  • Arduino MKR1000 (Cortex-M0)
  • Arduino Primo NRF52 (Cortex-M4)
  • NÚCLEO-F401RE (Corteza-M4)
  • NÚCLEO-F767ZI (Corteza-M7)
  • Kit de desarrollo para la serie STM32F7 (Cortex-M7)
  • FRDM-K64F de NXP (Cortex-M4)
  • BBC micro:bit (Nordic nrf51822; Cortex-M0)
  • SiFive HiFive1 (Arquitectura del conjunto de instrucciones RISC-V)
  • Módulo BLE NINA-B1 de u-blox (Cortex-M4)
  • Pulsador 6LoWPAN de MikroElectronika (microcontrolador PIC32MX470)
  • chipKIT Wi-FIRE (microcontrolador PIC32MZ)
  • Módulo Creator Ci40 (CPU interAptiv MIPS dual)
  • Placa EE-02 con chip Semtech Sx1276 de Telenor (Cortex-M4)
  • DA1469x Pro DK de Dialog Semiconductor (Cortex-M33)

Gestión de paquetes

El proyecto incluye Newt Tool, un gestor de paquetes de código fuente inteligente basado en interfaz de línea de comandos (CLI) para el desarrollo de sistemas embebidos. Además, permite crear compilaciones con paquetes y opciones de compilador específicos, generar imágenes y sus firmas digitales, y finalmente descargar y depurar el firmware en diferentes plataformas.

Véase también

Referencias

  1. "Descargar - Apache Mynewt" . mynewt.apache.org . Apache Software Foundation . Consultado el 7 de octubre de 2023 .
  2. "Arduino y Runtime colaboran para introducir Apache Mynewt (en fase de incubación) en el ecosistema de Arduino" . globenewswire.com (Comunicado de prensa). 20 de mayo de 2016. Consultado el 24 de mayo de 2016 .
  3. "Estado de incubación de Mynewt – Incubadora Apache" . incubator.apache.org . Consultado el 24 de mayo de 2016 .
  4. "El sistema operativo en tiempo real Apache Mynewt aborda las limitaciones de energía, memoria y almacenamiento de IoT" . www.infoq.com . Consultado el 28 de junio de 2016 .
  5. "Open RTOS apunta a la red de cosas" . www.eetimes.com . Consultado el 24 de mayo de 2016 .
  6. "nRF51822" . Archivado del original el 17 de mayo de 2016. Consultado el 24 de mayo de 2016 .
  7. "Apache Mynewt encuentra un lugar en las últimas placas de desarrollo de Arduino Srl" . www.linuxtoday.com . Archivado del original el 28 de mayo de 2016. Consultado el 24 de mayo de 2016 .
  8. "Obtener ayuda" . GitHub .
  • Sitio web oficial