barcamp 2015 - integración de proyectos embebidos utilizando arduino, raspberry pi y java

68
Integración de proyectos embebidos Utilizando Arduino, Raspberry PI y Java. Ing. Carlos Camacho & Ing. Javier Marte Santiago,República Dominicana, 28/11/2015. Barcamp.org.do

Upload: carlos-camacho

Post on 10-Feb-2017

926 views

Category:

Software


1 download

TRANSCRIPT

Integración de proyectos embebidos Utilizando Arduino, Raspberry PI y Java.

Ing. Carlos Camacho & Ing. Javier Marte

Santiago,República Dominicana, 28/11/2015.Barcamp.org.do

Los conceptos y juicios de valor emitidos en esta presentación es responsabilidad personal y no se puede entenderse como una posición oficial de alguna empresa con la que hemos tenido relación laboral.

Todas las marcas registradas, así como todos los logotipos, imágenes, fotografías, audio y vídeos mostrados en esta presentación son propiedad de sus respectivos propietarios.

Su utilización es solamente para fines ilustrativos y no pretendemos dar a entender cualquier afiliación con esas empresas.

Asuntos Legales

Sobre Carlos Camacho

❖ Ing. Telemático | Magister Tecnología Educativa | Profesor Departamento Sistema, PUCMM.

❖ Más de 10 años de experiencias en desarrollo de sistemas bajo Java SE y Java EE.

❖ Fundación Código Libre, Santiago - Miembro Fundador | Coordinador de Sistemas, Reefer Services, S.A.S | Presidente, AvatharTech E.I.R.L.

❖ Lado oscuro de la fuerza, Nacido en la era Nintendo, Pirata Musical

Comunidades ❖ twitter: @ccamachog❖ Github: @vacax❖ LinkedIn: @ccamachog❖ [email protected] / [email protected]

Sobre Carlos Camacho

❖ Ing. Electrónico | Encargado de Seguridad Electrónica, PUCMM.

❖ Más de 3 años de experiencias en desarrollo e integración de sistemas

embebidos.

Comunidades ❖ LinkedIn: @javiermartemichelen❖ [email protected] / [email protected]❖ facebook: @javier.martemichelen

● Elección de la placa.

● Protocolo de comunicación.

● Programación en el microprocesador

● Ahorro de energía.

● Integración con el software de alto nivel.

Agenda

● Introducir los conceptos fundamentales de los dispositivos

embebidos.

● Mostrar los criterios técnicos que deben ser evaluados para la

selección de las placas y procesadores.

● Mostrar funcionamiento de los módulos de comunicación Xbee.

● Integración dispositivo electrónico con aplicación web.

Objetivo

Un cliente que maneja carga refrigerada a terceros, necesita demostrar que los productos que el maneja

nunca pierden la cadena de frío, para ello, necesita evidenciar que posee información veraz donde no

intervenga la manipulación humana en los registros de temperatura a la carga que el maneja; para lograr ese

objetivo, necesita incluir en sus procesos un sistema informático que se alimente de sensores electrónicos

que miden temperatura y humedad, permitiendo la generación de reportes, alarmas fuera de rango y

visualizar en tiempo real los valores procesados, logrando demostrar a sus clientes que mantiene en todo

momento la cadena de frío. Los sensores que serán implementados, deben ser de bajo costo, no utilizar

cableado de ningún tipo para la transmisión de la información y autonomía de esos equipos.

El Proyecto

Analizando los requerimientos del cliente, el proyecto debe cumplir los siguientes puntos:

● Medir Temperatura y Humedad● Inalámbrico.● Bajo costo. ● Visualizar la información en una aplicación Web. ● Emisión de Alarmas.● Colector de información● Control de evento● Autónomo

○ Utilizar batería

Problema

● Es un Sistema de computación diseñados para cubrir y dar respuesta a una necesidad específica.● Tienen una arquitectura semejante a las PC:

○ Microprocesador○ Memoria○ Disco duro○ Entradas / Salidas digitales y analogas.

Sistemas Embebidos

Esquema del proyecto

Dispositivo Maestro y Coordinador

Dispositivo Final N1

Dispositivo Final N2

Dispositivo Final Nn

Aplicación Web

Dispositivos Finales

● Sensor de temperatura.

● Sensor de humedad.

● Comunicación inalámbrica.

● Microprocesador.

● Ambiente en que va a funcionar el Hardware o End Point.

