Envío de Datos IMU Adafruit 10DOF desde Raspberry Pi 2 a Azure Event Hubs con Windows 10 IoT Core
Este tutorial te guía para conectar un IMU Adafruit 10DOF (L3GD20H, LSM303, BMP180) a una Raspberry Pi 2 corriendo Windows 10 IoT Core, y transmitir los datos del sensor a Azure Event Hubs y Stream Analytics usando una app Universal Windows.
Prerrequisitos
- Hardware: Raspberry Pi 2 con Windows 10 IoT Core. Para detalles de configuración ver Windows on Devices.
- Sensor: Adafruit 10DOF IMU (L3GD20H + LSM303 + BMP180).
Entorno de Desarrollo
- Visual Studio 2015 RC con Windows IoT Core SDK en Windows 10 Public Preview. Sigue las guías oficiales para instalar el SDK y crear ejemplo Blinky:
- Las APIs de cableado Adafruit están en GitHub. Usa estos repositorios, portados a C# para este proyecto:
- Adafruit_LSM303DLHC
- Adafruit_L3GD20_U
- Adafruit_BMP085_Unified
- Adafruit_Sensor (solo header requerido)
- Para publicar en Event Hubs, integra el código de ejemplo ConnectTheDots.
Configuración de Azure Event Hubs y Stream Analytics
- Crea un Azure Service Bus Event Hub.
- Provisiona una cuenta Azure Storage para replay de eventos.
- Configura un job Azure Stream Analytics que lea del Event Hub y escriba en tabla Storage.
- Al configurar la salida, usa
DisplayNamecomo PARTITION KEY yCurrentDateTimecomo ROW KEY.
- Al configurar la salida, usa
Para análisis más profundo, ve el anterior blog Galileo Event Hubs.
Construyendo la App Universal
- Crea una Blank Universal App (C#) en Visual Studio 2015 RC.
- Añade referencia al Windows IoT Extension SDK para acceder a clases I2C.
- Porta el código de cableado C++ del IMU 10DOF a C# (ver enlaces GitHub arriba).
- Incluye
ConnectTheDotsHelper.csyAppSettings.csdel repositorio ConnectTheDots para manejar comunicación con Event Hub. - En
AppSettings.cs, reemplaza los valores placeholder con tu cadena de conexión Event Hub, nombre del hub y otros parámetros requeridos. - Compila el proyecto y despliégalo en la Pi vía debugger remoto, o configúralo como app de inicio (guía despliegue Hello World).
- Usa Service Bus Explorer para monitorizar eventos entrantes.
- Tras procesar Stream Analytics, visualiza la tabla resultante en Azure Storage Explorer.
Resultados Visuales
Las capturas siguientes ilustran eventos capturados en Service Bus Explorer y la tabla procesada en Azure Storage.
Esquemáticos
Fuente: Windows 10 IoT Core en Raspberry Pi 2 – Datos sensor Adafruit
Proceso de manufactura
- Raspberry Pi y HDC2010: Guía completa de configuración I2C para sensor de temperatura y humedad
- Construya un registrador de temperatura con Raspberry Pi y sensor I2C de 5 $
- Construcción de un registrador de datos multicanal con Raspberry Pi – Parte 1: Requisitos y arquitectura
- Construya una estación meteorológica con Raspberry Pi que envíe datos diarios por email
- Integración de datos de sensores en Raspberry Pi: Guía práctica
- Conexión del sensor ultrasónico HC‑SR04 a Raspberry Pi 3 – Guía completa
- Controle un LED con Sensor PIR de Movimiento en Raspberry Pi
- Construya un Sensor de Humedad de Suelo de Bajo Coste para Riego Inteligente con Raspberry Pi
- Construya un Sistema de Monitorización de Temperatura y Luz Multi‑Sensor con Raspberry Pi y DS18B20
- Control de sensores y actuadores con Raspberry Pi: acelerómetro, servo y streaming de datos
- Los datos IoT impulsan la agricultura de precisión: aumentando rendimientos y reduciendo costes