You are on page 1of 24

MANUALDEUSUARIO

HARDWARE TCP/IPSTACK /
MCEWebServerWIFI
l t i

Telemetray Controlremotoa
t d Eth t
electronics mc

travsdeEthernet.
1
MCEWebServerWIFI HardwareyTCP/IPStack.
INTRODUCCIN
electronics mc
ElMCEWebServeresunaherramientadedesarrolloquesepuedecontrolaratravsde
Internet.Permitemonitorearparmetrosadistancia(comolatemperaturayhumedad
deunasala,laaperturadeunapuerta,lavelocidaddeunrotor,etc).
Adems cuenta con 10 salidas digitales para controlar dispositivos externos. Por Ademscuentacon10salidasdigitalesparacontrolardispositivosexternos.Por
ejemplosepuedeencenderunmotor,activarunaalarma,cerrarunacompuerta,
apagarunaluz,etc.
Elusuariofinalaccedeaunadireccinwebdeltipo(http://)dondepuedecontrolarla
placadesdeunainterfacegrfica.
Estanuevaversinincorporalassiguientescaractersticas:
WIFI:
PermiteconectarelMCEWebServeraunaredWIFI.
dd hi MACAddressChip:
AsignaalaplacaunadireccinMACpregrabadaynica.
HeaderdeExpansinampliado:
Seincorporaron8salidas(incluidounpuertocompletopreconfigurado).Entotalel
headerposee28pinesentreentradasysalidasdigitales,entradasanalgicasysalidas
de fuente defuente.
TestPoints:
Puntosdepruebaparaconectarunafuentedelaboratorio.
Informacinactualizadaonline:
http://www.mcelectronics.com.ar/wifi
electronics mc
2
MCEWebServerWIFI HardwareyTCP/IPStack.
CONEXINALAREDCONCABLES
electronics mc
Seconectadirectamenteaunmodemoaunrouterconuncablecat.5e.recto.
Enestecaso,sehabilitaDHCP(cliente)paraobtenerunadireccinIPautomticamente.
TambinsoportaconexinaPCmedianteuncablecat.5e.cruzado.
Elmicrodebetenercargadoelfirmware:mce_dev.hex
ConexinaPC:ConectaruncableUTP/STPcruzado
alterminarRJ45.
ConexinaRouter:ConectaruncableUTP/STP
rectoalterminarRJ45.
EnelexploradorWebponerhttp://mcewebservero
laIP:169.254.1.1enelcasodeconexindirectaala
PC.SiseutilizaunrouterconDHCPactivo,laIP
apareceeneldisplay.
Informacinactualizadaonline:
http://www.mcelectronics.com.ar/wifi
electronics mc
3
MCEWebServerWIFI HardwareyTCP/IPStack.
CONEXINALAREDWIFI
electronics mc
ElMCEWebServervienepreparadodefbricaparaobtenerunadireccinIPdeunared
Wirelessconlassiguientescaractersticas:
Elmicrodebetenercargadoelfirmware:mce_wifi.hex
Internet RouterWIFI MCEWebServerWIFI
80m
SSID:MCEWebServerAP
Canal:6
Seguridad: NO
E i l l fi i i d d f l l Esimportantequeelroutertengalaconfiguracinantesmencionada,deotraformalaplaca
nosevaaconectar.Sinembargonosiempreesposiblecambiarlasopcionesdeseguridad
deunared.Enlawebcitadaalpiehaytutorialesparacambiarlaconfiguracindelroutery
laconfiguracindelaplaca,paraqueestaseadaptealaredexistente.
EnelexploradorWebingresarahttp://mcewebserverolaIPasignadaporelrouter.
LaPCyelplacadebenestarconectadasalamismaredWIFI.
Tutorialesonline:
http://www.mcelectronics.com.ar/wifi
electronics mc
4
MCEWebServerWIFI HardwareyTCP/IPStack.
CONEXINALAREDWIFI
electronics mc
SinoesposiblecambiarlaconfiguracindelaredparaqueseadaptealMCEWebServer
WIFI,debemosreprogramarelmicroconlosparmetrosdelaredactualyaspodremos
establecerlaconexin.
Para que el MCE WebServer sea visto dentro de la red debe tener el SSID de la red y las ParaqueelMCEWebServerseavistodentrodelared,debetenerelSSIDdelaredylas
mismasopcionesdeseguridad.
EnelsiguienteejemploelMCEWebServerseconectaaunaredWIFIgeneradaporun
routerLinksysconSSID:mobile ySeguridad:WEP64bits
EnprimerlugarejecutamoselMicrochipTCP/IPConfigurationWizard(vertutorialen
videoparamasinformacin)ymodificamoselSSID:MCEWebServerAPpormobile
5
MCEWebServerWIFI HardwareyTCP/IPStack.
CONEXINALAREDWIFI
electronics mc
Ahoradebemoscambiarlasopcionesdeseguridadparaquecoincidanconlasdelared.
EnesteejemploelrouterutilizaseguridadWEPde64bits.Laclaveestcompuestapor
10dgitosenhexadecimal,enestecaso:BFB635FE84
Como se ve en la imagen estamos utilizando la clave 1 (equivale a la clave cero en el Comoseveenlaimagenestamosutilizandolaclave1(equivalealaclaveceroenel
StackdeMicrochip)
6
MCEWebServerWIFI HardwareyTCP/IPStack.
CONEXINALAREDWIFI
electronics mc
DebemosingresarlaclaveBFB635FE84enelMicrochipTCP/IPConfigurationWizardy
seleccionarelndicedeclave0.
Por ltimo compilamos el proyecto en MPLAB y generamos el hex para cargar en el PorltimocompilamoselproyectoenMPLABygeneramosel.hexparacargarenel
micro.EneldisplaydeberaparecerladireccinIPasignadadinmicamenteporel
router.
7
MCEWebServerWIFI HardwareyTCP/IPStack.
CARGARUNNUEVOFIRMWARE
electronics mc
Firmwarehacereferenciaunprogramayacompilado,esdecirunarchivo.hex
Porejemplomce_dev.hexymce_wifi.hex
ParacargarunnuevofirmwarealmicronecesitamosunprogramadorcomoelMCEPDX
USB que sea compatible con ICSP y soporte al PIC18F97J60 Adems vamos a utilizar el USB,queseacompatibleconICSPysoportealPIC18F97J60.Ademsvamosautilizarel
MPLAB8.XdeMicrochip.
UnavezinstaladoelMPLABqueseincluyeenelCD,debemosejecutarloyseleccionarel
programador,eldispositivoautilizareimportarelfirmwarequevamosagrabarenel
micro.
EnelMPLABseleccionamosPICKIT2comoprogramador(siseestutilizandoelMCEPDX
USB).
8
MCEWebServerWIFI HardwareyTCP/IPStack.
CARGARUNNUEVOFIRMWARE
electronics mc
ElsegundopasoesseleccionarelPICaprogramardesde:Configure>SelectDevice.
EnestecasoeselPIC18F97J60.
Porultimoimportamoselarchivo.hexdesdeelmen:File>Import
ElMCEWebServerWIFIincluyedosversiones:
mce_dev.hex Practicaconcabledered.SepuedeconectardirectamenteaunaPC.
mce_wifi.hex PracticaconWIFI,tomalaIPdeunrouterconDHCPhabilitado.
Ambos estn dentro de la carpeta firmware en el CD que acompaa la placa AmbosestndentrodelacarpetafirmwareenelCDqueacompaalaplaca.
Unavezimportadoelfirmware,hacemosclickenelicono:ProgramTargetDevice.
9
MCEWebServerWIFI HardwareyTCP/IPStack.
LAYOUTDECOMPONENTES
WEBDEV2.0 WIFIREADYREV250110
electronics mc
MduloWIFIZeroG ZG2100M
Noobstruirelreacircundantealaantenacon
superficiesmetlicas.
10
MCEWebServerWIFI HardwareyTCP/IPStack.
LAYOUTDECOMPONENTES
WEBDEV2.0 WIFIREADYREV250110
electronics mc
Sensorde
Temperatura
TC1047
ConectorRJ45
MemoriaSPI
RJ11para
ICSP
de1Mbit
25LC1024
MduloWIFI
ZeroG
ZG2100M
RS232
(alaPC)
MAC Add
Headerde
Expansin
MACAddress
Chip
9VDC 500mA
SalidaporRelay
hasta6A
Pulsadores(simulan
entradasdig.)
RJ11paraICSP
(pinout)
TabladeJumpers
JP0
JP1
JP3
JP4
JP5
HabilitaS2(cerrado)
HabilitaS3(cerrado)
Habilitasensortemp.(cerrado)
EnciendeBacklight(cerrado)
Activalosleds(cerrado)
1VPP
2VDD
3GND
4PGD
5PGC
6NC
11
MCEWebServerWIFI HardwareyTCP/IPStack.
MDULOWIFI
ZG2100M
electronics mc
ElmduloWIFIdeZeroGseconectaalPICatravsdelprotocoloSPI(SDO1,SCK1y
SDI1).ParaactivarelmduloypoderconectarlaplacaaunrouterWIFIelmicrodebe
tenercargadoelfirmware:mce_wifi.hex
Informacinactualizadaonline:
http://www.mcelectronics.com.ar/wifi
electronics mc
12
MCEWebServerWIFI HardwareyTCP/IPStack.
NUEVASSALIDASPORRELAY
electronics mc
ElMCEWebServerWIFIcuentacondossalidasporrelayprotegidascondiodosy
controladascontransistores.Seactivanconun1lgicoenRF3oRF4.Lacorriente
mximasoportadaporlaspistasalasalidadecadarelayesde6A
13
MCEWebServerWIFI HardwareyTCP/IPStack.
TCP/IPSTACK INTRODUCCIN
electronics mc
Estaversinmodificadaestbasadaenladistribucinoriginal:MicrochipTCP/IPstack
v4.18.LaideaerahacerlacompatibleconelMCEWebServerparaqueacepte
memoriasde1Mbitcomola25LC1024.
Hay que tener en cuenta que se puede compilar el stack para ser usado en micros que Hayquetenerencuentaquesepuedecompilarelstack paraserusadoenmicrosque
notienencontroladorethernetcomoel18F4620(enestecasohayqueagregarleun
ENC28J60deMicrochip)yparaaquellosquesitraenuncontroladorintegradocomoel
18F97J60.
QUENECESITO?
Paracomenzaratrabajarconelstack necesitasinstalarestosprogramas(incluidosen
elDVD).
MicrochipMPLAB8.4
MicrochipC18StudentEdition.
MicrochipMPFS.
MCETCP/IPStack5.20(IncluyeelWebSite)
TodoslosejemplosdelsitioestncompiladosconelC18paraelPIC18F9J60que
utilizaelMCEWebServer.
DentrodelMCETCP/IPStackabrirlacarpetaTCPIPDemoAppquecontieneelproyecto
TCPIP Demo AppC18 TCPIPDemoApp C18
Esteeselproyectogeneralquecontienelosencabezadosylosarchivos.cdelstack,a
continuacinenumeramoslosarchivosprincipales.
14
MCEWebServerWIFI HardwareyTCP/IPStack.
electronics mc
TCPIPConfig.h
ElarchivoTCPIPConfig.h seutilizaparahabilitarodeshabilitarfuncionesdelstack como
DNS,FTP,SNTP,SSLyUARTdependiendodelascaractersticasdenuestraaplicacinyla
memoriadisponibleenelmicro.Porejemplo,parahabilitarelclienteNTP,debemos
incluirlasentencia:#defineSTACK_USE_SNTP_CLIENT
DentrodeTCPIPConfig.hesposibleespecificarsilapaginawebvaaestarenlamemoria
deprogramaoenlamemoriaEEPROMexterna.
Sielwebsitevaaestaralojadoenlamemoriadeprogramadebemoscomentarla
sentencia:#defineMPFS_USE_EEPROMeincluirelarchivoMPFSImg2.c enelproyecto.
VerMicrochipMPFS.
TambinsepuededefinirladireccinMACatravsdeMY_DEFAULT_MAC_BYTE5 yel
nombredelaplacamedianteMY_DEFAULT_HOST_NAME (ej:http://mcewebserver).
MainDemo.c
EnelarchivoMainDemo.c encontramoselmapeodepuertos,laconfiguracindelos
registrosdelaUSART,losADCylainicializacindelaplaca.PorejemploADCON0=0x0D;//
Lnea1471 ParaseleccionarAN3comoentradaanalgica.
CustomHTTPApp.c
l i l hi i li i b i Porltimo,eltercerarchivoquenecesitamosparaunaaplicacinbsicaes
CustomHTTPApp.c,enelcualseencuentranlasfuncionescallback,esdeciraquellasque
interactanconlapaginaweb.VerFunciones.
15
MCEWebServerWIFI HardwareyTCP/IPStack.
electronics mc
FUNCIONES
Enestaseccinvamosavercomointeractuarconelmicrodesdelapaginaweb.Voya
desarrollarunejemploparamonitorearelestadodeunpuertoyluegolevamosaagregar
controlremoto,esdecir,cambiarelestadodelpuertodesdelainterfaceweb.
Monitoreoadistancia:
Paramonitorearelestadodeunpuertodesdelawebnecesitamoshacertrescosas:
Mapeareinicializarelpuertoenelmicro.(HardwareProfile.h,MainDemo.c)
Crearunafuncincallback.(CustomHTTPApp.c)
Insertar una variable dinmica en la pagina web (status xml index html) Insertarunavariabledinmicaenlapaginaweb.(status.xml,index.html)
LuegocompilamoselsitiowebconMPFS2.exe,compilamoselproyectoconC18desdeel
MPLAByporltimograbamoselfirmwareylawebenlamemoriaexterna.
16
MCEWebServerWIFI HardwareyTCP/IPStack.
electronics mc
HardwareProfile.h
Enestearchivosimplementeasociamosunpuertoconunnombrefcilderecordar,por
ejemplosicolocamosunLEDenRF3(pin22delPIC18F97J60):
#defineLED_TRIS (TRISFbits.TRISF3)
#define LES IO (PORTFbits RF3) #defineLES_IO (PORTFbits.RF3)
MainDemo.c
VamosadefinirRF3comosalidaeinicializarloencero.Esteprocesoestfueradelloop
principal,porloquesolosevaaejecutaralreiniciarelmicro:
staticvoidInitializeBoard(void)
{
LED_TRIS=0;
LED_IO=0;
//Continualainicializacindelosotrospuertos.
}
17
MCEWebServerWIFI HardwareyTCP/IPStack.
electronics mc
CustomHTTPApp.c
Lafuncincallbackcontieneelnombreyelvalordelavariabledinmica(led )quevaaser
mostradaenlaweb.
Unerrormuycomnesenviardirectamentealbufferethernetelestadodelledmediantela
variable int LED IO variableintLED_IO.
HayquetenerencuentaqueSOLOSEPUEDENENVIARSTRINGSPORETHERNET,porloque
ennumerosasocasionesusamositoaoftoaparaconvertirlostiposdedato.
ROMBYTEESTADO_LED_UP[]=ON";
ROMBYTEESTADO_LED_DOWN[]=OFF";
voidHTTPPrint_led(void)
{
TCPPutROMString(sktHTTP,(LED_IO?ESTADO_LED_UP:ESTADO_LED_DOWN));
}
Enestecaso,enlugardeusarlosconversoresdetipo,creamosdosvariablesauxiliares
ESTADO_LED_UPyESTADO_LED_DOWNparamostrarelestadodelledmedianteON,OFF.
status,index.html
Hayqueincluirenelsitioweblavariabledinmicaled,paraestovamosamodificar
status.xmleindex.html:
status.xmlcontienetodaslasvariablesdinmicasqueseactualizan(leds,temperaturay
pulsadores) pulsadores).
Agregamoslalneacorrespondientealanuevavariabledinmica:
<led>~led~</led>
18
MCEWebServerWIFI HardwareyTCP/IPStack.
electronics mc
status,index.html(cont.)
Entre<>seindicaelnombredeldivisorquesevaautilizarenelindex paradefinirla
posicindelavariable.
Index.htmlfinalmenteeselarchivoqueveelusuariofinal.Dondeaparezca<led>el
webserver lo va a reemplazar con ON OFF segn el valor de LED IO webserver lovaareemplazarconON,OFFsegnelvalordeLED_IO.
<spanid=led">?</span>&nbsp;
EsimportantedetacarqueesteejemploutilizaAJAXparaactualizarlainformacinsintener
queapretarF5enelexplorador.Porlotantodebemosagregarlasiguientesentenciaalfinal
del index: delindex:
document.getElementById(led').innerHTML=getXMLValue(xmlData,led');
19
MCEWebServerWIFI HardwareyTCP/IPStack.
electronics mc
MPFS
MicrochipPICFileSystemeselsistemadearchivosqueutilizaelmicroparaleerlapagina
web.Unavezquetenemosnuestrosite terminadoconlosarchivoshtml,jpg ogif
debemosconvertirlosalsistemaMPFSparaluego,podercargarlosenelmicro.
LaaplicacinMPFS.execonvierteelconjuntodearchivosquecomponenlapaginaweba
dosformatosposibles:
.bin (paracargarelwebsite enlamemoriaEEPROMexterna)
.c(paracargarelwebsite enlamemoriadeprograma)
Esimportantetenerencuentaquealagregaroquitarvariablesdenuestraweb,se
difi l hi HTTPP i t h l h l il l t t d modificaelarchivoHTTPPrint.h porloquehayquevolveracompilarelproyectoantesde
cargarlaaplicacinenelmicro.
20
MCEWebServerWIFI HardwareyTCP/IPStack.
electronics mc
MPFSUPLOAD
Haydosformasdealmacenarlapaginaweb:
1 EnlaEEPROM,mediantempfsupload.Paraestoejecutamosenelexploradorde
internet:http://mcewebserver/mpfsuploadobienhttp://169.254.1.1/mpfsuploady
l hi MPFSI 2 bi d i t MPFS cargamoselarchivoMPFSImg2.bingeneradopreviamenteconMPFS.exe
2 Enlamemoriadeprograma,paraestonecesitamoscompilartodoelproyecto
nuevamente(amenosquetengamosunbootloader).
DebemosincluirenelproyectoelarchivoMPFSImg2.cgeneradoconMPFS.exeycomentar
lasentencia#defineMPFS_USE_EEPROMenelarchivo TCPIPConfig.h.
DeestaformaestaramospresidiendodelamemoriaEEPROMexternaconelconsecuente
ahorrodedineroyespaciofsicoenlaplaca.Sinembargosloesposibleconpaginasweb
pequeasyaquelamemoriadeprogramadel18F97J60quedaprcticamentecompleta
contodaslasfuncionesdelstack habilitadas.
21
MCEWebServerWIFI HardwareyTCP/IPStack.
electronics mc
SMTP
ParapoderenviaremailsdesdeelMCEWebServerdebemoshabilitarelclienteSMTP,
dejandodecomentarlasentenciaSTACK_USE_SMTP_CLIENT enelarchivoTCPIPConfig.h.
Elprocesosepuedeinvocarencualquiermomento,porejemplosisubelatemperatura,sise
presiona un pulsador etc El mail del ejemplo enva el estado de todas las variables a la presionaunpulsador,etc.Elmaildelejemploenvaelestadodetodaslasvariablesala
direccinqueseespecifique.
Antes de intentar enviar un mail con la funcin SMTPSendMail() debemos verificar si no hay AntesdeintentarenviarunmailconlafuncinSMTPSendMail()debemosverificarsinohay
otromailenproceso,paraesoutilizamosenprimertrminoSMTPBeginUsage()comoindica
eldiagrama.
Sinuestroservidordecorreosalienterequiereautorizacin,utilizamosSMTPClient.Server,
SMTPClient.Username ySMTPClient.Passwordparasetearlosparmetros.
22
MCEWebServerWIFI HardwareyTCP/IPStack.
electronics mc
SMTP(cont.)
PorultimoincluimosloscamposDe,Para,AsuntoyMensajeantesdellamara
SMTPSendMail().
Ejemplo completo: Ejemplocompleto:
if(SMTPBeginUsage())
{
staticBYTERAMStringTo[]="soporte@mcelectronics.com.ar";
staticBYTERAMStringBody[]="MensajegeneradoporelMCEWebServer"VERSION"
\r\n\r\nBotones: "; \r\n\r\nBotones: ;
RAMStringBody[sizeof(RAMStringBody)2]='0'+BUTTON0_IO;
RAMStringBody[sizeof(RAMStringBody)3]='0'+BUTTON1_IO;
RAMStringBody[sizeof(RAMStringBody)4]='0'+BUTTON2_IO;
RAMStringBody[sizeof(RAMStringBody)5]='0'+BUTTON3_IO;
SMTPClient.Server.szROM=(ROMBYTE*)"mail.mcelectronics.com.ar";
SMTPClient.ROMPointers.Server=1;
SMTPClient.Username.szROM=(ROMBYTE*)"info@mcelectronics.com.ar";
SMTPClient.ROMPointers.Username=1;
SMTPClient.Password.szROM=(ROMBYTE*)"123456";
SMTPClient.ROMPointers.Password=1;
SMTPClient.To.szRAM=RAMStringTo;
\ \ SMTPClient.From.szROM=(ROMBYTE*)"\"SMTPService\"<info@mcelectronics.com.ar>";
SMTPClient.ROMPointers.From=1;
SMTPClient.Subject.szROM=(ROMBYTE*)"Mensajedeprueba";
SMTPClient.ROMPointers.Subject=1;
SMTPClient.Body.szRAM=RAMStringBody;
SMTPSendMail();
MailState++; MailState++;
}
23
MCEWebServerWIFI HardwareyTCP/IPStack.
electronics mc

Impresoenpapelreciclado.
BuenosAires Argentina
Febrero2010
MCEWebServer WIFI
l
Austria1760 OF8
CiudaddeBuenosAires(1425).
BA.Argentina.
(011)60914922/4581
l ManualREV:250210H
Impreso
MCE250210H
www.mcelectronics.com.ar
info@mcelectronics.com.ar
24
MCEWebServerWIFI HardwareyTCP/IPStack.

You might also like