Noticias:

Grupo en telegram, del foro de meteorología fácil: https://t.me/meteorologiafacil

Para mas detalles, puedes visitar el siguiente tema http://www.meteorologiafacil.com.ar/foros/index.php?topic=1608.0

Espero que les sea de mucha utilidad.

Menú Principal

Mis pasos con el módulo ESP8266

Iniciado por David Met, Junio 06, 2015, 10:58:43 PM

Tema anterior - Siguiente tema

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

David Met

Hoy comencé mis pruebas con el módulo. ¿Qué creen?  <:[| Una terrible pérdida de tiempo. No pude hacer una comunicación.
Probé haciendo un adaptador USB-Serial con el PIC. No solo no logré comunicación sino que tuve que lidiar con que la PC no me reconocía al PIC  >:[| >:[|

Mi amigo, que tiene Arduino, me hizo el favor de probarlo con los ejemplos que tiene, y mi módulo anda muy bien. Con la propia terminal que trae el Arduino, era hermoso verlo funcionar. Mi módulo vino de fábrica con una velocidad de 9600 baudios; en cambio el módulo de mi amigo, vino a 115200 baudios. :me callo:

Hace escasos minutos, probé con un adaptador USB-SERIAL que compré hace meses, con que me logro conectar con un GPS viejo. Tampoco he podido hacerlo comunicar. El tema es que, cuando me deja enviar datos, no me respeta lo que escribo. Por ejemplo, si presiono la T me manda / . Muchas veces, no me deja mandar nada.

Primer prueba fallida.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Ricber

Nunca es perdida de tiempo siempre se aprende algo de todo y en general siempre es así, nunca funciona la primera vez, pero ya se va a solucionar, hay que insistir y probar y probar y probar hasta que funcione.
Seguro que en el próximo comentario vas tener mejores noticias.
Yo voy a comprar uno pero todavia no lo tengo como para probar a la par tuya y poder ayudarte.
Suerte amigo.

David Met

#2
Con lo de pérdida de tiempo, me refería a que no logré nada.

Ahora traigo buenas noticias. Al parecer, eran las terminales que estaba usando. Ni el Putty ni el TeratermPro sirven para esto. Me descargué el Advance Serial Port Terminal y anda de 10. Solo que tengo un pequeño programa, le mando un comando y me responde de igual manera, pero sin el OK. No se si es un error de mi software en el PIC (ahora lo estoy usando como adaptador USB-Serial) o el módulo solo me está respondiendo con lo que escribo.
Me parece que hay un comando que desabilita la función espejo. Lo voy a buscar y comento.

EDITO: Lo probé con la terminal de Arduino (me descargué el software) y anda de 10. Me responde muy bien, ya que esta terminal tiene una función que habilita Nueva Línea y Retorno de Carro. Esto lo debe enviar cuando presiono enter.

Ya es tarde para mi. Mañana con tiempo, subiré fotos y el programa que estoy utilizando.
  :\ :\
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

HJ

Estoy muy interesado en este modulito, sigo atentamente tus pasos.
Aunque programas en JAL, tu experiencia siempre será útil para todos.

Recuerdo que dijiste mas o menos cuanto costaba en Argentina en uno de los primeros menssajes.
¿donde lo compraste?¿fue por internet?

Saludos
HJ

YO

Hola a todos!!

CitarRecuerdo que dijiste mas o menos cuanto costaba en Argentina en uno de los primeros menssajes.
¿donde lo compraste?¿fue por internet?

Hola HJ
fijate acá:

Citarhttp://articulo.mercadolibre.com.ar/MLA-560907093-modulo-wifi-esp8266-esp-1-con-stack-tcp-ip-arduino-arm-pic-_JM

Saludos!
Sin saber que era imposible El fue y lo hizo

HJ


Ricber


En esta pagina rusa http://esp8266.ru/esplorer/ hay un programa exclusivo (por lo que entendi) para el modulo ESP8266.
El programa se llama ESPlorer – Integrated Development Environment (IDE) for ESP8266 developers.




Funcionara dudo:

David Met

Cita de: YO en Junio 08, 2015, 08:22:31 AM
Hola a todos!!

CitarRecuerdo que dijiste mas o menos cuanto costaba en Argentina en uno de los primeros menssajes.
¿donde lo compraste?¿fue por internet?

Hola HJ
fijate acá:

Citarhttp://articulo.mercadolibre.com.ar/MLA-560907093-modulo-wifi-esp8266-esp-1-con-stack-tcp-ip-arduino-arm-pic-_JM

Saludos!

Tal como te indicó YO.
Se lo compré a este vendedor http://articulo.mercadolibre.com.ar/MLA-557498557-arduino-esp8266-serial-wifi-modulo-pic-atmel-_JM

El link que puse anterior (y que YO se tomó la gran amabilidad de buscarlo e indicarte cual fue, ya finalizó) es el articulo re lanzado por el mismo vendedor.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

HJ

Gracias David, la duda era con el vendedor ya que he tenido malas experiencias con compras a través de mercado libre...

YO

Perdonenme muchachos, nunca tengo suerte, o las ofertas finalizan o pongo algo que no sirve   :rayo: __bobin__ >:[|
Sin saber que era imposible El fue y lo hizo


David Met

Primer paso exitoso.

Lo que estoy utilizando son:

1) Placa entrenadora (Felixls de Ucontrol). La misma tiene una fuente de 3V3; y conexión USB.
2) Pic 18F4550
3) Módulo ESP8266

La conexión física es de la siguiente manera:

Obtengo 3V3 de la placa entrenadora y alimento al módulo. También a 3V3 coloco el pin CH_PD para habilitar al módulo.
El PIC 18F4550; trabaja a 5V, por lo que hay que garantizar la misma masa para que trabajen en forma correcta. El pin TX del PIC (RC6) va directamente al pin RX del módulo (si, así es, trabaja a 5V); y el pin RX del PIC (RC7) va al pin TX del módulo.
Yo utilizo un protorboard para hacer puentes.


Al PIC le grabo el siguiente programa:

-- ------------------------------------------------------------------------------------------------
-- ------------------------------------------------------------------------------------------------
-- Adaptador Serie - USB
-- ------------------------------------------------------------------------------------------------

-- ------------------------------------------------------------------------------------------------
-- Creado Leo Persi
--
-- Iniciado el 6 de Junio de 2.015
--
-- Adaptador USB-Serial
--
-- ------------------------------------------------------------------------------------------------
-- TÍTULO: Adaptador Serie - USB.
-- VERSIÓN: 1.0.
-- AUTOR: Leo D. Persi
-- PROGRAMA PARA PIC: Leo D. Persi.
-- PROGRAMA PARA PC:
-- FECHA: 6 de junio de de 2.015.
--
-- DESCRIPCIÓN:
-- ------------
-- Genera una conexión Serie virtual en la PC.
--
-- ------------------------------------------------------------------------------------------------
--
-- Este programa ha sido generado por jallib.py
-- Plataforma Entrenadora Felixls.
--
-- ------------------------------------------------------------------------------------------------
-- INICIO DEL PROGRAMA.
-- --------------------

include 18f4550 -- Incluímos la librería para controlar nuestro PIC.

-- Aunque el cristal externo es 20 MHz, la configuración es tal que el reloj de la CPU
-- se deriva de reloj PLL 96 Mhz (div2),
-- por lo tanto, establecer la frecuencia de destino para 48 MHz
pragma target clock       48_000_000


-- FUSIBLES:
-- ---------
pragma target PLLDIV        P5          -- divide by 5 - 20MHZ_INPUT
pragma target CPUDIV        P1          -- [primary oscillator src: /1][96 mhz pll src: /2]
pragma target USBPLL        F48MHZ      -- CLOCK_SRC_FROM_96MHZ_PLL_2
pragma target OSC           HS_PLL
pragma target FCMEN         DISABLED
pragma target IESO          DISABLED
pragma target PWRTE         DISABLED    -- power up timer
pragma target VREGEN        ENABLED     -- USB voltage regulator
pragma target VOLTAGE       MINIMUM     -- brown out voltage
pragma target BROWNOUT      DISABLED    -- no brownout detection
pragma target WDTPS         P32K        -- watch dog saler setting
pragma target WDT           CONTROL     -- no watchdog
pragma target CCP2MUX       ENABLED    -- CCP2 pin C1
pragma target PBADEN        DIGITAL     -- digital input port<0..4>
pragma target LPT1OSC       LOW_POWER   -- low power timer 1
pragma target MCLR          EXTERNAL    -- master reset on RE3
pragma target STVR          DISABLED    -- reset on stack over/under flow
pragma target LVP           DISABLED    -- no low-voltage programming
pragma target XINST         ENABLED     -- extended instruction set
pragma target DEBUG         DISABLED    -- background debugging
pragma target CP0           DISABLED    -- code block 0 not protected
pragma target CP1           DISABLED    -- code block 1 not protected
pragma target CP2           DISABLED    -- code block 2 not protected
pragma target CP3           DISABLED    -- code block 3 not protected
pragma target CPB           DISABLED    -- bootblock code not write protected
pragma target CPD           DISABLED    -- eeprom code not write protected
pragma target WRT0          DISABLED    -- table writeblock 0 not protected
pragma target WRT1          DISABLED    -- table write block 1 not protected
pragma target WRT2          DISABLED    -- table write block 2 not protected
pragma target WRT3          DISABLED    -- table write block 3 not protected
pragma target WRTB          DISABLED    -- bootblock not write protected
pragma target WRTD          DISABLED    -- eeprom not write protected
pragma target WRTC          DISABLED    -- config not write protected
pragma target EBTR0         DISABLED    -- table read block 0 not protected
pragma target EBTR1         DISABLED    -- table read block 1 not protected
pragma target EBTR2         DISABLED    -- table read block 2 not protected
pragma target EBTR3         DISABLED    -- table read block 3 not protected
pragma target EBTRB         DISABLED    -- boot block not protected
-- ------------------------------------------------------------------------------------------------
-- CONFIGURACIÓN GENERAL DEL PIC:
-- ------------------------------
include usb_serial -- Incluimos la librería.
usb_serial_init() -- Iniciamos el puerto.
-- ------------------------------------------------------------------------------------------------
-- INCLUIMOS LIBRERÍAS:
-- --------------------
-- ---------------------------
-- Incluimos la librería serie
-- ---------------------------
const bit usart_hw_serial = TRUE -- Modo asincrono
const serial_hw_baudrate = 9600 -- Conexión a 9.600 baudios.
include serial_hardware -- Incluimos la librería.
serial_hw_init() -- Iniciamos el puerto.
-- ---------------------------
include print -- Incluimos la librería Print.

-- ------------------------------------------------------------------------------------------------
-- VARIABLES:
-- -----------
var byte ch -- Recupera el valor recibido por USB
var byte char -- Recupera el valor recibido por el puerto serie.

-- ------------------------------------------------------------------------------------------------
-- MENU PRINCIPAL.
-- ---------------
forever loop
usb_serial_flush() -- Mantengo viva la conexión USB.
   
     if usb_serial_read(ch) then -- Si hay datos recibidos por el USB, lo copio
serial_hw_data = ch -- Y pego en el puerto Serie RS232
end if

if (serial_hw_read(char)) then -- Si hay datos recibidos por el puerto serie RS232 lo copio
usb_serial_data = char -- y pego en el puerto USB
end if

end loop


Lo que hace este programa es crear un adaptador USB-Serial; tal como se compran por internet.
Hay dos configuraciones a tener en cuenta en dicho programa. La primera es la del USB. Con la librería de JALv2, sin manipularlo, la comunicación es de 9600 baudios, 1 bit de parada, sin paridad y 8 bit de datos (no hay noveno bit).
La segunda configuración, que si podemos configurar es la del puerto serie. La elegida fue a 9600 baudios. Se puede modificar en la constante: const serial_hw_baudrate = 9600
La razón de esta velocidad, es porque mi módulo vino configurado con dicha velocidad, pero la de un amigo vino configurada a 12.900 baudios. Si no les anda deben re compilar el programa modificando las velocidades hasta encontrar la correcta.

Una vez cargado el PIC con dicho programa; lo que debemos hacer es conectarla a la PC por USB, chequear el puerto que la PC le dio y abrir la terminal o monitor serie de Arduino. Importante es no tener energizado el módulo (solo para ver la primera conexión y tener la sensación de alegría por el buen funcionamiento).
Hasta lograr hacerlo andar con otra terminal, o si alguien lo logra hacer, debemos descargar el software de arduino solo para trabajar con la terminal.


La Terminal debe de estar configurado de la siguiente manera:


Esto es para que el monitor se pueda comunicar con el PIC, no con el módulo.
Una vez establecido la comunicación con el PIC, energizaremos al módulo y nos debe aparecer lo siguiente:

Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

David Met

#12
Lo primero que vamos a enviar es el comando AT. Escribimos en la parte superior AT y presionamos Enter. Nos deberá responder con un OK


Lo siguiente, es enviar el siguiente comando AT+CWMODE=3 (tal como lo acabo de escribir) y nos podrá responder con un OK (hizo el cambio) o No change diciéndono que el módulo ya estaba configurado así.


Ahora, vamos a buscar nuestra red WiFi, para ello enviaremos el siguiente comando AT+CWLAP; y al cabo de algunos segundos, nos listará las redes que puede encontrar.
Para más información del presente comando (y los demás que veremos) visitar el siguiente link Comando AT 1 y Comando AT 2


Una vez que nos aseguramos de que puede recibir nuestra red, enviaremos el siguiente comando AT+CWJAP="mired","micontraseña" donde mired es el nombre de la red SSID y micontraseña es la contraseña correspondiente. Noten que deben ponerlo entre comillas dobles ""; esto indica que lo que enviaremos es una cadena (string). Luego de unos segundos, nos responderá con un OK si logró unirse a la red o un ERROR si no pudo hacerlo. En caso de que les haya dado error, asegurarse de que hallamos escrito correctamente ambas cosas (SSID y contraseña). Si aún así sigue dándonos error, acercarse más al router (por cuestiones obvias, borré el nombre de la red y su contraseña).


Ahora vamos a conocer que IP nos dio.


Notaremos que hay dos IP. La primera es la IP propia de nuestro IP. Recordemos que al hacerlo trabajar en cliente y en servidor, tendremos la IP de acceso al módulo como servidor. La segunda IP, es la que nos asignó el router a nuestro módulo.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Ricber


David Met

Cita de: Ricber en Junio 08, 2015, 08:53:38 AM

En esta pagina rusa http://esp8266.ru/esplorer/ hay un programa exclusivo (por lo que entendi) para el modulo ESP8266.
El programa se llama ESPlorer – Integrated Development Environment (IDE) for ESP8266 developers.




Funcionara dudo:

Si, funciona. Lo que hay que tener en cuenta, es que trabajas directamente con el microprocesador que tiene el módulo. Por ahora desconozco cuanta capacidad de memoria de programa y de memoria RAM para uso personal.
Justamente este módulo es completamente autónomo; ya que no requiere de ningún microprocesador externo, tal como lo estoy usando yo.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.