Objetivos del proyecto
Vamos a emplear un Arduino Yún en un proyecto de monitorización del nivel de los pellets de una caldera de biomasa.
Info de Arduino Yún en la web de arduino: http://arduino.cc/en/Main/
En pocas palabras Arduino Yún tiene un arduino “normal” conectado a un linux “linino”, derivado de OpenWrt.
Prerrequisitos
Para los pasos iniciales, instalar el SDK de OpenWrt y las primeras pruebas,tenemos otra entrada en el blog:
Arduino Yún – Hola mundo
Análisis preliminar
Vamos a realizar un pequeño análisis preliminar:
- Características del Arduino Yún
- Funcionalidad básica de datalogger a implementar
- Equipamiento adicional
Características del Arduino Yún
El equipo dispone de conectividad WIFI y ethernet, además de un puerto USB dónde podemos instalar un modem USB estándar.
En lo referente a la adquisición de datos y control de sensores es un arduino convencional.
Las principales pegas en un primer análisis son:
- no tiene reloj (RTC), se puede emplear NTP sólo o combinado con un shield RTC de arduino (http://playground.arduino.cc/Main/DS1302).
- el consumo eléctrico no es precisamente bajo (unos 200 mA).
Como PROs hay muchos, pero resaltar los siguientes:
- si se instala en un emplazamiento con energía y acceso a red (cableada o wifi) ya no hace falta nada más.
- coste económico inmejorable (en total puede ser inferior a 100€)
- disponemos de todas las herramientas y utilidades de linux
- y de todo el ecosistema Arduino
Como incógnitas:
- desconocemos la estabilidad a largo plazo de la solución, se puede intentar paliar con el empleo de algún tipo de watchdog.
Funcionalidad básica del sistema
En una primera aproximación se va a implementar la siguiente funcionalidad:
En el subsistema arduino la parte de adquisición de datos de los sensores
Se va a definir una función que recibe peticiones del subsistema linux mediante Bridge que tendrá la siguiente funcionalidad básica:
- parámetros de entrada: numero de señal, número de repeticiones, tiempo entre repeticiones, filtrado de extremos (SI o NO), tipo de cálculo (media, min, max, acum)
- parámetros de salida: estadístico solicitado según los parámetros de entrada
- si se coloca un RTC, hay que dotar de las funciones de lectura y escritura de la hora.
En la parte linux (linino/openwrt)
Se crearán una serie de programas en C que se encargarán de:
- interrogar al arduino los valores de las señales de campo configuradas
- almacenar y gestionar el histórico de los datos
- almacenar y gestionar la configuración del sistema
- establecer y mantener la conectividad de red en el caso de que sea mediante PPP
Se incorporarán herramientas de configuración del sistema y consulta de datos (entorno web – cgi) aprovechando el servidor http incluido por defecto en linino.
Equipamiento adicional
Se necesitará lo siguiente:
- sensores para cada tipo de aplicación, en el caso de nivel de pellets se probará con un sensor de ultrasonidos.
- módem USB + tarjeta SIM de datos para conectividad móvil en caso de que no sea posible WIFI o ethernet.
- instalación y cableado en algún tipo de armario de intemperie.
El hardware adicional empleado está detallado en las siguientes entradas:
Finalmente el prototipo da lugar al proyecto yunlogger.