TinyGo en Arduino

Hace unas semanas, anunciamos que Arduino ahora trabaja con TinyGo , el compilador popular que lleva el lenguaje de programación Go a los microcontroladores. Tuvimos la oportunidad de sentarnos con Ron Evans , tecnólogo de alquiler, y aprender más sobre la integración de Arduino y TinyGo.

Algunos de nuestros lectores saben sobre Go (nosotros mismos lo usamos para desarrollar muchas de nuestras herramientas). En pocas palabras: ¿qué es TinyGo y cómo se compara con Go?


Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas

SUSCRIBETE A NUESTRO CANAL DE YOUTUBE, TUTORIALES GRATIS

TinyGo es un compilador Go para lugares pequeños como microcontroladores. TinyGo está escrito en Go como el compilador Go estándar, pero TinyGo luego usa la cadena de herramientas LLVM para compilar los programas Go a una fracción de su tamaño normal. TinyGo también emplea una implementación de tiempo de ejecución diferente para apuntar a entornos restringidos.

¿Por qué elegir TinyGo sobre otros idiomas? 

Si el software se está comiendo el mundo, entonces Go se está comiendo el mundo del software. La popularidad de Go todavía se está expandiendo rápidamente, y TinyGo ayuda a llevar el nuevo lenguaje «estándar empresarial» a los procesadores más pequeños. También como lenguaje compilado, TinyGo puede ofrecer un rendimiento y una eficiencia de tamaño sustancialmente mejores que el de los lenguajes interpretados como JavaScript y Python.

¿Cómo se compara TinyGo con las implementaciones incrustadas de Python y JavaScript? 

Una buena razón para usar Go es el código claro y fácil de mantener que Go insiste en que crees. En términos generales, las herramientas Go normales que se incluyen con el lenguaje en sí son las que usas cuando escribes código TinyGo. Por ejemplo, el formato de código incorporado estándar. TinyGo incluye implementaciones del paquete Go «net» dirigido al Arduino Nano33 IoT, para que pueda reutilizar más fácilmente el código Go existente para TCP / UDP o protocolos de nivel superior como MQTT. Esto realmente facilita mucho la creación de soluciones de IoT comerciales o industriales.

Otra razón para usar TinyGo es la capacidad de utilizar la concurrencia de Go. TinyGo implementa «goroutines», que pueden simplificar enormemente su código para aprovechar al máximo la ventaja de rendimiento que ofrecen los modernos microcontroladores de 32 bits.

Dado que la seguridad en IoT es uno de los temas más candentes de la actualidad, ¿qué herramientas ofrece TinyGo que permitan el desarrollo de proyectos seguros? 

Hay una serie de cosas que pueden hacer que el desarrollo, la implementación y las operaciones con TinyGo sean buenas para las aplicaciones informáticas de vanguardia que requieren una mayor seguridad. Dado que el código se compila en binario, es posible utilizar la firma de código y otros enfoques bien conocidos para la informática segura.

Otra es que los datos de cualquier dispositivo deben estar encriptados mientras están en tránsito desde el dispositivo a cualquier almacenamiento en la nube o análisis. TinyGo en Arduino Nano33 IoT puede usar API estándar para la comunicación SSL a servicios en la nube, como el uso del cliente Paho MQTT de la Fundación Eclipse para Go. Esto hace que sea mucho más fácil para los desarrolladores hacer lo correcto la primera vez al crear aplicaciones.

¿Cómo puede TinyGo mejorar el ecosistema Arduino? ¿Cómo se beneficiará nuestra audiencia actual al usarlo? ¿Podrán usar las bibliotecas Arduino ya existentes? Hay una comunidad muy activa en el mundo de Arduino, con muchas bibliotecas útiles existentes. Estamos planeando una integración mucho más profunda para TinyGo impulsado por Arduino, más sobre esto en un futuro cercano …

Mucha gente ama a TinyGo porque es simple pero poderoso. ¿Ves alguna similitud con la misión de Arduino de ‘hacer que la tecnología sea simple para todos?’ ”.

Arduino realmente ha sido pionero en el movimiento de hardware abierto, y definir API claras para dispositivos ha sido una gran contribución. TinyGo intenta mucho encarnar este mismo espíritu, mientras que al mismo tiempo proporciona una experiencia idiomática de programación del lenguaje Go. Combine las sensibilidades que han hecho que TinyGo sea tan popular y que estén impulsando nuestro crecimiento continuo, junto con las increíbles capacidades impulsadas por Arduino, ¡y no hay límites para lo que podemos hacer!

Si desea obtener más información sobre TinyGo, haga clic aquí y aquí . Durante Gophercon, Ron Evans realizó una sesión de pirateo dedicada a Arduino Nano 33 IoT y TinyGo; puedes descubrir más en esta página dedicada en GitHub . 

Fuente


SUSCRIBETE A NUESTROS BOLETINES, RECIBE EN TU CORREO LAS NOTICIAS MÁS DESTACADAS, SÓLO INGRESANDO TU CORREO ELECTRÓNICO



VIDEO RECOMENDADO

Deja un comentario