SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Analizar datos en tiempo real
integrando sensores,
NodeMCU y Azure
Leonardo Micheloni
Antes de empezar
• Agradecimientos
• José Ángel
• The Cube
• Asistentes
• Sorteo
• Foto + #IoTAzure + @leomicheloni
Presentación
• Leonardo Micheloni
• Argentino
• Developer
• Microsoft MVP
• Técnico en electrónica
Objetivo
• Realizar un ejemplo sencillo
• Que cualquiera puede realizar en su casa
• Vamos a ver teoría
• Código
• Una Demo
Agenda
• Escenario
• Dispositivos, elementos de la solución
• Teoría
• Ejemplos
• Demo
• Preguntas
¿Qué es IoT?
• Internet of things
• Conectar dispositivos a internet
• Actual sobre ellos o en consecuencia
de lo que informan
• Aplicaciones infinitas
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
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
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
NodeMCU ESP8266-12E V3
Ventajas
• Es barato
• Es potente
• Consumen poco energía
• Compatible con Arduino
• Se puede programar en LUA o C
Diagrama
Código
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
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
Quotas
Diagrama
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
Stream de datos
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
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
Ejemplos de queries
Diagrama
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
Bases de datos transaccionales
• Teorema ACID
• Atomicidad
• Consistencia
• Aislación
• Durabilidad
Teorema CAP
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
CosmosDB
• Se puede consultar por medio de una API REST
• Se pueden crear funcione y stored procedures con Javascript
Diagrama
Presentación de datos
• Aplicación en .NET Core
• Usa el SDK de Cosmos para .NET Core
• Un poco de Javascript en la UI
Diagrama
Código
Demo
Preguntas?
Gracias!!!
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

Weitere ähnliche Inhalte

Ähnlich wie Esp8266 iothub Azure data analysis in real time

Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
Intelligent water resources management with OGC SOS. Gestión Inteligente de R...Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
Juan Luis Cardoso
 

Ähnlich wie Esp8266 iothub Azure data analysis in real time (20)

(13/05) MSDN te invita a ser parte de Uxity
(13/05) MSDN te invita a ser parte de Uxity(13/05) MSDN te invita a ser parte de Uxity
(13/05) MSDN te invita a ser parte de Uxity
 
Serverless Wars
Serverless WarsServerless Wars
Serverless Wars
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
computación en la nube
computación en la nubecomputación en la nube
computación en la nube
 
Meta-modelos y lenguajes de dominio específico en Internet de las cosas
Meta-modelos y lenguajes de dominio específico en Internet de las cosasMeta-modelos y lenguajes de dominio específico en Internet de las cosas
Meta-modelos y lenguajes de dominio específico en Internet de las cosas
 
Semana de la I+D - Proyecto OPOSSUM
Semana de la I+D - Proyecto OPOSSUMSemana de la I+D - Proyecto OPOSSUM
Semana de la I+D - Proyecto OPOSSUM
 
Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
Intelligent water resources management with OGC SOS. Gestión Inteligente de R...Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
Intelligent water resources management with OGC SOS. Gestión Inteligente de R...
 
1-Introduccion.pdf
1-Introduccion.pdf1-Introduccion.pdf
1-Introduccion.pdf
 
Tuenti - tu entidad
Tuenti -  tu entidadTuenti -  tu entidad
Tuenti - tu entidad
 
azure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlosazure-logic elementos de seleccion cuando utilizarlos
azure-logic elementos de seleccion cuando utilizarlos
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para Desarrolaldores
 
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
 
Herramientas y complementos al desarrollar con tecnologías Microsoft
Herramientas y complementos al desarrollar con tecnologías MicrosoftHerramientas y complementos al desarrollar con tecnologías Microsoft
Herramientas y complementos al desarrollar con tecnologías Microsoft
 
Presentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en SanidadPresentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en Sanidad
 
Presentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en SanidadPresentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en Sanidad
 
IoT.pptx
IoT.pptxIoT.pptx
IoT.pptx
 
Blockchain, tenemos una solución busquemos el problema
Blockchain, tenemos una solución busquemos el problemaBlockchain, tenemos una solución busquemos el problema
Blockchain, tenemos una solución busquemos el problema
 
Realtime nodejs socket io
Realtime nodejs   socket ioRealtime nodejs   socket io
Realtime nodejs socket io
 
