O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Esp8266 iothub Azure data analysis in real time

306 visualizações

Publicada em

Slides from talk about NodeMCU + IoThub + Stream Analytics + CosmosDb
https://www.meetup.com/es-ES/IoT-un-mundo-conectado/events/247094054/
Sample Code is here https://github.com/leomicheloni/NodeMCU-Azure

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Esp8266 iothub Azure data analysis in real time

  1. 1. Analizar datos en tiempo real integrando sensores, NodeMCU y Azure Leonardo Micheloni
  2. 2. Antes de empezar • Agradecimientos • José Ángel • The Cube • Asistentes • Sorteo • Foto + #IoTAzure + @leomicheloni
  3. 3. Presentación • Leonardo Micheloni • Argentino • Developer • Microsoft MVP • Técnico en electrónica
  4. 4. Objetivo • Realizar un ejemplo sencillo • Que cualquiera puede realizar en su casa • Vamos a ver teoría • Código • Una Demo
  5. 5. Agenda • Escenario • Dispositivos, elementos de la solución • Teoría • Ejemplos • Demo • Preguntas
  6. 6. ¿Qué es IoT? • Internet of things • Conectar dispositivos a internet • Actual sobre ellos o en consecuencia de lo que informan • Aplicaciones infinitas
  7. 7. Ejemplo de aplicaciones • Monitorización remota de campos • Monitorización remota de flotas de vehículos • Datos de clima, contaminación • Domótica • Retail • Medicina • Drones • Blockchain http://www.sensegrow.com
  8. 8. Componentes • Dispositivo de captura y actuación • Recepción de datos: Recibir desde los dispositivos. • Procesamiento: Leer, agrupar, analizar, sumarizar, etc. • Persistencia: Guardarlos para mostrarlos, tener históricos. • Presentación: Mostrar los datos y actuar en consecuencia Dispositivo Recepción • Persistencia Análisis • Persistencia Presentación • Comandos
  9. 9. Dispositivo • En general es buena idea que el dispositivo haga poco. • Vamos a usar NodeMCU ESP8266-12E • Un kit de desarrollo basado en ESP8266-12E para IoT • 32b / RISC / 64KB • Un firmware open source • Hardware similar a Arduino • 10 GPIO • PWM • I2C / SPI • 10 bits ADC • WIFI 802.11g/b/n – WEP / WPA / WPA2 • UART
  10. 10. NodeMCU ESP8266-12E V3
  11. 11. Ventajas • Es barato • Es potente • Consumen poco energía • Compatible con Arduino • Se puede programar en LUA o C
  12. 12. Diagrama
  13. 13. Código
  14. 14. Recepción / captura de datos • Desafíos • Diferentes tasas de arribo • Diferentes velocidades • Pueden haber picos de demanda • Los datos pueden ser diferentes • Comunicaciones intermitentes • Pueden haber millones de dispositivos
  15. 15. Azure IoT Hub • Servicio en la nube para recibir eventos optimizado para IoT • Transferencia de ficheros • Permite definir dispositivos • Permite definir diferentes permisos por dispositivo • Soporta MQTT 3.1.1, HTTPS y AMQP 1.0 • Custom endpoints para ruteo • SDK: C, Python, Java, Node.js, .NET. • Soporta retención de mensajes hasta 7 días y 30 de historia
  16. 16. Quotas
  17. 17. Diagrama
  18. 18. Manipulación de datos • Desafíos • Los datos son un Stream • Tienen diferentes tasas de arribo • Tienen diferentes velocidades • Intermitencias • Diferentes formatos http://www.vidyatech.com
  19. 19. Stream de datos
  20. 20. Stram Analytics • Es un servicio en la nube • Permite procesar datos en tiempo real • Utilizando una query al estilo SQL • Permite agrupar y hacer operaciones a partir de ventanas de tiempo • Se puede conectar directamente a IoTHub
  21. 21. Stram Analytics • Consta de 3 partes • Entradas • Query • Salidas • Entradas: • Event hubs • IoTHub • Colas • Salidas: • Event hubs • Stream Analytics • Bases de datos Input Query Output
  22. 22. Ejemplos de queries
  23. 23. Diagrama
  24. 24. Persistencia • Necesitamos guardar muchos datos • Las bases de datos transaccionales son buenas para datos transaccionales • En este caso no necesitamos ninguna de sus ventajas • Necesitamos velocidad • No nos interesa tanto la consistencia
  25. 25. Bases de datos transaccionales • Teorema ACID • Atomicidad • Consistencia • Aislación • Durabilidad
  26. 26. Teorema CAP
  27. 27. CosmosDB • Base de datos como servicio • Multimodelo (columnas, documents, grafos, key value • Escalable a nivel global • Multi API • SQL • Mongo • Gremlin • Permite elegir el nivel de consistencia
  28. 28. CosmosDB • Se puede consultar por medio de una API REST • Se pueden crear funcione y stored procedures con Javascript
  29. 29. Diagrama
  30. 30. Presentación de datos • Aplicación en .NET Core • Usa el SDK de Cosmos para .NET Core • Un poco de Javascript en la UI
  31. 31. Diagrama
  32. 32. Código
  33. 33. Demo
  34. 34. Preguntas?
  35. 35. Gracias!!!
  36. 36. Referencias • http://nodemcu.com/index_en.html • https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-scaling • https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-mqtt- support • http://www.instructables.com/id/Programming-ESP8266-ESP-12E- NodeMCU-Using-Arduino-/ • https://pubsubclient.knolleary.net/ • https://github.com/esp8266/Arduino/issues/584 • http://www.radupascal.com/2016/04/03/esp8266-arduino-iot-hub • https://github.com/leomicheloni/NodeMCU-Azure

×