ZUMMOBOT – Captura Masiva de Datos para Análisis

Resumen Experto

Una de las más importantes tareas en el ámbito de la robótica y de la inteligencia artificial es la captura masiva de datos y su posterior análisis.

Este artículo muestra una aproximación a esta tarea mediante el uso de una red local WiFi, un servidor de bajo costo (Up Board + LAMPP) y controladores basados en ARDUINO con capacidades WiFi. La idea es tener la capacidad de subir al upboard muchos datos por segundo desde el ARDUINO y poder descargarlos en formato CSV para su posterior análisis y la capacidad de observarlos en tiempo real.

Los componentes funcionales de esta solución incluyen lo siguiente par aun total de $106 a $186:

  1. Sensor de color Flora TCS34725 ($10 @ crcibernetica )
  2. Microcontrolador Sparkfun Thing ESP8266 ($16 @ crcibernetica)
  3. Enrutador WiFi (Cualquier enrutador 802.11 b/g/n podría servir $29 @ amazon)
  4. UpBoard 4GB RAM, 32GB Storage ($130 @ upboard-shop) (Tambien podría servir un Raspberry PI3 de $55 de crcibernetica)

Pasos Resumidos:

  1. Configure el enrutador para generar una red WiFi convencional. El microcontrolador usará una dirección IP asignada por el enrutador de forma dinámica mientras que el UpBoard usará una estática.
  2. Instale Ubuntu Mate 16.04 en el UpBoard
    • Instale también XAMPP
    • Configure el UpBoard y para usar una dirección de red estática en la red WiFi. Ejemplo 192.168.0.3
    • Instale la aplicación PHP “zummobotdb” en el upboard (/opt/lampp/htdocs/zummobotdb). Esto haría que exista un sitio web en http://localhost/zummobotdb desde donde se puede subir y descargar los datos.
      • Esta aplicacion PHP ofrece las siguientes funciones:
        • set.php: Endpoint de tipo GET para persistir datos de manera dinámica usando valores suministrados por querystring.
        • getcsv.php: Endpoint de tipo GET para extraer todos los datos almacenados usando un archivo descargable en formato CSV
        • getcsv_last.php: Endpoint de topo GET para extraer una cantidad determinada de registros de la base de datos. El formato del resultado es CSV pero no genera un archivo descargable en el navegador.
        • realtime.php: Página utilitaria que permite monitorear en tiempo real los últimos 15 registros almacenados en la base de datos.
        • ** En el futuro estaremos agregando nuevas funcionalidades y modificando este artículo.

    • Utilice phpMyAdmin para crear la base de datos zummobotdb usando el script correspondiente. Dicho script se ubica en zummobotdb/DA/dbscript.sql
  3. Abra el  sketch de Arduino IDE para leer el sensor y subir los datos a la red WiFi y súbalo al Sparkfun Thing ESP8266.
    • En el momento en que se activa el sketch, el Sparkfun Thing tratará de conectarse a la red WiFi especificada y empezar a enviar datos de manera masiva.
    • Nosotros pudimos medir una subida de 230 datos por segundo para datos estáticos y de 40 lecturas por segundo para datos del sensor de color.

439 total views, 2 views today

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *