SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

Similar a Esp8266 iothub Azure data analysis in real time

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 cosasFacultad de Informática UCM
 
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
 
Tuenti - tu entidad
Tuenti -  tu entidadTuenti -  tu entidad
Tuenti - tu entidadTuenti
 
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 utilizarloscarlos_eduardo_84
 
Azure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresAzure 360º para Desarrolaldores
Azure 360º para DesarrolaldoresGermán Küber
 
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...Denodo
 
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 MicrosoftMiguel Teheran
 
Presentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en SanidadPresentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en SanidadJuan José Domenech
 
Presentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en SanidadPresentación Seguridad IoT en Sanidad
Presentación Seguridad IoT en SanidadRamón Salado Lucena
 
Realtime nodejs socket io
Realtime nodejs   socket ioRealtime nodejs   socket io
Realtime nodejs socket ioJose Gratereaux
 

Similar a 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
 

Más de Leonardo Micheloni

Más de 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
 

Último

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 

Último (20)

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 

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