● Utiliza Batería para la alimentación.

Sensores

● Un sensor es un dispositivo diseñado para recibir información de una magnitud del exterior y

transformarla en otra magnitud, normalmente eléctrica, que seamos capaces de cuantificar y

manipular.

Sensores de Temperatura y Humedad

Hay muchos tipos de sensores de temperatura y humedad en el mercado. Por ejemplo:

DHT11

Power Supply

Rango de Medición

Humedad Error Máximo

Temperatura Error Máximo

Resolution

3 V - 5 V 20-90%HR0-50℃

±5%HR ±2℃ 1

Desventajas- Error de medición Alto.- Rango de medición

Limitado.- I2C

Ventajas- Un solo dispositivos tenemos

dos unidades distintas de medición.

Precio US $ 5

Sensor de Temperatura

DS18B20

Power Supply

Rango de Medición

Temperatura Error Máximo Resolución

3.0V - 5.5V -55℃ hasta +125℃

-10℃ hasta 85℃ = ±0.5-55℃ hasta 125℃ =± 2

Programable

Precio US $ 3.

GND DQ V

DD

Desventajas- Una sola variable de

medición

Ventajas- Mayor rango de temperatura- Menor error.- Resolución programable.- Se puede Calibrar.- One Wire bus.- Menor Consumo

Sensor de temperatura y humedad

Power Supply Rango de Medición

Temperatura Error Máximo

Resolution

3.3V - 5.5 V DC 0 hasta 100 %HR-40 〜 80 ℃

± 2 % HR ± 0.5 ℃

0.1% RH± 0.2 ℃

Este dispositivo se ajusta más a nuestro proyecto.

Precio US $ 6.

DHT22/AM2302 Ventajas- Mayor rango de medición en la Humedad- Menor error de temperatura y humedad.- Se puede Calibrar.- One Wire bus.- Un solo dispositivo

Desventajas- Menor rango de

medición en la temperatura

Comunicación Inalámbrica

Por requerimiento del proyecto, no podemos utilizar cableado para comunicar los equipos, dado el alto costo que implica contar con las facilidades técnicas ( tuberia, electricidad, redes ) previo al funcionamiento del proyecto. Por esta razón, se busca un tipo de Dispositivos que tenga las siguientes características:

1. Autonomía.

2. Bajo consumo.

3. Transmisión de dato a larga distancia.

4. Debe ser compatible la comunicación entre microcontrolador y el dispositivo inalámbrico.

5. Red Mesh o Estrella.

Comunicación Inalámbrica(End Point)

Xbee SB2 Pro

Características

● 3.3v @ 295mA.

● Rango de 1 milla (1.6 Km).

● Comandos AT o API.

● Certificación FCC.

● 250Kbps máxima tasa de datos.

● 6 Pines entrada CAD 10-bitPrecio US $28

Comunicación Inalámbrica(End Point)

Ventajas del Uso del Xbee:

● Gran alcance de transmisión

● Bajo consumo.

● Interfaz serial.

● Fácil de integrar.

● Económico,poderoso y fáciles de usar.

● Autonomía en el enrutamiento.

● Red Mesh o Estrella.

Comunicación Inalámbrica XbeeCoordinador (administrador de la red)• Sólo puede existir uno por red.• Inicia la formación de la red.• Es el coordinador de PAN (red de área personal).

Router (enrutador)• Se asocia con el coordinador de la red o con otro router ZigBee.• Puede actuar como coordinador.• Es el encargado del enrutamiento de saltos múltiples de los mensajes.

Dispositivo final (End device)• Elemento básico de la red.• No realiza tareas de enrutamiento.

Configuración XbeeLos Xbee deben ser configurados por el usuario antes de ser utilizados. Para esto se utiliza el software XCTU de Digi International.

Configuración Básica del Xbee

Coordinador.

PAN ID(Personal Area Network) 1234SCAN Channels 10Scan Duration 3

Firmware Version:

Configuración Básica del Xbee

End Point.

PAN ID(Personal Area Network) 1234SCAN Channels 10Scan Duration 3Join Notification (1 Enable)Sleep Mode Cyclic Pin- Wake[5]

Firmware Version:

Configuración Básica del Xbee

Router:

PAN ID(Personal Area Network) 1234SCAN Channels 10Scan Duration 3Join Notification (1 Enable)Sleep Mode No Sleep

Elección de Microprocesador y placa

Paso 1:

