48
INTERNET OF THINGS TELEMETRÍA Y CONTROL REMOTO A TRAVÉS DE WI-FI UTILIZANDO EL STACK TCP/IP DE MICROCHIP. Ing. Alejandro Airoldi Ing. Fernando Tagliaferri electronics mc mcelectronics.com.ar ©2014. Todos los derechos reservados.

Clase Wifi 2014

Embed Size (px)

DESCRIPTION

wifi

Citation preview

Page 1: Clase Wifi 2014

INTERNET OF THINGS

TELEMETRÍA Y CONTROL REMOTO A TRAVÉS DE WI-FI UTILIZANDO EL STACK TCP/IP DE MICROCHIP.Ing. Alejandro AiroldiIng. Fernando Tagliaferri

electronicsmc

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Page 2: Clase Wifi 2014

Introducción

Ya sea que la llamemos la nube o “the cloud” todos sabemos que tener nuestros productos on-line es, día a día, una necesidad más importante.

En esta clase se explicarán los principales conceptos y consideraciones necesarios para que nuestros productos y aplicaciones estén en la nube.

Durante la clase se usará una placa de demostración especialmente diseñada para esta aplicación y se presentarán diferentes servicios como Ubidots y Amazon Web Services para alojar la información en la nube.

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Page 3: Clase Wifi 2014

Agenda

Introducción y Diagrama en bloques del sistema Funciones principales y algunas aplicaciones Conexión de los dispositivos Portabilidad a través de las diferentes plataformas

Módulo WI-FI MRF24WX0MAIntroducción y diseño del hardware

Consideraciones importantes de montaje

Otros dispositivos

Sensor de temperatura Regulador LDO, MCP2200 y cargador de batería

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Page 4: Clase Wifi 2014

Conexión e interface de usuario Paradigmas de diseño actuales Servicios disponibles

Regulaciones y buenas prácticas Entes de control nacionales e internacionales

Diseño eficiente del packaging

Ejemplos y AplicacionesEstablecer la conexión a la redWeb Server embebidoCloud Computing

Agenda

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Page 5: Clase Wifi 2014

Para que sirve ?

Sirve para realizar telemetría y control remoto a través de Internet. Podemos, por ejemplo, monitorear la temperatura, presión, intensidad de corriente o cualquier otra magnitud a través de una interface web.

Esta interface web puede ser almacenada dentro del sistema (microcontrolador + memoria) o bien puede estar en la nube.

Es posible acceder a la información desde cualquier terminal conectado a internet, sea este una tablet, un teléfono celular o una computadora.

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Page 6: Clase Wifi 2014

Dimensiones

(+) Comparación de tamaño con un teléfono celular.

40 mm

80 m

m

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Page 7: Clase Wifi 2014

C

25LC1024

FUENTE Y

BATERIA

WI-FI

USB

PPulsador de pánico

Cargador de batería

MCP2200

Sensor de temperatura

Diagrama en bloques

mcelectronics.com.ar ©2014. Todos los derechos reservados.

TPIC32MX360

Conexión PC

3.3v

Page 8: Clase Wifi 2014

Opciones de conexión

mcelectronics.com.ar ©2014. Todos los derechos reservados.

PIC18F97J60

PIC18F97J60RJ-45

TX+TX-RX+RX-

3.3V

25 MHzXTAL

TC1262-3.3

VIN6V

GND Vout3.3V

LDO (200mV)

Page 9: Clase Wifi 2014

Opciones de conexión

mcelectronics.com.ar ©2014. Todos los derechos reservados.

PIC18F4620 + ENC28J60

RJ-45

TX+TX-RX+RX-

5V

25 MHzXTAL

ENC

28J6

0

PIC

18F4

620

10 MHzXTAL

SPI

Page 10: Clase Wifi 2014

Opciones de conexión

mcelectronics.com.ar ©2014. Todos los derechos reservados.

PIC32MX360F512L + ENC624J600

RJ-45

TX+TX-RX+RX-

25 MHzXTALPIC

18F4

620

8 MHzXTAL

SPIENC624J600

PIC32MX360F512L

3.3V

TC1262-3.3

VIN6V

GND Vout3.3V

LDO (200mV)

Page 11: Clase Wifi 2014

Opciones de conexión

mcelectronics.com.ar ©2014. Todos los derechos reservados.

PIC32MX360F512L + MRF

PIC

18F4

620

8 MHzXTAL

SPIMRF24W

PIC32MX360F512L

3.3V

TC1262-3.3

VIN6V

GND Vout3.3V

LDO (200mV)