Cloud Computing: una perspectiva tecnológica
Cloud Computing: una perspectiva tecnológicaCloud Computing: una perspectiva tecnológica
Cloud Computing: una perspectiva tecnológica
 
IoT - Internet de las Cosas
IoT - Internet de las CosasIoT - Internet de las Cosas
IoT - Internet de las Cosas
 

Mehr von Leonardo Micheloni

Mehr von Leonardo Micheloni (17)

Docker_K8S_lecciones_netcoreconf_2022.pdf
Docker_K8S_lecciones_netcoreconf_2022.pdfDocker_K8S_lecciones_netcoreconf_2022.pdf
Docker_K8S_lecciones_netcoreconf_2022.pdf
 
Docker dotnet netbaires
Docker dotnet netbairesDocker dotnet netbaires
Docker dotnet netbaires
 
Mas alla de javascript con typescript
Mas alla de javascript con typescriptMas alla de javascript con typescript
Mas alla de javascript con typescript
 
Workshop clean code javascript
Workshop clean code javascriptWorkshop clean code javascript
Workshop clean code javascript
 
2019 commit solid typescript
2019 commit solid typescript2019 commit solid typescript
2019 commit solid typescript
 
Solid con typescript
Solid con typescriptSolid con typescript
Solid con typescript
 
Tdd desde las trincheras
Tdd desde las trincherasTdd desde las trincheras
Tdd desde las trincheras
 
Docker Dotnet Málaga
Docker Dotnet MálagaDocker Dotnet Málaga
Docker Dotnet Málaga
 
Pipeline continuo con VSTS Azure DevOps
Pipeline continuo con VSTS Azure DevOpsPipeline continuo con VSTS Azure DevOps
Pipeline continuo con VSTS Azure DevOps
 
Docker for losers
Docker for losersDocker for losers
Docker for losers
 
Clean code javascript + live coding
Clean code javascript + live codingClean code javascript + live coding
Clean code javascript + live coding
 
Un viaje por Cosmos DB
Un viaje por Cosmos DBUn viaje por Cosmos DB
Un viaje por Cosmos DB
 
Cosmos db gab2018
Cosmos db gab2018Cosmos db gab2018
Cosmos db gab2018
 
Cosmos DB in a nutshell
Cosmos DB in a nutshellCosmos DB in a nutshell
Cosmos DB in a nutshell
 
Clean code javascript
Clean code javascriptClean code javascript
Clean code javascript
 
Tdd y pair programming
Tdd y pair programmingTdd y pair programming
Tdd y pair programming
 
Blockchain, smart contracts y azure
Blockchain, smart contracts y azureBlockchain, smart contracts y azure
Blockchain, smart contracts y azure
 

Kürzlich hochgeladen

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Kürzlich hochgeladen (10)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Esp8266 iothub Azure data analysis in real time

  • 1. Analizar datos en tiempo real integrando sensores, NodeMCU y Azure Leonardo Micheloni
  • 2. Antes de empezar • Agradecimientos • José Ángel • The Cube • Asistentes • Sorteo • Foto + #IoTAzure + @leomicheloni
  • 3. Presentación • Leonardo Micheloni • Argentino • Developer • Microsoft MVP • Técnico en electrónica
  • 4. Objetivo • Realizar un ejemplo sencillo • Que cualquiera puede realizar en su casa • Vamos a ver teoría • Código • Una Demo
  • 5. Agenda • Escenario • Dispositivos, elementos de la solución • Teoría • Ejemplos • Demo • Preguntas
  • 6. ¿Qué es IoT? • Internet of things • Conectar dispositivos a internet • Actual sobre ellos o en consecuencia de lo que informan • Aplicaciones infinitas
  • 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. 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. 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
  • 11. Ventajas • Es barato • Es potente • Consumen poco energía • Compatible con Arduino • Se puede programar en LUA o C
  • 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. 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
  • 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
  • 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. 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
  • 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. Bases de datos transaccionales • Teorema ACID • Atomicidad • Consistencia • Aislación • Durabilidad
  • 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. CosmosDB • Se puede consultar por medio de una API REST • Se pueden crear funcione y stored procedures con Javascript
  • 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
  • 33. Demo
  • 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