Se debe listar las funciones que va a desempeñar el End point, ya que esto dependerá el nivel

de complejidad que vas a manejar en tu microprocesador. Por ejemplo, para este proyecto

tenemos lo siguiente:

1. Obtener los valores de Temperatura y Humedad.

2. Obtener el valor del voltaje de la batería.

3. Procesar la trama de comunicación hacia el coordinador.

4. Procesar la trama de comunicación del Xbee.

5. Envío de datos al coordinador cada X tiempo.

Elección de la placa (End Point)

Elección de la placa (End Point)

Para elegir el End point tomamos en cuenta lo siguiente:

● Costo de los equipos.

● Características de los microprocesadores.

● Complejidad de las tareas que va a desempeñar el dispositivo.

● Factibilidad.

● Tamaño de las placas.

Elección de la placa (End Point)

Para los End point, elegimos Arduino porque cumple con:

● Bajo Costo.

● Las tareas que van a desempeñar son sencillas.

● Factibilidad en la construcción del PCB.

● Varias opciones y tamaño de placas.

Elección de la placa

Dispositivo Final(End Point)

Paso 2 : Listar cantidad de pines y tipo de comunicación que vamos a utilizar en el proyecto. Por ejemplo, para este proyecto tenemos:

Dispositivo Pines a controlar

Cantidad de Pines a controlar

Comunicación

DS18B20 DQ | VDD 2 1 One-Wire

Humedad Ve | OUT 2 1 One- wire

Xbee CTS 1 Serial

Batería +Vcc 1 Análogico

Inputs 2 Pines 2 -

Elección Microprocesador y Placa Arduino

Total de Pines a Utilizar:5 Pines Digitales.3 Pines Analogicos

Total de Dispositivos a Utilizar: 5

Dispositivo Final(End Point)

Paso 3 : Elección de la Placa Arduino, para esto debemos tener en cuenta los siguiente parámetros:

● Voltaje Operacional.● Memorias Flash. (Donde se almacena el Sketch)● Memoria SRAM. (Es de uso Exclusivo para el programa en ejecución).● Memoria EEPROM.(Utilizada para almacenar información a largo plazo).● Entrada Analogicas y Digital.● Velocidad del Microprocesador.● Interrupciones.

Para esto, observar la siguiente tabla y buscar los parámetros de interés.

Elección Microprocesador y Placa Arduino

Name Processor Operating/Input

Voltage

CPU

Speed

Analo

g

In/Ou

t

Digital

IO/PWM

EEPROM

[KB]

SRAM

[KB]

Flash

[KB]

USB UART

ArduinoBT ATmega328P 5 V / 2.5-12 V 16 MHz 6/0 14/6 1 2 32 - 1

Due ATSAM3X8E 3.3 V / 7-12 V 84 MHz 12/2 54/12 - 96 512 2 Micro 4

Fio ATmega328P 3.3 V / 3.7-7 V 8 MHz 8/0 14/6 1 2 32 Mini 1

Gemma ATtiny85 3.3 V / 4-16 V 8 MHz 1/0 3/2 0.5 0.5 8 Micro 0

Leonardo ATmega32U4 5 V / 7-12 V 16 MHz 12/0 20/7 1 2.5 32 Micro 1

Mega 2560 ATmega2560 5 V / 7-12 V 16 MHz 16/0 54/15 4 8 256 Regular 4

Uno ATmega328P 5 V / 7-12 V 16 MHz 6/0 14/6 1 2 32 Regular 1

Dispositivo Final(End Point)

Elección MicroProcesador y Placa Arduino

Ventajas :

● Cargador de batería.

● Plot para batería incorporado.

● Xbee shield Incorporado.

● Switch On/ OFF.

● Encapsulado pequeño.

● Pines extra para medición de batería y

control de xbee

Arduino Fio (Atmega 328P)

Precio US $23

Dispositivo Final(End Point)

Esquema del Proyecto:

Dispositivo Final(End Point)

Esquema del Proyecto:

Dispositivo Final(End Point)

Selección de la Batería:

Paso 1:

Tabular el consumo promedio de todos los dispositivos.

Dispositivo Consumo Máximo en modo Activo

Consumo en Modo StandBy o Sleep

DS18B20 1.5 mA 10 uA

Humedad 1.5 mA 50 uA

Xbee 80 mA 32 uA

Arduino Fio 10 mA 112 uA

Total 93 mA 140 uA

Dispositivo Final(End Point)

Selección de la Batería:Paso 2: Ejercicio 1:¿Cuál sería la capacidad de la batería para una carga constante de 93mA durante un mes? Duración de la Batería(Hora)=

Capacidad de la Batería para 1 mes (720 horas) será de: 66,960 mAh. No es viable.

Solución para ahorrar energía:

Definir un Ciclo donde tendremos 2 tiempos:Tiempo activo, este tiempo corresponde al proceso y envío de datos). Tiempo muerto (sleep o modo ahorro de energía).

Capacidad de la batería (mAh)

Corriente de la carga (mA)

Dispositivo Final(End Point)

Selección de la Batería:si el ciclo = 2 Minutos

Tiempo Activo = 10 segundosTiempo Muerto = 110 segundos

La corriente en Tiempo activo es = 93mA.La corriente en Tiempo muerto es = 204uA + 5% de la corriente en tiempo activo = 4.854mA.La corriente total consumida en el ciclo = 93mA + 4.854mA = 97.854mA.

Para tener una referencia, durante un mes vamos a calcular la corriente consumida del dispositivo tomando en cuenta cada 2 minutos durante 1 mes.

1 Mes = 24horas*30 dias= 720 horas.(720 horas* 60 minutos) /1 hora = 43,200 minutos.

Cantidad de ciclos de 2 minutos durante 1 mes = = 21,600 ciclos.

La corriente consumida durante un mes completo = 21,600 * 97.854mA= 2,113.6 mA

43,200 minutos2 minutos

Dispositivo Final(End Point)

Selección de la Batería:

Finalmente, la corriente consumida por el dispositivo final(End Point) en 1 mes = 2,113.6mA

Debemos elegir una batería con un voltaje nominal de 3.7 - 7 voltios y una capacidad por encima de los 2000 mAh. Por ejemplo, la batería que se muestra es de Lithium ion Polymer, con un voltaje de 3.7v y una capacidad de 2200mAh

Dispositivo Final(End Point)

Trama de las lecturas de los variables medidas.

Valores en Hexadecimal.

40 40 00 01 01 03 2D 50 1D 25 03 04

Start Delimiter : 40 40

End point ID: 00 01

Frame Type : 01

Voltaje: 3 2D

Signo de temperatura: 50 si es Positiva , 4E si es Negativa

Temperatura: 1D 25

Humedad: 03 04

Comunicación InalámbricaTrama de Recepcion de Paquete en el Xbee Coordinador.

Valores en Hexadecimal.

7E 00 18 90 00 13 A2 00 40 B5 A3 09 09 9D 41 40 40 00 01 01 03 2D 50 1D 25 03 04 E7

Start delimiter: 7E

Length: 00 18 (24)

Frame type: 90 (Receive Packet)

64-bit source address: 00 13 A2 00 40 B5 A3 09

16-bit source address: 09 9D

Receive options: 41

RF data: 40 40 00 01 01 03 2D 50 1D 25 03 04

Checksum: E7

Comunicación InalámbricaEjemplo de envio de Paquete desde el End Point.

Valores en Hexadecimal.

7E 00 1A 10 01 00 13 A2 00 40 B5 A2 F8 FF FE 00 00 40 40 00 01 01 03 2D 50 1D 25 03 04 62

Start delimiter: 7E

Length: 00 1A (26)

Frame type: 10 (Transmit Request)

Frame ID : 01 (Habilitar el Request)

64-bit Dest. address: 00 13 A2 00 40 B5 A2 F8

16-bit source address: FF FE

Broadcast radius: 00

Options : 00

RF data: 40 40 00 01 01 03 2D 50 1D 25 03 04

Checksum: 62

Checksum=0xFF-(sumatoria & 0xFF).

Ahorro de Energía (End Point)

¿Como se pudo ahorrar energia via Software?

1. Colocando en modo Sleep el Xbee.

2. Colocando el microprocesador en modo hibernar en sus tiempos muertos.

3. Controlando el paso de corriente a los sensores.

Como colocar en Modo Sleep el Xbee.

~ Pin 9 DTR/sleep RQ Activo Bajo.

Ahorro de Energía (End Point)

¿Como se pudo ahorrar energia via Software?

Se determinó el tiempo muerto del proceso y se colocó cada uno de los dispositivos en el siguiente modo de operación.

1. Colocando en modo Sleep el Xbee.

2. Colocando el microprocesador en modo ahorro de energía en sus tiempos muertos.

