Autor Tema: Esp8266 + Android  (Leído 9767 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Esp8266 + Android
« en: 22 de Noviembre de 2015, 14:21:07 »
hola a todos.un dia me pase por este tema: http://www.todopic.com.ar/foros/index.php?topic=43690.0 y me enamore de ese circuito.

pues me puse manos a la obra y empeze a experimentar con el.asi que en este tema me centrare en la configuracion y uso del ESP8266 con una tablet
con sistema operativo android.

para poder experimentar.he realizado una app para practicar con el modulo wi-fi y entender las diferentes configuraciones que pueden
realizarse con este.esta es la aplicacion:





para conectar el ESP8266 a la tablet usaremos esto:




un adaptador USB-TTL puenteado a 3.3v y conectar este al ESP8266.
tambien necesitaremos un adaptador OTG.
para la conecxion a la tablet.

El uso de la app es muy simple.lo primero que tenemos que hacer es conectar el ESP8266 a la tablet.se nos abrira una ventana para abrir la app
con el dispositivo USB encontrado.

luego iremos al menu de la aplicacion.que son los tres puntitos de la esquina superior derecha.
ahi tendremos tres opciones.Device,Opciones y Salir.

primero entraremos a Opciones para configurar la velocidad de transmision.por norma general es 115200bps.

y luego en Device.alli nos debera aparecer el dispositivo USB-TTL y lo seleccionaremos.automaticamente nos aparecera en la pantalla principal
el estado de conexion.cuando terminemos con la aplicacion es recomendable usar la opcion Salir.asi no se quedara la aplicacion ejecutandose
en segundo plano.

una vez conectados al conversor USB-TTL enviaremos ya podremos enviar/recibir comandos y datos del ESP8266.para ello la aplicacion tiene como
unas flechitas a la izquierda.de estas emerge una lista desplegable donde seleccionaremos el comando a enviar.tambien hay unos cuadros a su derecha
para introducir los datos de esos comandos.y finalmente unos botones que al hacer click envia la trama de completa de comandos y datos.
estos son enviados tal cual.como caracteres ascii.junto con un (CR LF).


tambien he incluido unos botones Mem0 a Mem7.donde podremos memorizar y recuperar todo los comandos que escribamos.su funcionamiento es sencillo.
cuando queramos grabar los comandos de toda la pantalla.haremos un click largo en el boton donde queramos que se guarde.y si queremos restaurar
los valores,sera con un click corto.



para que entendamos el funcionamiento del ESp8266.en la aplicacion he dispuesto una ventana donde solo se visualizan los datos que se reciben
desde el ESP8266.
lo unico que no se recibe.son las lineas que he dispuesto para separar las diferentes respuestas de cada comando que hayamos enviado.
al recibir caracteres ascii.hay datos que no se visualizan como los retornos u otros caracteres especiales.

no he querido visualizar los comandos que se enbian. porque de por si cuando enviamos un comando este es el primero que se nos debuelve en la respuesta.
ademas los comandos que se enbian son los que tenemos escritos mas (CR LF) intro. en hexagesimal 0x0d 0x0a .
tambien en ascii (\r \n)


respecto a la compatibilidad entre las diferentes pantallas que tienen las tablets.aunque usemos una tablet con una pantalla de 7" no quiere decir
que la aplicacion se vea como se ve en la imagen anterior.dentro de mis conocimientos de android.he intentado adaptarla a dos tipos de pantalla.

1024x600 y 800x600.pero tambien esta los dpi.que hacen variar el formato.asi que puede que la aplicacion no se adapte del todo bien a todas las tablets.
ademas debeis de seleccionar el tamaño de las fuentes en pequeno.dentro de la configuracion de pantalla en la tablet.


yo en mi caso he adquirido esta tablet por 37€. http://www.ebay.es/itm/221866220099?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

esta muy bien por ese precio.y tiene una pantalla con bastante resolucion.suficiente para nuestras aplicaciones.lo unico que tenemos
que hacer es instalar el driver usb en el PC y a  funcionar.


os pongo el enlace de la aplicacion para quien quiera descargarla.y si tiene algun bug.ya me contareis.

Esp8266config.apk

la clave es groundman.no sabia como hacer la compilacion sin clave.igual hera poniendola en blanco.






Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Esp8266 + Android
« Respuesta #1 en: 22 de Noviembre de 2015, 15:02:39 »
bueno.quiero empezar con las primeras practicas.para ello vamos a usar hercules para crear un servidor y un cliente UDP.para familiarizarnos
con este programa.

primero tenemos que saber la IP de nuestro PC.asi que ejecutaremos CMD en windows y teclearemos ipconfig/all
cuando tengamos la ip.la introduciremos en el hercules.

los puertos da igual cual pongamos.pero deben de estar invertidos.


Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Esp8266 + Android
« Respuesta #2 en: 22 de Noviembre de 2015, 15:17:44 »
esta es la lista de comandos que ido confeccionando.aunque creo que hay mas.

IMPORTANTE: en todos los comandos se usa CR LF(intro) para ejecutarlos. a no ser que se indique lo contrario.

COMANDOS AT DEL ESP8266

Comandos basicos
AT
AT+RST
AT+GMR
AT+GSLP
ATE

Comandos WI-FI
AT+CWMODE
AT+CWJAP
AT+CWLAP
AT+CWQAP
AT+CWSAP
AT+CWLIF
AT+CWDHCP
AT+CIPSTMAC
AT+CIPAPMAC
AT+CIPSTA
AT+CIPAP

Comandos TCPIP
AT+CIPSTATUS
AT+CIPSTART
AT+CIPSEND
AT+CIPCLOSE
AT+CIFSR
AT+CIPMUX
AT+CIPSERVER
AT+CIPMODE
AT+CIPSTO
AT+CIPUPDATE
+IPD



Comandos Basicos

AT               : comprueba comunicacion
AT+RST               : reset
AT+GMR               : muestra firmware


Comandos WI-FI
_____________________________________________________________________________
.AT+CWMODE?            : consulta del modo
.AT+CWMODE=1              : modo STA(estacion)
.AT+CWMODE=2              : modo AP(punto de acceso)
.AT+CWMODE=3              : ambos
_____________________________________________________________________________

.AT+CWJAP?            :consultar nombre de la red y clave
AT+CWJAP="SSID","Password"      :configura nombre y clave
_________________________________________________________________________________
AT+CWLAP            :ver lista de APs disponibles  respuesta= enc(encriptacion),ssid(nombre),rssi(nivel de señal),mac
AT+CWLAP=ssid,mac,ch         :ver AP especifico.
               "solo funciona en modo STA o STA+AP"
___________________________________________________________________________________
AT+CWQAP            :salir del modo AP-  desconectar AP

______________________________________________________________________________________-
AT+ CWSAP?            :consulta parametros de nuestro punto de acceso; nombre,contraseña,canal,encriptado
AT+ CWSAP= <ssid>,<pwd>,<chl>, <ecn>   :cambio de nombre,clave,canal,codificacion   ejem.( "AI-THINKER_A3967B","",1,0 )  sin clave

pwd: string, MAX: 64 bytes

enc=
0 OPEN
1 wep
2 WPA_PSK
3 WPA2_PSK
4 WPA_WPA2_PSK
_________________________________________________________________________________________
AT+CWLIF            :Obtener ip y mac de estaciones que están conectadas al ESP8266 solo como PA
______________________________________________________________________________________
AT+CWDHCP=mode,en

mode
0 : set ESP8266 softAP
1 : set ESP8266 station
2 : set both softAP and station
en
0 : Enable DHCP
1 : Disable DHCP
_______________________________________________________________________________________________________



AT+CIPSTART=?
si (CIPMUX=0) AT+CIPSTART = <type>,<addr>,<port>
si (CIPMUX=1) AT+CIPSTART = <id><type>,<addr>, <port>   :id = 0-4, type = TCP/UDP, addr = IP address, port= port

ejem.AT+CIPSTART="TCP","74.124.194.252",8080

AT+CIPMUX?            :consulta tipo conexion
AT+CIPMUX=0            :conexion simple
AT+CIPMUX=1            :conexion multiple
______________________________________________________________________________________________________________

AT+CWLIF            :Check join devices' IP
_____________________________________________________________________________________________________

AT+CIPSTAMAC?            :consulta mac del dispositivo modo estacion

AT+CIPSTAMAC="xx:xx:xx:xx:xx:xx"   :configurar mac del dispositivo modo estacion
_______________________________________________________________________________________________________         
AT+CIPAPMAC?            :consulta mac del esp8266 modo softAP

AT+CIPAPMAC="XX:XX:XX:XX:XX:XX"      :configurar mac del esp8266 modo softAP
_______________________________________________________________________________________________________
AT+CIPSTA?            :consulta ip del esp8266 en modo estacion(CLIENTE)

AT+CIPSTA="192.168.101.108"      :configura ip del esp8266 en modo estacion
________________________________________________________________________________________________________
AT+CIPAP?            :consulta ip del esp8266 mopdo softAP         :responde con ip,gateway,netmask

AT+CIPAP="192.168.4.1"         :configura ip del esp8266 modo softAP
_______________________________________________________________________________________________________




______________________________________________________________________________________________________________________________
Comandos TCPIP

AT+CIPSTATUS            :respuesta tipo de estado
               2: IP obtenida
               3: conectado
               4: desconectado

               id:(0-4)
               type:TCP o UDP
               addr:string, IP address.
               port: numero de puerto
               tetype:0= ESP8266 funcionando como cliente , 1= ESP8266 funcionando como servidor
_____________________________________________________________________________________________________________________________
AT+CIPSTART=type,addr,port      :start conexion como cliente (conexion simple)   
AT+CIPSTART=id,type,addr,port      :start conexion como cliente (conexion multiple)
               
               id: 0-4, identidad de conexion
               type:TCP o UDP
               addr:string, IP remota
               port:string, puerto remoto
______________________________________________________________________________________________________________________________
AT+CIPSEND=length         :indicar cantidad de bytes a enviar.(conexion simple) maximo 2048 bytes
AT+CIPSEND=id,length         :indicar cantidad de bytes a enviar.(conexion multiple) maximo 2048 bytes

AT+CIPSEND            :envio de datos


si (CIPMUX=0) AT+CIPSEND=<length>;   :envio de datos
si (CIPMUX=1) AT+CIPSEND= <id>,<length>   :envio de datos a una identidad determinada
______________________________________________________________________________________________________________________________

AT+CIPCLOSE=<id>          :cerrar conexion de un dispositivo determinado.(si indicamos 5,se cierran todas las conexiones)
AT+CIPCLOSE            :cerrar conexion
_______________________________________________________________________________________________________________________________

AT+CIFSR            :consulta la IP local y MAC

_______________________________________________________________________________________________________________________________

AT+CIPMUX=mode            :mode=0 conexion simple
               :mode=1 conexion multiple
               
               :solo se puede cambiar el modo si las conexiones son cerradas e reiniciando
_______________________________________________________________________________________________________________________________

               para crear el servidor,CIPMUX debe de estar a 1
                  
AT+CIPSERVER= 0,port         :eliminar servidor
AT+CIPSERVER= 1,port         :crear servidor
               :port=puerto a crear (333 por defecto)
               
               
____________________________________________________________________________________________________________________________________

AT+CIPMODE=mode            :0= modo normal
               :1= modo transparente
_______________________________________________________________________________________________________________________________________

AT+CIPSTO?            :consultar timeout
AT+CIPSTO=<time>         :configurar timeout de  (0 a 7200 segundos)
_________________________________________________________________________________________________________________________________________-

AT+CIUPDATE            :respuesta
               1:servidor encontrado
               2:conectado al servidor
               3:edicion obtenida
               4:ejecutar actualizacion
___________________________________________________________________________________________________________________________________________

+IPD,n               :respuesta para conexion simple
               +IPD len:data            len=longitud de datos. data=datos recibidos.
               
               :respuesta para conexion multiple
               +IPD id,len:data         id=identidad.
_____________________________________________________________________________________________________________________________________________

AT+IPR=Baud            :configurar baudrate
« Última modificación: 22 de Noviembre de 2015, 19:38:22 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Esp8266 + Android
« Respuesta #3 en: 22 de Noviembre de 2015, 16:05:57 »
TRANSMISION UDP

ahora realizaremos la configuracion del modulo ESP8266 para conectarnos a un PC que tenga el hercules funcionando.

estos son los comandos para configurar el modulo:

AT+CWMODE=3                     ;configuramos el modulo como punto de acceso y estacion.
AT+CWJAP="nombre de la wi-fi del router","clave"      ;conectamos con el router
AT+CIFSR                     ;sacamos la IP del modulo ESP8266 del modo estacion.ya que nos hara falta despues.
AT+CIPMUX=1                     ;habilitamos conexion multiple
AT+CIPSTART=4,"UDP","192.168.1.65",8080,1112,0         ;identidad nº 4 para esta conexion,protocolo UDP,Ip del Pc(servidor)al que
                        ;nos conectaremos,puerto de escucha del hercules(servidor),puerto de escucha del ESP8266
                        ;(cliente),
AT+CIPSEND=4,10                     ;Nº conecxion,nº de bytes a enviar.



despues de esto solo hay que mandar los datos y el servidor los recivira.
en el caso de que el servidor(PC) envie "hola mundo" al cliente(ESP8266) el modulo visualizara los caracteres:

+IPD,4,10:hola mundo

4 es la identidad de conexion,10 es la cantidad de bytes recividos, hola mundo son los datos.


para que el hercules pueda tener una conexion con el modulo.hay que indicarle la IP del ESP8266 que sacamos anteriormente con el comando AT+CIFSR
y que en este caso ha respondido +CIFSR:STAMIP,"192.168.1.39"

tambien hay que indicarle el puerto de escucha del hercules 8080 en este caso.y 1112 de habla del hercules.
lo que en el servidor es un puerto de escucha en el cliente es un puerto de habla.e inversamente en el el otro caso.



si ponemos mal uno de los puertos.no implica que el servidor y el cliente no puedan tener comunicacion.pero solo en un sentido.depende del puerto
que nos hallamos puesto mal.
« Última modificación: 22 de Noviembre de 2015, 20:07:57 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Esp8266 + Android
« Respuesta #4 en: 22 de Noviembre de 2015, 17:02:36 »

una IP es una direccion de un dispositivo en un PC. normalmente usaremos la IP del modulo inalambrico del PC.
y un puerto es un numero de direccionde un programa instalado en el PC.
hay programas que usan un determinado puerto para que la informacion que entra por esa IP pase directamente a ese programa.

almenos esto es lo que debemos imaginar para no complicarnos mucho.la realidad es que las tramas entran continuamente desde la red.y lo que
hacen los modulos que reciven estas tramas es discriminar determinados tipos de datos.como IPs,Puertos,protocolos,etc

y despues de crivar todo esto.obtenemos los datos que necesitamos gestionar.
por eso pondre esta direccion donde empeze con las tramas ethernet.y explico por encima como funciona este tipo de protocolo.

http://www.todopic.com.ar/foros/index.php?topic=32467.0
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Esp8266 + Android
« Respuesta #5 en: 22 de Noviembre de 2015, 17:20:41 »
Y yo todavia no puedo hacer andar mi USB-RS232, para mi funciona, pero no logro hacerlo funcionar. Lo que le conecte termina funcionando mal. :(

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Esp8266 + Android
« Respuesta #6 en: 22 de Noviembre de 2015, 18:02:25 »
te refieres conectandolo al PC?

pues yo compre de esos varatos a 1€ por ebay.y funcionan perfectamente.solo que son a 3.3v los conecto tanto al PC como a la tablet por OTG.

es posible que no estes enviando bien los comandos.ten en cuenta que hay que enviar un 0d 0a despues de los comandos.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Esp8266 + Android
« Respuesta #7 en: 22 de Noviembre de 2015, 18:04:17 »

CLIENTE TCP

Ahora vamos a configurar el ESP8266 como cliente TCP.la diferencia entre UDP y TCP es que UDP no necesita que el servidor este conectado para el envio
de datos desde el cliente.es decir.el cliente UDP envia datos al servidor(PC) lleguen estos o no llegen no se recive ningun mensage de error desde
el servidor hacia el cliente.pero TCP usa un sistema que prepara la comunicacion entre servidor y cliente antes del envio de datos.si esta comunicacion
se corta.se recive un mensage de error.
y hay que volver a conectarse si queremos enviar de nuevo otros datos.

el uso de UDP y TCP depende de si queremos una comunicacion rapida(UDP). y que nos da igual si se envia algun dato erroneo.como por ejemplo imagen o audio.
o una comunicacion mas lenta(TCP).pero nos aseguramos que los datos llegan todos bien al destino.como por ejemplo datos de control.


comando para configurar el modulo:



AT+CWMODE=3                     ;configuramos el modulo como punto de acceso y estacion.
AT+RST                        ;reseteamos el modulo
AT+CWJAP="nombre de la wi-fi del router","clave"      ;conectamos con el router
AT+CIPSTART="TCP","192.168.1.65",21            ;protocolo TCP,Ip del Pc(servidor)al que
                        ;nos conectaremos,puerto de escucha del hercules(servidor)
AT+CIPSEND=4                     ;nº de bytes a enviar.



despues de esto mandamos los datos con 4 bytes.o almenos mandara 4 bytes como maximo.si enviamos mas no los recibira el cliente.
si enviamos menos si que los recivira.



Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Esp8266 + Android
« Respuesta #8 en: 22 de Noviembre de 2015, 18:13:50 »
te refieres conectandolo al PC?

pues yo compre de esos varatos a 1€ por ebay.y funcionan perfectamente.solo que son a 3.3v los conecto tanto al PC como a la tablet por OTG.

es posible que no estes enviando bien los comandos.ten en cuenta que hay que enviar un 0d 0a despues de los comandos.

Exacto es lo que hago y es lo que tengo.. incluso puse en corto el RX y TX y funciona, envia lo que yo decido enviar nada mas. El problema es que por ejemplo intento escribir:

AT+RST

y apenas pongo AT sin presionar el enter ya me responde con un OK. como si tomara eso solo. Super raro. ya me canse de probar de todo. como te decia si le hago un loop funciona perfecto, no se envia nada de mas. Lo probe con 2 modulos distintos, uno un ESP8266 y otro un HC-05 y el mismo comportamiento en ambos. Trate de enviar todo el mensaje junto como hexa, y aun asi por ahi falla y como que se cuelga. Es una lastima por que te limita mucho eso. De esta ultima forma ( nada comodo convertir todo a hexa para poder enviarlo ) logre poder ver las redes wi-fi e intentar conectarme pero apenas intente conectarme ya empece a recibir caracteres raros. y como que no respondio mas ningun comando.

Probe tal cual hizo planeta999 en su post, y nada, le puse la resistencia y nada. es el mismo modulo xD. Probe la velocidad , a 11xk baudios ( no recuerdo bien ) no me responde para nada, a 9600 si me responde pero con ese problema. El USB-TTL probado a todas las velocidades en loop cerrado ( corto en RX-TX) y sin problemas.

Si alguno se le ocurre algo mas para probar?

Ya probe en Windows, en Ubuntu, con distintos programas en ambos casos e igual. Solo me quedaria hacerme un programita en C/python que trasforme a hexa y envie directo al puerto, es la unica que se me ocurre, pero para que inventar la rueda xD..
« Última modificación: 22 de Noviembre de 2015, 18:22:06 por KILLERJC »

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Esp8266 + Android
« Respuesta #9 en: 22 de Noviembre de 2015, 18:49:49 »
yo al principio empece a cambiar la velocidad de comunicacion del ESP8266 y se me bloquearon.lo solucione metiendole de nuevo
el firmware.

si tienes un mobil o una tablet.prueba a configurarlos como hago yo.si ya no te funciona,el problema lo tienes en los modulos.
entonces prueba a cambiarles el firmware.pero eso si.con modulos de 3.3v . solo por descartar fallos ya que deberian de
servir igual con unas resistencias.

y no te desanimes.que cuando te vallan bien.vas a hacer birguerias con ellos.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Esp8266 + Android
« Respuesta #10 en: 22 de Noviembre de 2015, 20:05:41 »

SERVIDOR TCP

aqui configuraremos el modulo como servidor.este caso es al contrario del anterior.en este hay que realizar una conecxion primero.antes de que se
puedan conectar a el.


AT+CWMODE=3                     ;configuramos el modulo como punto de acceso y estacion.
AT+CWJAP="nombre de la wi-fi del router","clave"      ;conectamos con el router
AT+CIPMUX=1                     ;habilitamos conecxion multiple
AT+CIFSR                     ;sacamos la IP del modulo ESP8266 del modo estacion.ya que nos ara falta despues.
AT+CIPSERVER=1,333                  ;creamos el servidor,indicamos puerto(por defecto es 333) aunque se puede poner cualquiera
                        
ahora conectamos desde el cliente a este servidor.y ya podemos recibir datos desde este.con el siguiente formato:si el cliente ha enviado HOLA

+IPD,0,4:HOLA             

si queremos enviar datos al cliente.usaremos este comando de abajo.y tendremos que esperar a que nos de permiso de envio con el caracter >
despues solo hay que enviar los datos sin usar CR LF.

AT+CIPSEND=0,5                  ;Nº conecxion   ,nº de bytes a enviar.
HOLA                        ;mensaje.



« Última modificación: 22 de Noviembre de 2015, 20:08:36 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Esp8266 + Android
« Respuesta #11 en: 24 de Noviembre de 2015, 18:28:05 »
CLIENTE TCP MODO TRANSPARENTE

en este modo.cuando configuremos el modulo.solo tendremos que enviar el comando AT+CIPSEND y todo lo que enviemos se considerara como datos.
ya no funcionaran los comandos.ni el modulo responde a lo que se envia.pero si que podra recibir datos desde el servidor


AT+CWMODE=3                     ;configuramos el modulo como punto de acceso y estacion.
AT+CWJAP="nombre de la wi-fi del router","clave"      ;conectamos con el router
AT+CIPSTART="TCP","192.168.1.65",21            ;protocolo TCP,Ip del Pc(servidor)al que ;nos conectaremos
                        ;puerto de escucha del hercules(servidor)
AT+CIPMODE=1                     ;activar modo transparente
AT+CIPSEND                     ;a partir de este comando podremos enviar todos los datos que queramos
                        ;mientras no se corte la conexion.

hola mundo.....



« Última modificación: 25 de Noviembre de 2015, 11:39:07 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Esp8266 + Android
« Respuesta #12 en: 25 de Noviembre de 2015, 11:57:41 »
Conexion directa AP Cliente.

Aqui bamos a realizar una conecxion directa desde la wi-fi del ordenador al modulo ESP8266.asi que el modulo funcionara como un punto de acceso.
esto significa que el modulo no se va a conectar a ningun router.es una conecxion tipo Ad-hoc.

este modo nos servira para por ejemplo un robot u otro tipo de mecanismo sin la necesidad de un router.por las pruebas que he realizado.
parece ser que el envio de datos es mas rapido que si dependemos del paso de la informacion por un router.por contra no podremos controlar
por internet ningun dispositivo.ni en la propia red del hogar.

estos son los comandos para configurar el modulo:

AT+CWMODE=2                     ;configuramos el modulo como punto de acceso
AT+CWSAP="nombre de la wi-fi del modulo","clave",3,0      ;le asignamos un nombre a la wi-fi del ESP8266 y una clave.
                        ;canal de transmision(en este caso el 3).encriptacion.(0=red sin clave)
AT+CIFSR                     ;sacamos la IP del modulo ESP8266 del modo AP.  192.168.4.1 por defecto.
AT+CIPMUX=1                     ;habilitamos conecxion multiple
AT+CIPSERVER=1,8888                  ;creamos el servidor,indicamos puerto(por defecto es 333) aunque se puede poner cualquiera

a partir de aqui.si todo es correcto ya podemos recibir y enviar datos.

AT+CIPSEND=0,5                     ;nº de bytes a enviar.
HOLAS                        ;mensage.

al recibir adios ,seria en el siguiente formato:
+IPD,0,4:adios                     ;0=nº de conexion,4=nº de bytes, adios=datos recibidos.


      
« Última modificación: 25 de Noviembre de 2015, 12:01:06 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Esp8266 + Android
« Respuesta #13 en: 25 de Noviembre de 2015, 12:11:09 »
.

Muy interesante, me será de mucha utilidad cuando tenga que meterle mano a la comunicación WIFI en mi proyecto GSM/GPRS.

En mi caso tendré que establecer comunicaciones entre dos o más ESP8266, uno actuará de master recibiendo datos del resto de ESP8266, para enviar todos los datos por GSM a un servidor WEB, o si hay WIFI en el local todos los ESP8266 lo usarán para enviar los datos al mismo servidor WEB a través del modem-router.


Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re:Esp8266 + Android
« Respuesta #14 en: 25 de Noviembre de 2015, 12:27:49 »
las posibilidades son infinitas.



bueno.hasta aqui creo haber dado una extensa explicacion del funcionamiento de los comandos del ESP8266.y los modos de funcionamiento mas importantes.
aparte de las diferentes tipos de combinaciones para una conecxion determinada.ya sea FTP,UDP,conexiones multiples,transparentes o no.
modo cliente,servidor,punto de acceso,encriptado o libre.

no se me ocurre alguna funcionalidad extra que pueda tener este modulo.si hay algo que no haya explicado aqui.me gustaria me lo comentaran
para tener un conocimiento mas amplio sobre este modulo.todo lo que he expuesto aqui.es lo que he logrado entender de diferentes paginas WEB
y foros.

y voy a poner un enlaze para que descargueis otra version que he realizado de la app ESP8266config.he añadido mejoras y reparado algunos bugs.
la clave es: groundman

Esp8266configV3.apk
« Última modificación: 28 de Diciembre de 2015, 12:20:31 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)


 

anything