MRF24WB0MA/BMRF24WG0MA/B

Page 12: Clase Wifi 2014

Módulo WI-FI MRF24WX0MA

Page 13: Clase Wifi 2014

MRF24WX0MA

mcelectronics.com.ar ©2014. Todos los derechos reservados.

MRF24WB0MBMRF24WG0MB

MRF24WB0MAMRF24WG0MA

2.8V to 3.6V (3.3V typical)40°C to +85°CSimple, four-wire SPI interfaceRX mode - 156 mA (typical)TX mode - 240 mA (+18 dBm typical)ISM Band 2.400 to 2.484 GHz operationChannels 1-11

Page 14: Clase Wifi 2014

MRF24WX0MA

mcelectronics.com.ar ©2014. Todos los derechos reservados.

MRF24WB0MAMRF24WG0MA

Page 15: Clase Wifi 2014

MRF24WX0MA

mcelectronics.com.ar ©2014. Todos los derechos reservados.

SDI

GND

3.3V

SCKSDO

CS

SPI

MRF24WB0MAMRF24WG0MA

Page 16: Clase Wifi 2014

Consideraciones Importantes de diseño

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Page 17: Clase Wifi 2014

MRF24WX0MA

mcelectronics.com.ar ©2014. Todos los derechos reservados.

MRF

PCB

NO COMPONENTES

Es importante respetar el área libre de componentes y evitar conexiones debajo de la antena.

28 mm

19,5 mm

Page 18: Clase Wifi 2014

mcelectronics.com.ar ©2014. Todos los derechos reservados.

MRF24WX0MA

Patrón de radiación del módulo con respecto a sus dimensiones.

Page 19: Clase Wifi 2014

Otros dispositivosSensor de temperatura, regulador LDO, MCP2200 y cargador de batería.

Page 20: Clase Wifi 2014

Dispositivos analógicos de Microchip

TC1262-3.3 Regulador de tensión de 3.3v - 500 mA. Mínima tensión de entrada

VIN = 3.5 v @ 300mA. Muy importante cuando se utiliza en sistemas con batería.

MCP73838 Cargador para baterías de Li-ion de una celda. Incluye censado de

corriente y protección contra descarga inversa.

TC1047 Sensor de temperatura analógico. 10mV/C.

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Page 21: Clase Wifi 2014

Diagrama en bloques

TC1262-3.3

ANALOG

Cargador de batería: puede cargar la batería mientras se alimenta el resto del circuito. TC1047

3.3v

3.3v

Sensor de temperatura analógico 10mV/C

VBAT

VIN

MCP73838

VBAT

PIC32MX

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Page 22: Clase Wifi 2014

Diagrama en bloques

TC1262-3.3

ANALOGTC1047

3.3v

3.3v

Sensor de temperatura analógico 10mV/C

VBAT

mcelectronics.com.ar ©2014. Todos los derechos reservados.

PIC32MX

TX

RX

D-D+

Conversor RS232 TTL a USB. Requiere XTAL externo de 12 MHz.

USART1

MCP2200

USB

Page 23: Clase Wifi 2014

Módulo SIM908 Funciones GPS

Conexión e interface de usuarioParadigmas de diseño actualesServicios disponibles

Page 24: Clase Wifi 2014

Paradigmas de diseño actuales

mcelectronics.com.ar ©2014. Todos los derechos reservados.

PIC

18F4

620

PIC32MX360F512L

INTERFACE DE USUARIO

PIC

18F4

620

PIC32MX360F512L

INTERFACE DE USUARIO

SISTEMA EMBEBIDO SISTEMA EMBEBIDO

Page 25: Clase Wifi 2014

Paradigmas de diseño actuales

mcelectronics.com.ar ©2014. Todos los derechos reservados.

INTERNET

ROUTER

PC

181.28.150.210

192.168.1.100

RED PRIVADA

aws.amazon.com

SmartStick WIFI

Page 26: Clase Wifi 2014

Regulaciones y buenas prácticasEl diseño no termina en el hardware y el software sino que debe contemplar normas internacionales y buenas prácticas.

Page 27: Clase Wifi 2014

Al momento de considerar exportar un producto electrónicodebemos tener en cuenta una serie de normas internacionales.Estas normas tienen como objetivo reducir el uso de sustanciaspeligrosas y tener un control sobre la emisión electromagnética.

Directiva ROHS:

La directiva 2002/95/CE de Restricción de ciertas SustanciasPeligrosas en aparatos eléctricos y electrónicos, (RoHS del inglés"Restriction of Hazardous Substances"), fue adoptada en febrero de2003 por la Union Europea. Esta norma obliga a reducir el uso de lassiguientes sustancias:

PlomoMercurioCadmioCromo VI (También conocido como cromo hexavalente)PBBPBDE

mcelectronics.com.ar ©2014. Todos los derechos reservados.

REGULACIONES Y BUENAS PRÁCTICAS

Regulaciones y buenas prácticasROHS

Page 28: Clase Wifi 2014

La FCC es la Comisión Federal de Comunicaciones de los Estados Unidos. Unode sus objetivos es controlar y certificar los dispositivos electrónicos que haganuso del espectro radioeléctrico.

En este caso la placa Smart Stick utiliza la red WI-FI con lo cual el módulo decomunicaciones utilizado debe estar previamente certificado por la FCC. Elfabricante de este módulo es Microchip, con lo cual en la planilla deexportación de Fedex debemos aclarar que el módulo utilizado tiene sucorrespondiente FCC-ID y que no ha sido alterado su funcionamiento. Deotra forma el producto no es aceptado en la aduana de Estados Unidos.

Algo similar ocurre a nivel local, el órganocontralor es la CNC (Comisión Nacional deComunicaciones), en este caso el trámite deregistro lo debe hacer quien importe el móduloal país.

REGULACIONES Y BUENAS PRÁCTICAS

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Regulaciones y buenas prácticasFCC

Page 29: Clase Wifi 2014

Como premisa el packaging debe proteger al productoen su interior. En este caso la protección no sólo esmecánica sino que también es estática.

Protección estática

Todas las placas se envían dentro de una bolsa antiestática y anti humedad paraevitar daños eléctricos durante la manipulación al sacarlas de la caja.

Protección mecánica

En este caso se pensó el tamaño de la caja para que entre un número entero deellas en un contenedor de FedEx. La caja debe indicar su contenido y elcorrespondiente FCC-ID.

Diseño eficiente y racional

Por otro lado es fundamental incluir manuales, notas de aplicación y ejemplosque ayuden a entender el funcionamiento de la placa. Esto ahorrará muchashoras de soporte humano.

REGULACIONES Y BUENAS PRÁCTICAS

Regulaciones y buenas prácticasPACK

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Page 30: Clase Wifi 2014

PAC

K

mcelectronics.com.ar ©2014. Todos los derechos reservados.

REGULACIONES Y BUENAS PRÁCTICAS

Regulaciones y buenas prácticasPACK

Page 31: Clase Wifi 2014

Ejemplos y Aplicaciones La idea de esta sección es hacer una descripción de las funciones principales y las posibles aplicaciones de la placa. Todos los ejemplos están programados en C para el XC32 de Microchip.

Page 32: Clase Wifi 2014

Ejemplos y AplicacionesQue necesitamos ?Para realizar las prácticas necesitamos una placa SmartStick WI-FI o WebServer Plus WI-FI. Una red con conexión wireless disponible y un cable USB para realizar debugging desde la PC (en la PC debe estar instalado el driver de la placa y el HyperTerminal o similar). Puede reprogramar el firmware con un programador MCE Smart Stick Lite o compatible.

miniUSB

Se utiliza para cargar la batería y comunicarse con el PIC a través del

MCP2200. Se puede realizar debugging por medio de un COM Virtual.

mcelectronics.com.ar ©2014. Todos los derechos reservados.SmartStick WI-FI MCE Stick USB Lite

Page 33: Clase Wifi 2014

Software de Microchip

mcelectronics.com.ar ©2014. Todos los derechos reservados.

MPLAB Xwww.microchip.com/mplab

Compilador XC32www.microchip.com/xc32

MLA (Ethernet)www.microchip.com/mla

Page 34: Clase Wifi 2014

Microchip TCP-IP Stack

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Page 35: Clase Wifi 2014

Microchip TCP-IP Stack

mcelectronics.com.ar ©2014. Todos los derechos reservados.

Maindemo.c

TCPIPConfig.h

CustomHTTPApp.c

GenericTCPClient.c

Page 36: Clase Wifi 2014

Conexión a la red

mcelectronics.com.ar ©2014. Todos los derechos reservados.

TCPIPConfig.hSeleccionamos los servicios del Stack y el tipo de conexión a la red. En el caso de WI-FI se debe definir el SSID y las credenciales de acceso.

1

Page 37: Clase Wifi 2014

WebServer Embebido

mcelectronics.com.ar ©2014. Todos los derechos reservados.

VARIABLES DINÁMICAS

webPIC

TCP STACK

HTTPPrint.h

Funciones CallbackCustomHTTPApp.c

void HTTPPrint_HOSTNAME (void){

TCPPutString(sktHTTP, variable)}

Variables dinámicas

nombre~ HOSTNAME ~

CustomHTTPApp.c

2

Page 38: Clase Wifi 2014

WebServer Embebido

mcelectronics.com.ar ©2014. Todos los derechos reservados.

2

.html

.jpg

.gif

.css

.fla

web

MPFS Eeprom?SI

.BIN

NO

.C

MPLAB

C:\Microchip Solutions\Microchip\TCPIP Stack\Utilities\MPFS2.jar

Page 39: Clase Wifi 2014

WebServer Embebido

mcelectronics.com.ar ©2014. Todos los derechos reservados.

2

MPFSGenera la imagen del sitio en .bin, .c o .asm dependiendo del dispositivo de destino.

Page 40: Clase Wifi 2014

Pasos fundamentales

mcelectronics.com.ar ©2014. Todos los derechos reservados.

1 - Modificar el Stack (MPLAB)2 - Modificar la web (notepad)3 - Compilar la web (MPFS)4 - Compilar el stack (MPLAB X+XC32)5 - Cargar el .hex en el PIC6 - Cargar la web (mpfsupload)

2

Page 41: Clase Wifi 2014

Cloud Computing

mcelectronics.com.ar ©2014. Todos los derechos reservados.

3

Page 42: Clase Wifi 2014

Cloud Computing

mcelectronics.com.ar ©2014. Todos los derechos reservados.

3

GenericTCPClient.c// Defines the server to be accessed for this applicationstatic BYTE ServerName[] = "www.mcelectronics.com.ar";

// Defines the URL to be requested by this HTTP clientstatic ROM BYTE RemoteURL[] = “/script.php?temp=10";

/script.php?variable=valor

TCP/IPSTACK

Page 43: Clase Wifi 2014

Cloud Computing

mcelectronics.com.ar ©2014. Todos los derechos reservados.

3

SERVIDOR REMOTO

script.php<?php

$dbhost = 'localhost';$dbuser = 'mceweb';$dbpass = ‘123456'; // NOTA: Reemplace password

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Ocurrió un error al conectarse al servidor mysql');

$dbname = 'mceweb_test';mysql_select_db($dbname);

$sql = 'INSERT INTO web'.'(temp) '.'VALUES ('.$_GET["temp"].')';mysql_select_db('mceweb_test');

$retval = mysql_query( $sql, $conn );

mysql_close($conn);

echo $_GET["temp"];

?>

Page 44: Clase Wifi 2014

Ubidots

mcelectronics.com.ar ©2014. Todos los derechos reservados.

3

Page 45: Clase Wifi 2014

Ubidots

mcelectronics.com.ar ©2014. Todos los derechos reservados.

3

http://translate.ubidots.com/api/postvalue/?token=0MiJaxYS6ikWwlnTkKjQC7cc0bR2gl&variable=53f6959b76254261753155fb&value=30

ID de la variable Variable

Token

Page 46: Clase Wifi 2014

Control con GET

mcelectronics.com.ar ©2014. Todos los derechos reservados.

BONUS

CustomHTTPApp.c

HTTP_IO_RESULT HTTPExecuteGet(void){

BYTE *ptr;BYTE filename[20];MPFSGetFilename(curHTTP.file, filename, 20);if(!memcmppgm2ram(filename, "lights.htm",10)){

ptr = HTTPGetROMArg(curHTTP.data, (ROM BYTE*) "lights");if(ptr)

LED4_IO = (*ptr==’1’);}

return HTTP_IO_DONE;}

#if defined(HTTP_USE_POST)

Page 47: Clase Wifi 2014

Envío de e-mails

mcelectronics.com.ar ©2014. Todos los derechos reservados.

BONUS

SMTPBeginUsage()

Setear los parametros del mensaje

Setear Headers del mensaje

Escribir el mensaje

SMTPSendMail()

SMTPisBusy()

NOSMTPEndUsa

ge()

done

Page 48: Clase Wifi 2014

Consultas

mcelectronics.com.ar ©2014. Todos los derechos reservados.

[email protected]

The Microchip name and logo, the Microchip logo, dsPIC, FlashFlex, KEELOQ, KEELOQ logo, MPLAB, PIC, PICmicro, PICSTART, PIC32 logo, rfPIC, SST, SST Logo, SuperFlash and UNI/O are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries. All other trademarks mentioned herein are property of their respective companies.