El lenguaje de programación Toit afirma ser 30 veces más rápido que MicroPython en ESP32

Desarrollado por un equipo de ex empleados de Google, Toit es una plataforma IoT completa con administración remota, actualizaciones de firmware para flotas de dispositivos con características similares a las que ofrecen soluciones como balena, Microsoft Azure o la plataforma Particle edge-to-cloud.

Toit actualmente trabaja en microcontroladores ESP32 usando contenedores livianos, y después de ver que los lenguajes de alto nivel existentes, MicroPython y Javascript no eran lo suficientemente rápidos en plataformas de microcontroladores de gama baja, el equipo de Toit comenzó a desarrollar el lenguaje Toit en 2018, y acaba de hacerlo. código abierto con el lanzamiento del compilador, la máquina virtual y bibliotecas estándar en Github bajo una licencia LGPL-2.1.

lenguaje Toit

Una de las principales razones para cambiar de MicroPython al lenguaje Toit es si su aplicación está limitada por el rendimiento o si opera ESP32 desde una batería, ya que Toit afirma un rendimiento hasta 30 veces más rápido con Toit en ESP32:

Entramos en modo crunch y algunos meses después, obtuvimos los primeros resultados. Estábamos ejecutando código más de 30 veces más rápido que MicroPython en un ESP32 con un lenguaje de alto nivel que abstrae la asignación de memoria y que un desarrollador de Python puede aprender en unas pocas horas: el lenguaje Toit.

Así que echemos un vistazo más profundo probándolo en Ubuntu 20.04. La máquina virtual se basa en una bifurcación de ESP-IDF con implementación de malloc personalizada, correcciones de asignación para UART y correcciones de LWIP. Eso es lo que necesitaremos instalar primero:


Ahora instale las herramientas ESP32:


y compile toit y muestras para ejecutar en la máquina host:


Ahora podemos ejecutar la muestra de hola mundo:


como sigue:


Todo eso está bien, pero ¿qué pasa con la creación de la muestra para ESP32? Fácil:


Esto creará un archivo de firmware de Toit (toit.bin) precargado con la muestra de hello world y que se puede actualizar con esptool:


Bien, pero seguramente podemos comprobar una muestra con Wi-Fi, y de hecho está la muestra http.toit :


Ese ejemplo simple y ordenado, descarga la página de Google e informa el número de bytes descargados. Pero espera … ¿Dónde configuramos las credenciales de Wi-Fi? Esto se puede hacer en el momento de la compilación:


o puede cambiar el programa predeterminado y configurar el SSID WiFi y la contraseña en el Makefile:


No tengo un ESP32 en funcionamiento para probarlo, pero supongo que podría modificar el hello.toit en el dispositivo después de actualizar el firmware de Toit por primera vez. La actualización del firmware OTA también debe habilitarse en función de la salida del comando make esp32. La plataforma Toit completa es de uso gratuito para hasta 10 dispositivos y, además de la página de Github, también puede encontrar información adicional en el sitio web de documentación no solo sobre el firmware y el lenguaje Toit que hemos usado aquí, sino también sobre la API de la nube y la plataforma Toit en su conjunto.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments