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

ESP8266 serie-wifi

Iniciado por David Met, Mayo 26, 2015, 10:35:28 PM

Tema anterior - Siguiente tema

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

David Met

#30
Cada vez que investigo más a estos módulos, me quedo muy sorprendidos.
No recuerdo si lo había mencionado, pero estos módulos son completamente autónomos, es decir, no es necesario otro microcontrolador para ser manejados.
En la web, hay varios ejemplos de como montar un servidor web con arduino y con PIC. Estos microcontroladores, guardan el contenido de la página web para luego pasarlo al módulo por el puerto serie. Esto consume tiempo pero con la ventaja de guardar una excelente página.
Pero estos módulos, pueden ser programados por puerto serie y compilarle un programa a nuestro gusto; incluso guardarle una página web dentro del módulo, ganando velocidad en la transferencia y carga de la web.

Actualizar Firmware del módulo ESP8266

Primero deben descargar el flasheador para el ESP8266. Deben ir al siguiente enlace y descargar la última versión disponible.

https://github.com/nodemcu/nodemcu-flasher

Luego deberán elegir el deseado. Es un ejecutable y no necesita ser instalado. Para SO windows 32bit, elegir Win32/Release.

Una vez descargado el programa, hay que descargar el firmware. Para ello tienen que ir al siguiente enlace y buscar la última versión (latest releases). Hay dos versiones, una float y la otra integer. Deberá descargar el deseado.

https://github.com/nodemcu/nodemcu-firmware#change-log

Compilador LUA.

https://github.com/hwiguna/g33k/tree/master/ArduinoProjects/Windows/ESP8266_Related

Descargar la última versión, haciendo click en el enlace correspondiente; y luego, hacer click en RAW para descargarlo.
No es necesario instalarlo. Solo deben descomprimirlo.

Luego vuelvan al siguiente enlace para ver algunos ejemplos.

https://github.com/nodemcu/nodemcu-firmware#connect-the-hardware-in-serial

Podrán ver algunos ejemplos básicos.

Para terminar, les dejo un video donde habla como trabajar con el compilador LUA. Lo pueden mirar a partir del minuto 14; aunque mi concejo es que lo miren entero.


Más enlace sobre LUA:

http://es.m.wikipedia.org/wiki/Lua

http://www.lua.org/manual/5.1/es/

(Con alegría digo que es un lenguaje diseñado por Latinos, más precisamente es de Brazil.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Ricber

Muy buena investigación, son para tenerlo en muy muy cuenta y comprar uno. :\

David Met

#32
Hola a todos.
Ayer me llegó mi módulo pero aún no he podido hacer pruebas.

Preparé un adaptador de tensión completo para el módulo ESP8266; así puedo controlarlo sin problemas. La idea es hacer la siguiente placa y enchufar directamente el módulo en la placa; así me preocupo de hacer la adaptación. Directamente trabajo a 5V con el PIC.


Pueden descargar el segundo archivo para verlo más grande.
Aún no hice el dibujo para el PCB. Si mañana puedo, lo subo para el que lo necesite.

Justo me di cuenta de un error. Las resistencias del 1 al 12, son todas de 10K
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Ricber

Me viene muy bien, estoy por comprar un modulo

YO

Se me ocurre que para encontrar algo en una cadena se debería saber en que lugar de ella se debería buscar.
Si tenemos comandos antes y después, se debería saber el largo máximo del que antecede a lo que queremos buscar y comenzar las comparaciones desde allí bit por bit, por el largo de lo que se quiera encontrar.

Ahora, para encontrar algo donde no se sabe donde está, primero debemos saber que buscamos y cuantas opciones de lo que buscamos puede haber Ej.: palabras de comando remoto como Encender, Apagar, etc.

Hay que buscar el valor de cada letra y ver su coincidencia con las que tenemos definidas que podrían venir.
Esto es muy parecido a cuando ponemos accesos a comandos por clave Ej.: Una alarma con código de acceso para definir quien entró o salió.
La secuencia puede ser de letras o números o un valor binario determinado que después convertimos a lo que sea.
Algo así hice con el control remoto desde la PC y mandos escritos en el block de notas, la única diferencia era que yo sabía a partir de donde buscar las palabras clave

Si estoy equivocado por favor corríjanme
Sin saber que era imposible El fue y lo hizo

David Met

Solo para que se entienda, a lo que YO se refiere viene de aquí

Son diferentes estrategias. Dependerá de que es lo que más conviene.
Con el PIC vamos a estar limitado en el tamaño de la cadena (string) y deberemos saber hasta que cantidad de memoria RAM disponemos para ello. Por ejemplo, podremos disponer de un banco entero solo para la cadena a recepcionar.

Adjuntado, dejo lo que hice en JALv2. Si no entienden algo, me preguntan.
Está a partir de la línea 121.

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

YO

Preguntonta:
Y porque la tenemos que guardar en el Pic?
Yo estoy armando algo con una SD y Jal tiene la librería para hacerlo.
Luego, cargamos con el Pic la SD y después vamos leyendo y comparando sin usar la memoria del micro.
No creo que sea tan loco.
Por otro lado si el sting que te llega lo definiste vos, vos tenes que saber en que zona buscar, o mejor ¿que origen tiene ese string, de donde lo sacas, porque es tan grande? no entiendo  :'p
Sin saber que era imposible El fue y lo hizo

David Met

Decidir en el PIC es por cuestiones de comodidad. Es perfectamente factible guardar el string en una SD. Eso si, se puede llegar a tardar más en buscar la cadena; pero tal vez es factible.

La cadena recibida, dependerá de la navegación HTML que vayamos generando. Por ejemplo, una cadena recibida cuando el navegador se conecta al módulo, puede superar los 200 caracteres. Se reciben muchas cosas, modelo de PC; navegador; idioma; ect. Eso no es tan importante, con solo recibir el OK, nos alcanzaría.

La necesidad de buscar una cadena es si necesitamos hacer una acción dependiendo de que datos recibimos.
Te lo explico con un ejemplo muy simple.

Con el PIC, vamos enviando los caracteres para armar una página web simple, que lo haríamos a través del módulo. En estos caracteres HTML, enviamos que se arme un formulario para que el usuario se logee, por ejemplo. Para ello, se necesita dos formularios, una que diga usuario, y otra contraseña; más un botón de aceptar y cancelar.

Cada formulario debe de estar identificado; al igual que los botones. Cuando presionamos un botón (en el navegador) el PIC debe reconocer que se envió para luego logear a dicho usuario o negarle el acceso. Incluso debe saber si se presionó el botón cancelar o aceptar. Para ello, el navegador nos envía dichos datos y el módulo lo re transmite por el puerto serie; que lo recibe el PIC. El PIC debe reconocer dichos comandos y para ello, es necesario encontrar palabras claves (cadenas) dentro de la gran cadena que recibimos.

Mirate el siguiente enlace y nos entenderas http://www.prometec.net/esp8266/
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

YO

Creo que la mejor forma de entender esto es meterse en el tema a fondo,  por eso ya encargué un modulito de éstos.
Por lo que ví en el link, son varios los problemas que tiene la gente para hacerlo andar, incluso para que arranque, teniendo que hacer intermitente la conexión de la fuente hasta que arranque, eso no es normal ni lógico ni nada.
Me hace acordar al problema que teníamos con el arranque de los GLCD que arrancaban con solo media pantalla y que se debía a que Jal tenía tiempos muy cortos en su librería de contról.
Ésto me recuerda que en algún tiempo vi en algún lado un artículo que decía que esos módulos venían con un programa bastante precario y que era necesario reprogramarlo para que funcionen como uno quisiera.
A partir de allí, siempre tuve la idea que los módulos eran programables, no se como ni me interesé demasiado porque para eso hay que dedicarle mucho tiempo, cosa que no tengo tanto.
La idea de la SD era solo por una cuestión de espacio de memoria ya que mencionaste que una cadena podría ocupar todo un banco.
Después de las fiestas voy a ver un poco más a fondo como es éste tema, quizás ya con el modulito en la mano.

Por ahora me despido hasta el año que viene si Dios quiere.
Un fuerte abrazo a todos y que disfruten de las fiestas!!   :borrachos!
Sin saber que era imposible El fue y lo hizo

David Met

Yo también me voy a dedicar el año que viene con estos módulos.
Veremos que pasa por el momento.

Lamentablemente, por ahora, lo mejor es utilizarlo con arduino (por las librerías). También tengo ganas de incursionar en C de Microchips. Tal vez tenga las librerías que necesito y no es necesario que migre a otro microcontrolador.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.