Inicio Software El desarrollo del IoT industrial toma impulso con la plataforma Arduino

El desarrollo del IoT industrial toma impulso con la plataforma Arduino

Conocida por establecer un movimiento creador y por generar un interés por la electrónica renovado, la comunidad Arduino ha recorrido un largo camino desde que salió al mercado la primera placa, hace ya diez años. Inicialmente dirigida a aficionados y aplicaciones educativas, la familia de microcontroladores de Arduino comenzó a tener el interés de los ingenieros profesionales como un método low cost para validar diseños y construir prototipos con rapidez. Mientras que la primera generación de placas incorporaban un único microcontrolador AVR de Atmel, las recientes actualizaciones, que ahora van por la tercera generación de Arduino, también tienen un microprocesador inalámbrico basado en Linux, un ejemplo es la placa Arduino Industrial 101. Arduino combina facilidad de uso con la capacidad de conectarse al mundo real utilizando microprocesadores potentes y capaces de manejar tareas de conmutación y comunicación, esto es lo que ha captado la atención de los desarrolladores de dispositivos embebidos que trabajan en aplicaciones industriales y dispositivos IoT. Habitualmente limitados por el presupuesto disponible, el espacio físico y las necesidades de establecer conexiones inalámbricas, los desarrolladores pueden afrontar los desafíos del tiempo y de los presupuestos intentando crear su propia plataforma embebida, incluso antes de empezar a trabajar en la aplicación que necesitan.

La disponibilidad de una plataforma compacta, con buen soporte y de código abierto, agiliza significativamente cualquier diseño en las etapas del desarrollo de la aplicación, evitando los inconvenientes de buscar las certificaciones inalámbricas y la escritura de controladores de bajo nivel. El concepto que está detrás de la placa Arduino Industrial 101 es el desarrollo del módulo 101 LGA fabricado por Chiwawa. Este módulo tiene un microprocesador Qualcomm Atheros AR9331 MIPS que funciona a 400 MHz, 64 MB DDR2 y una memoria flash de 16 MB, con un transceptor inalámbrico 802.11 b/g/n. Los pines de soporte de conexión Ethernet 10/100 Mb/s también están proporcionados, aunque se necesitan conectores adicionales. Precargados con el sistema operativo Linino, una distribución OpenWRT basada en Linux, es compatible con el subsistema Linino IO que permite a los microcontroladores compartir las GPIO con la MPU, abriendo la conectividad al mundo real con Linux. La figura 2 ilustra un bloque de diagramas del ambiente de hardware de una placa. En el lado de Arduino, el microcontrolador es un dispositivo de 8 bits AVR ATmega32u4 de Atmel que funciona a 16 MHz. El set de periféricos, que funciona a 5 V, incluye tres GPIO, de los que dos pueden utilizarse como salidas PWM y cuatro entradas analógicas. Un conector micro USB proporciona una interfaz USB 2.0 rápida para programar con Arduino IDE. Además, el estándar de Arduino en el circuito programador (ICSP) proporciona conectividad SPI tanto para ATmega32u4 como para AR9331. Lo más reciente del IDE de Arduino Studio está basado en el editor Brackets de Adobe, que da soporte a varias placas, diferentes arquitecturas y tamaños de código más grandes. La placa Arduino Industrial 101 mide 42 x 51 mm y pesa 120 gramos, tiene un consumo de 130 mA y necesita una fuente de 5 VDC suministrada a través de la toma USB.

Un regulador de placa proporciona un suministro de 3.3 VDC para el microprocesador AR9331 y hasta 50 mA para conducir los sensores, LEDs y otros dispositivos. De acuerdo con otras placas de Arduino, hay un LED conectado al pin digital 13 y otros LEDs indican el estatus de la potencia, Wi-Fi, WAN y TX/ RX. Cuatro botones de miniatura proporcionan una capacidad de restablecimiento individual del microprocesador AR9331. Con los ajustes que vienen por defecto, el Wi-Fi funciona como un punto de acceso para que los portátiles o los PC se puedan conectar directamente a ella. Al establecer una conexión local y apuntando el navegador a la configuración del panel de la placa Industrial 101 (por defecto 192.168.240.1) se puede entrar en la red wifi deseada para adherirse a ella. Una vez conectada a la red, se pueden utilizar herramientas tradicionales como PuTTY o un terminal para acceder la línea de comando Linino OS. El interés que tienen los diseñadores de aplicaciones industriales IoT viene de la facilidad con la que funcionan las aplicaciones Linux que funcionan con el procesador MIPS. Este punto fuerte viene de la integración del protocolo Linino IO y el sistema operativo Linino OS.

Linino OS, ver Figura 3, es ideal para utilizarse en aplicaciones basadas en IoT, gracias al kernel optimizado y el sistema de archivos para los idiomas populares que suelen ser utilizados en aplicaciones IoT como Node.js, Java y C. Linino IO permite que la periférica de entradas y salidas del microcontrolador aparezca como un microprocesador. Utilizando un protocolo de comunicación genérico, define las formas de leer y escribir un espacio de memoria en el microprocesador. De esta forma, cualquier aplicación que funcione con Linino OS puede acceder y controlar los datos, ya sea desde un sensor o desde un actuador unido a los pines GPIO como un dispositivo Linux E/S. El protocolo de transporte es completamente independiente, requiere un cable físico o un canal bidireccional inalámbrico. La figura 4 muestra cómo opera el protocolo de Linino IO. Hay que considerar que fuera de la placa Industrial 101 de Arduino el vínculo entre Linino OS y Linino IO puede ser de uno a muchos, por lo que Linino OS puede comunicar con más de un controlador Linino IO. Además, Arduino proporciona dos librerías de componentes que facilitan la comunicación entre los microcontroladores y los microprocesadores. Creada inicialmente para la placa Arduino Yun, que también tiene un microcontrolador y un microprocesador, la librería Bridge simplifica la comunicación bidireccional entre ATmega32U4 y AR9331. Básicamente actúa como una interfaz para la línea de comandos de Linux para poder invocar los programas desde el microcontrolador de Arduino, creando un espacio de datos compartido así como pasar los comandos que regresan al microcontrolador. El aprovisionamiento de conectividad a internet está en la segunda de las dos librerías de Arduino Ciao. Esta librería de código abierto – ver Figura 5 – permite establecer comunicación bidireccional utilizando Linino OS a través de tres funciones de comunicación de READ, WRITE y WRITERESPONSE. Armado con su interfaz analógica y digital para el mundo real con conectividad a la nube, la placa de código abierto Industrial 101 de Arduino, permite a los desarrolladores de dispositivos embebidos desplegar sus aplicaciones del IoT industrial con rapidez.

Etiquetas
plataforma arduino; microprocesador arduino; industrial arduino; arduino industrial