3. Controlando el paso de corriente a los sensores.

Como colocar en Modo Sleep el Xbee.

~ Controlando desde el microprocesador el Pin 9 DTR/sleep RQ.

Nota: Tener en cuenta que la configuración esté enCyclic Pin-Wake

Ahorro de Energía (End Point)

¿Como colocar el Microprocesador en modo de ahorro de energía?

Este Microprocesador tiene disponible seis modos de dormir:1. Idle2. ADC Noise Reduction3. Power-save,4. Power-down5. Standby6. Extended Standby

Para poder salir del Modo de dormir tiene que haber una intervención en el microprocesador, para esto, generando una interrupción podemos despertar el microprocesador.

Las interrupciones son eventos especiales que se generan interna o externamente en el microcontrolador que pausa momentáneamente la ejecución del programa para realizar una tarea breve, y después volver al punto donde se quedó ejecutando el programa.

Atmega 328P

Ahorro de Energía (End Point)

La interrupción de Watchdog Timer es la que se utilizó, porque el watchdog timer es un temporizador de 16 bit que puede ser configurada para generar interrupciones en un determinado tiempo.

Registro de configuración del Watchdog Timer.

Configuración del Watchdog Timer.

Ahorro de Energía (End Point)

Finalmente el registro del Watchdog timer

WDTCSR = B01100001; // Interrupción cada 8 segundos

Tabla del Preescalador del Watchdog timer

Ahorro de Energía (End Point)

void sleepNow()

{

set_sleep_mode(SLEEP_MODE_PWR_SAVE); // Sleep mode is set here

sleep_enable(); // Habilitando el modo sleep en el registro mcucr.

sleep_mode(); // Aquí el Microprocesador se va a modo Power save

// El programa continúa aquí una vez que se despierte

sleep_disable(); // Lo primero que se hace cuando despierta deshabilitar el

// modo sleep

}

void watchdogEnable() { // Encender la interrupción del watchdog timer cada 8.0s

cli();

MCUSR = 0;

WDTCSR |= B00011000;

//WDTCSR = B01000111; // 2 Second Timeout

//WDTCSR = B01100000; // 4 Second Timeout

WDTCSR = B01100001; // 8 Second Timeout

sei();

}

ISR (WDT_vect) { // Vector interrupción del Watchdog Timer.

cli();

wdt_disable();

sei();

}

Arduino IDE for Visual Studio

Visual Micro es un plugin gratuito de programación de Arduino que se extiende Microsoft Visual Studio

2012 hasta 2015, con un completo entorno de programación compatible con Arduino. IDE de diversos

fabricantes como arduino.cc, arduino.org, intel, chipKIT, son compatibles teensy.

Requerimientos:

● Visual Studio or Atmel Studio.

● Plugins Visual Micro.

● Arduino IDE.

● Solo para Windows.

Ventajas:

● Puedes Debugear tus códigos paso a paso.

● Simplifica la tarea de programar.

● Interfaz más amigable.

Arduino IDE for Atmel Studio

Recomendaciones

1. Familiarizarse y probar con cada unos de los dispositivos.

2. Hacer pruebas de tramas y envío de información en los Xbee con el software XCTU.

3. No hacer mal uso en las declaraciones de las variables.

4. Tomar en cuenta todos los factores a la hora de la elección del microprocesador.

5. Leer las hoja de datos de los dispositivos para conocerlos bien.

6. Lo último que se calcula y se elige es la batería de alimentación.

Costo Total US$77 (Incluyendo PCB y materiales gastables)

● Plataforma:

○ Multiplataforma.

○ Utiliza máquina virtual para su ejecución.

○ Creado por James Gosling

○ Multipropósito, dividida según el uso en:

■ Java SE.

■ Java EE.

■ Java Embedded.

● Números:○ 5 trillones de SIMS y Smart Cards

○ 3 trillones de dispositivos móviles.

○ 80 millones de TV, incluyendo blu-ray, printers, máquinas bancarias, ebook readers.

Java

Trillones, representa el término inglés de 10^12, http://www.oracle.com/us/technologies/java/embedded/overview/index.html

● Optimizados para trabajar con sistemas embebidos los cuales tienen limitaciones

en cantidad de memoria, procesadores y consumo eléctrico. Dependiendo la

implementación se divide en:○ Java Embedded → Soluciones para pequeños y grandes equipos embebidos.

○ Java SE Embedded → Implementación de Java SE optimizada para equipos embebidos.

○ Java ME Embedded → Optimizados para equipos pequeños, actualización remota.

○ Java ME Embedded Client → Optimizados con equipos pequeños con limitaciones memoria,

display y alimentación eléctrica.

○ Java Card → Dispositivos de seguridad

○ Java TV → Contenido digital para TV.

Java Embedded

● Recibe la información enviada por los dispositivos finales (End Point).

● Puente o convertidor de protocolo de comunicación ( Xbee a TCP).

● Envía la información recibida al servidor central para su procesamiento.

● Requiere capacidad de procesamiento y memoria moderada para procesar cada

una de la información enviada por los dispositivos finales.

Dispositivo Maestro | Controlador

● Nuestro dispositivo seleccionado es Raspberry PI Modelo B:○ SoC: Broadcom BCM 2835 (CPU + GPU+ DSP + SDRAM + Puertos USB).

○ CPU: ARM 1176JZF a 700 MHZ.

○ SDRAM: 512MB.

○ Almacenamiento: SD

○ Conectividad: Ethernet R-J45, 10/100.

○ Periféricos bajo nivel: 8 x GPIO, SPI, I2C, UART.

○ Sistemas Operativos: Raspbian, Pidora, entre otros sabores de linux.

Elección del dispositivo maestro

Elección del dispositivo maestro

US$: 45.00

Raspberry PI Zero

US$: 5.00

● Características:○ SoC: Broadcom BCM 2835 (CPU + GPU+ DSP + SDRAM + Puertos USB).

○ CPU: ARM11 a 1 GHz.

○ SDRAM: 512MB.

○ Almacenamiento: SD

○ 40 pines disponible.

○ Sistemas Operativos: Raspbian.

Raspberry PI Zero

● Raspberry PI permite la instalación de un sistema operativo basado en linux. La

distribución más utilizada es RaspBian.

● Para instalar Java SE Embedded, lo descargamos desde los repositorios:○ sudo apt-get install oracle-java8-jdk

● Instalar acceso serial Linux - Java - Raspberry Pi:○ sudo apt-get install librxtx-java

● El poder de cómputo permite considerar el dispositivo como uno de alta

prestaciones para el tipo de aplicaciones que estaremos realizando.

● Una vez en funcionamiento solo hace falta arrancar la aplicación de control.

Raspberry PI & Java

Esquema Raspberry - End Point

ControladorRaspberry PI

Model B

Base Datos(H2)

ArduinoFio

XBee

Temp /Hum

XBee

Ethernet

Aplicación Web

End PointControlador

Nuestra aplicación en Java realiza las siguiente funciones:

● Leemos la información recibida por el puerto serial que nos proporciona el

XBee.

● La información recibida es parseada acorde al protocolo interno y enviada a la

aplicación central.

○ Puede ser almacena en una base de datos interna permitiendo el envío diferido en caso de

problemas de conexión.

● Recibe confirmación de lectura de servidor central.

Controlador

El proceso de integración con aplicación construidas en plataformas de alto nivel, depende de poder enviar la

información desde los dispositivos embebidos al servidor central para su procesamiento, en el cual debemos

utilizar un medio de comunicación y un protocolo para tales fines. En nuestra arquitectura utilizamos las

siguientes tecnologías:

● Grails (Backend)

● Vaadin (Frontend)

● Mysql (motor de persistencia)

Integración Alto Nivel

● Para el intercambio de información utilizamos JSON, enviando sobre el protocolo

HTTP a la aplicación central.

{"startByte":126,"sourceAddressByte64":[0,19,-94,0,64,-75,-94,-17],"tipoTramaXbee":144,"direccion16":"

46:4c","voltaje":3.45,"temperatura":27.81,"sourceAddressByte16":[70,76],"tipoTrama":1,"checkSum":236,"

rawData":[126,0,24,-112,0,19,-94,0,64,-75,-94,-17,70,76,65,64,64,0,1,1,3,45,80,27,81,3,4,-20],"

direccion64":"0:13:a2:0:40:b5:a2:ef","tamanoTrama":24,"dispositivoId":1,"data":

[64,64,0,1,1,3,45,80,27,81,3,4],"humedad":3.04,"receiveOption":65}

Intercambio de información

App Central

App Central

Demo

Demostración del producto final

Sobre

Demo

¿Preguntas?

Demo

Gracias :-D