bclose

Usando el módulo WIFI ESP8266

Comunicación con PC mediante WIFI ESP8266

Objetivos

 

 
    • Usar el módulo WIFI ESP8266 para gobernar unos LEDs conectados a pines de Arduino.
    • Escribir un pequeño programa que vuelque comandos de configuración AT al módulo.
    • Probar la comunicación unidireccional con una página web.
    • Probar la comunicación bidireccional con un programa terminal como Putty.
 

Material requerido.

 

Imagen de Arduino UNO  Arduino UNO o equivalente.
ProtoboardUna Protoboard .
conexionesAlgunos cables de protoboard, preferiblemente Dupont macho/hembra.
Vista frontal Un módulo WIFI ESP8266
Fuente para protoboard Una fuente de alimentación externa de 3.3V

 

Mas sobre WIFI y ESP8266

 

En la última sesión vimos como conectar el módulo WIFI ESP8266 a nuestros Arduinos para conseguir una conexión WIFI barata y de pequeño tamaño, y además estuvimos familiarizándonos con los comandos AT más habituales para manejar el modulo.

En esta sesión, vamos a construir a partir de esos comandos algunos circuitos de prueba similares a los que hicimos con el shield Ethernet, para que veáis que es de lo más sencillo adaptar aquellos programas a este módulo WIFI.

Y el primer, y más sencillo programa a probar es el de manejar unos LEDs desde un navegador Web desde un PC o desde un móvil.

Vamos a utilizar un montaje similar al de la última sesión, para activar el servidor Web y pasarle parámetros mediante un navegador, de modo que nuestro programa busque la cadena “P13”, y si la encuentra invierta el valor del LED conectado al pin13 de Arduino.

Vamos a usar una fuente de alimentación externa de 3,3V para protoboard.


Esquema de protoboard

 

 
  • Por favor que no se os ocurra olvidaros de conectar la masa común entre la protoboard ( O el regulador que uséis) y la masa GND de Arduino. Ignorar esto puede ser muy perjudicial para la buena salud de vuestra electrónica.
  • Recordad que unir las masas, es lo único que nos garantiza un nivel cero de referencia, común. Si lo omitís, las diferencias de tensión entre el alimentador de vuestro Arduino y el de la protoboard, pueden ser más que suficientes para daros una sorpresa y chamuscar algo.
 

 

El programa de control

 

Ya estamos familiarizados con todos los conceptos que vamos a usar, así que empezaremos directamente. En primer lugar  nos interesa crear un sistema que nos permita reprogramar el módulo WIFI en los arranques.

Vamos a empezar creando un array con los comandos precisos:

String ordenes[]=
  {  "AT+CWMODE=3",
     "AT+CWQAP",
     "AT+CWJAP=\"charly\",\"contrase\"",
     "AT+CIFSR" ,
     "AT+CIPMUX=1",
     "AT+CIPSERVER=1,80",
     "END"                 // Para reconocer el fin de los comandos AT
  };

La idea es recorrer este array al reiniciar y enviar los diferentes comandos AT al módulo WIFI.

 
  • Fijaros que para poder enviar un comando String que contenga el carácter “, tenemos que precederlo por la barra ‘\’.
 
Y para poder enviar las órdenes de mando, podemos usar en el setup, el siguiente código:

     int index = 0;
     while(ordenes[index] != "END")
        {  WIFI1.println(ordenes[index++]);
           while ( true)
              {   String s = GetLineWIFI();
                  if ( s!= "") Serial.println(s);
                  if ( s.startsWith("no change"))  
                          break;
                  if ( s.startsWith("OK"))  
                          break;
                  if ( s.startsWith("ready"))  
                         break;
                  // if (millis()-T >10000) break; 
              }
          Serial.println("....................");
      }

Recorremos con index el array órdenes [] hasta que encontremos “END” y las enviamos al módulo con la línea:

{  WIFI1.println(ordenes[index++]);

Luego entramos en un while que lo único que hace es leer líneas completas de la respuesta del módulo y las imprime, hasta que recibe una de las claves de salida.

 
  • La mayor parte de los comandos AT, provocan una o más líneas de respuesta, que acaban con un sencillo OK, y por eso es una de las condiciones de salida.
  • Pero también hay ordenes AT, que devuelven “no change”o “ready”.
  • Si recibe FAIL, es que no ha sido capaz de programar correctamente el modulo y por tanto terminamos la ejecución del programa.
 

El problema es que con el montaje que hemos hecho, mis dos módulos parecen tener mucha tendencia a colgarse cuando les envío desde programa algunos comandos como AT+CWJAP y AT+CWLAP.

 
  • Esto es probablemente debido a que aunque el modulo parece soportar bien que RX y TX vayan a 5 Voltios pudiera, a pesar de todo, convenir usar un convertidor de nivel de tensión.
  • Arduino solo puede suministrar 50 mA en el pin de 3.3V y este módulo puede necesitar hasta 300 mA según el fabricante, por eso vamos a utilizar una fuente de alimentación externa. Alimentándolo con Arduino consigues que arranque una de cada 5 veces, pero siempre es preferible evitar el olor a quemado que es molesto.
  • Personalmente he experimentado bastantes problemas a la hora de arrancar el modulo, sin alimentación externa, y aunque al final se consigue a base de quitar y poner tensión repetidamente hasta que arranca. Una vez arrancado, en general va bastante bien pero al principio cuesta.
 

Así, que en lugar de volcar los comandos por programa, vamos a hacerlo manualmente, porque además el modulo tiene la buena costumbre de recordar la última conexión que hizo y restáurala al re arrancar, por lo que nos podemos ahorrar el reprogramar la conexión al WIFI.

El modulo recuerda también el modo de funcionamiento con AT+CWMODE=3, pero olvida  tranquilamente los comandos necesarios para montar el servidor web AT+CIPMUX=1″ y “AT+CIPSERVER=1,80”, así que esto sí que son necesarios enviar.

Para no complicar el programa de ejemplo, os recomiendo de momento conectar a mano al punto de acceso WIFI que tengáis, y programar a mano estos dos últimos comandos AT.

Cuando empecé con este programa quería que combinase tanto la capacidad de interpretar los comandos AT que enviamos, como la capacidad de recibir las respuestas del módulo, sin que ello suponga impedimento para poder revisar los mensajes entrantes para tomar las decisiones de gobernar señales en Arduino.

La forma que he encontrado ha sido algo como esto: Prog_75_1

#include <SoftwareSerial.h>
SoftwareSerial BT1(3, 2); // RX | TX
String W =" ";
char w ;

void setup()
   {  Serial.begin(19200);
      BT1.begin(19200);
      pinMode(13, OUTPUT);
   }

void loop()
   {  if (BT1.available())                // Lo que entra por WIFI à Serial
         { w = BT1.read() ;
           Serial.print(w);
           W = W + w ;                    // Vamos montando un String con lo que entra
         }
      if (Serial.available())             // Lo que entra por Serial à WIFI
         {  char s = Serial.read();
            BT1.print(s);
         }
      if ( w == '\n')                     // Sin han pulsado intro
         { if ( W.indexOf("P13") > 0 )    // Comprobamos si P13 esta incluido en el string
               { digitalWrite( 13, !digitalRead(13)) ;
                 Serial.println("Invirtiendo pin 13");
               }
           W = "" ;  w = ' ' ;                    // Limpiamos las variables
         }
  }

Este programa nos permite seguir enviando y recibiendo comandos AT manuales y ver la respuestas de vuelta, y además revisa la entrada buscando cadenas de texto completas que identifique una acción a realizar.

Si queremos manejar más de una señal, en digamos el pin 12, bastaría con añadir:

if ( W.indexOf("P12") > 0 )    // Comprobamos si P12 esta incluido en el string
    { digitalWrite( 12, !digitalRead(12)) ;
      Serial.println("Invirtiendo pin 12");
    }

Por ultimo os voy a poner un minivideo con el resultado, pero antes he enviado a mi modulo los siguientes comandos AT manualmente:

At+RST
AT+CWMODE=3
AT+CWJAP=”CHARLY”,”CONTRASE”      // Conectar al punto de acceso
AT+CIFSR                          // Para saber mi IP
AT+CIPMUX=1                       // Permitir multiples conexiones
AT+CIPSERVER=1,80                 // Arrancar el servidor web en el puerto 80

Aquí tenéis un minivideo con el resultado:

 

 

Enviando y recibiendo ordenes mediante WIFI

 

En el ejemplo anterior recibíamos órdenes desde un navegador pero no devolvíamos información al navegador. En esta sesión haremos un ejemplo de conexión desde un terminal como Putty y veremos la forma de enviar textos en ambas direcciones.

Aunque nosotros usaremos un terminal de PC para ilustrar el ejemplo, podríamos hacer exactamente lo mismo desde una tableta o móvil con un terminal que acepte conexiones TCPIP.

Asegúrate de volcar el programa Prog_75_1 a nuestro Arduino y abre la consola. Necesitamos dar algunos comandos manuales:

AT+CIFSR
AT+CIPMUX=1
AT+CIPSERVER=1,80
Inicalizacion

Asegúrate de poner la dirección IP de tu modulo y pulsa open. Veras que Arduino recibe un mensaje de Link:

Parametros basicos

Asegúrate de poner la dirección IP de tu modulo y pulsa open. Veras que Arduino recibe un mensaje de Link.

Estableciendo la conexion

Lo que escribas ahora en la consola del Putty pasara a la consola serie de Arduino

comunicando con Arduino
Cominicacion con Putty

Son mensajes que podemos reconocer con nuestro programa de recepción y se pueden usar para activar acciones en Arduino como ya hemos visto.

Para enviar mensajes desde Arduino a la consola de Putty debemos usar el comando:

AT+CIPSTART=0,"TCP","192.168.1.50",80

Que le indica a nuestro módulo WIFI que inicie una sesión TCPIP por el puerto 80 con la IP especificada que corresponde a mi Putty, vosotros deberéis poner la dirección de vuestro PC o tableta.

Nos devolverá el mensaje “Already connected” ( Ya conectado), indicando que la conexión ya está establecida.

putty_2

La conexión se inició automáticamente, cuando Putty se conectó al servidor y por eso nos podríamos haber ahorrado este comando, pero si somos nosotros quienes iniciamos la conexión debemos darlo irrevocablemente.

Y ahora para enviar mensajes a la consola de Putty usaremos

At+CIPSEND=0, N

Donde 0 es la sesión abierta en automático y N es la longitud del mensaje a enviar, y después podemos enviar el mensaje:

AT+CIPSTART

Y como la longitud del mensaje es de más de los 24 caracteres especificados, simplemente corta al llegar a los 24:

recepcion de mensajesAquí os dejo un pequeño video con la interacción que siempre es mas fácil de ver.

En la próxima sesión veremos cómo presentar una página web usando estos comandos AT.

 

 

Resumen de la sesión

 

 
    • Vimos cómo usar el módulo WIFI ESP8266 para modificar el estado de un LED en nuestro Arduino desde un navegador Web.
    • Seguimos probando comandos AT para el WIFI ESP8266
    • Vimos como conectar al servidor web a través de WIFI con un terminal serie y usarlo para establecer la comunicación bidireccional.

 

 

 

 

 

(168) Comments

  • Hola,

    Como siempre agradecer tu labor con estos geniales tutoriales y consejos, que a muchos nos han hecho meternos de lleno en este mundo.

    Llevo un tiempo trasteando con el esp8266 como servidor para tareas simples de domótica y funciona genial.
    Pero a raíz de descubrir una APP que manda las posiciones de los ejes XYZ vía WIFI se me ocurrió un pequeño esquema que consiste básicamente en mover un pequeño servo respectivamente a los valores obtenidos del giroscopio del móvil.

    Hice un pequeño sketch dónde filtro el chorro de valores que llegan de la app y los convierto en ángulos para el servo.
    Ambos esp8266 y servo conectados a puertos serie del arduino y externamente alimentados.
    Todo bien, pero el problema es que cuando el esp8266 recibe los datos altera el valor de salida del servo haciendo que este haga saltos en lugar de un movimiento medianamente fluido.

    He probado otros puertos serie pero nada, desde el momento que inicializo el servo cada vez que recibe información por el otro puerto este se mueve.

    Alguna idea de porqué pasa eso?
    Muchas gracias,
    Isaac

    • Hola Isaac, No me atrevo a darte opinion con la escasa informacion que tengo sobre tu tema

      • Bueno, gracias de todas maneras, seguiré investigando

    • Felipe Caroca

    Hola, primero que todo te felicito por tus buenos tutoriales, me gustaría hacerte una consulta, apliqué los comandos AT que aparecen en este tutorial para conectarme a mi red wifi a lo cual el dispositivo me respondió correctamente diciendome que estaba conectado y que adquirió una ip (wifi conected, wifi got ip), pero al momento de verificar mi ip con AT+CIFSR me muestra 192.168.4.1 y la mac. obviamente esa no es la ip que mi wifi asignó por que no se encuentra en el mismo segmento (192.168.0.XXX) ¿existe alguna forma de configurar esto manualmente sin DHCP? espero haberme explicado bien y gracias de ante mano

    • Hola Felipe,

      Si pruebas estos comandos:
      AT+CIFSR
      AT+CIPMUX=1
      AT+CIPSERVER=1,80

      Veras que probablemente te mostrara dos direcciones IP. UNa es la interna que el se reserva para propositos administrativos y la segunda sera la que ha obtenido de tu sevidor DHCP

      De cualquier manera puedes tambier configurar una direccion IP manual mediante comandos manuales aunque solo he visto como hacerlo programando desde C con las librerias y el comando wifi.config() : https://www.arduino.cc/en/Reference/WiFiConfig

      • Hola Felipe,

        El siguiente comando a mi me funciona para forzar una ip fija ( si está disponible en el router )

        sendCommand(“AT+CIPSTA=\”192.168.0.160\”\r\n”,1000,DEBUG); // set ip address

        O bien siempre puedes añadir la mac con la IP que quieres a la tabla ARP
        Espero que te sirva.
        Isaac

  • Me gustaría saber si es posible crear una red Wifi con este modulo. La red wifi no debe proporcionar internet, solo se usaría para que cuando el móvil detecte una señal wifi con un nombre determinado realize una acción… ¿Así que querría saber como sería posible emitir dicha señal wifi con arduino..?

    • No se si te entiendo Ismail,

      Puedes activar el modulo en modo AP o access point y se comportara como un router wifi. El resto es cuestion de que programes el movil cuando lo detecte

  • Hola agradecerte la información que desarrollas. Sigo tus artículos con atención.
    Gracias.

    • Christian

    Hola Admiral
    Primeramente felicitaciones por el material

    Estoy con Problema he realizado todos los pasos pero al colocar mi IP en el navegador (Google Chrome) me aparece un error q dice q no se puede acceder al sitio web en este caso al ESP pq ha tardado demasiado tiempo en responder

    • Hola Cristian, el esp-01 esta cada dia mas obsoleto por lo que recomendaria que usaras un Nodemcu y veras como mejoran mucho los problemas.

      De todos modos el programa que te pongo para descargar esta probado y deberia funcionar

    • Franc

    Hola Admin.

    Sabes si es posible conectarse a una red wifi creada por el propio ESP?¿
    No quiero que el ESP se conecte a mi red wifi sino que este cree una y yo desde cualquier dispositivo me conecte a su red y a su vez poderme conectar a el.

    Un saludo y gracias por todos lo tutoriales 😉

    • Desde luego que si Franc, el esp8266 puede operar en dos modos: como nodo WIFI o como AP access point que es lo que planteas

    • Andres

    Hola Admin, Sigo casi todos tus tutoriales, pero hay algo que no he encontrado y es como hacer que el navegador NO se quede esperando una respuesta, que solo sirva para enviar la info al ESP y controlar el arduino, y que este de una cierre la conexion y el navegador no se quede dando vueltas.

    • Hola Andres,

      Si montas un servidor es precisamente para escuchar quien te llama. Ten en cuenta que lo que se cierra es la sesion con el cliente cada vez que se acaba la conexion, pero si quieres cerrar el servidor le tienes que ordenar por programa que lo cierre y ya esta

    • Juan Pablo

    Te hago una consulta: A mi se me desconecta con frecuencia el ESP8266, y tengo que desenergizarlo y volverlo a energizar (para nada práctico), hay alguna forma directa vía firmware de evitar esto?. Gracias

    • Hola Juan Pablo, parece que hay reportes de que esto ocurre con desagradable frecuencia, pero no me atrevo a darte una solucion. Lo que si te digo es que yo uso ya hace tiempo el nodemcu porque es mucho mas comodo y no tiene este problem

  • ok, perfecto prepararé ese post para ayudar a contribuir, sabes que le he estado dando vueltas ya para conectar el Arduino UNO R3 junto con el Olimex EKG/EMG y ahora montarle el Modulo ESP8266 ya configurado para iniciar el envio de datos, al montar encima el Shield deberia usar los puertos de conexion del mismo para realizar la conexion del Modulo y de igual manera si le quisiera montar un modulo para tarjetas MicroSD.

    Ahora que hice:
    Use el Puerto 2 del Arduino proyectado en el Shield seria el D2 para conectar el RX del ESP8266
    El Puerto 3 del Arduino Proyectado en el Shield seria el D3 para conectar el TX del ESP8266
    El Puerto 3.3v del Arduino Proyectado en el Shield va a la protoboar + de ahi VCC” y “CH_PD del ESP8266
    uno de los Puertos GND del Arduino Proyectado en el Shield tambien a la Protoboard en Tierra y de alli al GND del ESP8266

    Imagino que esto seria todo para programar y empezar a enviar datos a la aplicación en Android.

    No se si conoscas el Shield de Olimex EKG/EMG, el además trae 6 puertos de los cuales como no se mucho de electronica, imagino que es por donde pasaran o se procesaran las mediciones del ECG. pero yo solo he echo las pruebas con las que viene por defecto el Arduino, el Shield Olimex y un Aplicacion para PC que viene para esta prueba basica, ademas del programa que se le debe meter al arduino para que este ejecute la prueba a la perfeccion, y quisiera ver quien me puede orientar en la modificacion del codigo que trae el aplicativo para que la informacion pase a travez del ESP8266 y no por el USB. o por lo menos que me indique algun otro foro o tutorial que por lo menos en unos 3 dias programe el arduino casi perfecto, ya que la primera prueba del prototipo debera realizarce en 10 dias aprox en la Universidad.

  • Perfecto muchisimas gracias, lo hice incluso sin necesidad de la Fuente, ya que como que dejo de funcionar, pero creo que fue porque utilice un cargador 9v AC y 1A o la fuente estaba defectuosa, en cuanto a la configuración del ESP8266, todo super, lo deje como access point (AP) incluso le cambie el nombre, le coloque clave para cuando el dispositivo se conecte la pida, tambien lo coloque con seguridad nivel 4 y utilice un canal diferente al 1 y el 11, hice la conexion desde mi Smartphone, ahora imagino vuelvo a montar el chip ATmega del Arduino UNO R3, y crear una app Android para que se comunique con el Arduino y el Shield EKG/EMG y reciba la información a traves del ESP8266, ahora a googlear a ver que consigo, espero si no hay ningun problema para cualquier duda que seme presente puedas ayudarme, por fa…

    Si deseas posteo el procedimiento que use, y de verdad muy agradecido….

    • Hola Luis,

      Es un placer echarte una mano en lo que podamos y desde luego si quieres publicar tu proyecto lo incluiremos de mil amores en prometec que seguro habra gente muy interesada en el

      Un saludo

    • Luis Contreras

    Saludos amigos desde Venezuela y en especial a quien nos ha ayudado un monton con todos los tutos que comparte, de verdad que si.

    bueno una de mis consultas es la siguiente: tengo un Arduino UNO, un ESP8266, la Protoboard, Fuente YwRobot 545043 y quisiera ver si esta bien configurado el ESP, por allí consegui un video donde lo configuran con comandos AT a traves del Arduino sacando el chip AtMega, de una te comento que como tal soy desarrollador de software y no se mucho de electronica, asi que, por eso te pregunto, se podria usar la conexion que muestras en este post para poder configurar el ESP con esos comandos, ademas, si atravez de los puertos GPIO2 y GPIO0 se puede enviar informacion de manera inalambrica hacia un Movil o Tablet Android, especificamente a una aplicacion y si estos 2 puertos pudiesen pasar dicha informacion en paralelo, el otro componente a utilizar que seria un Shield de Olimex para EKG/EMG seria el emisor de la informacion, el cual pues tambien estoy investigando que tanto puede hacer y de que forma para poder sacar adelante la aplicacion que estoy desarrollando.
    Como te comente pues soy algo neofito en esto, quisiera saber tambien, si la conexion entre el prototipo con el esp8266 y el dispositivo movil, se realizaria de manera directa entre ellos o tendria que ser mediante un Router. por ahora esas serian mis dudas para no alargar mucho el testamento. Pido disculpas si son muchas las preguntas pero estoy super interesado en aprender para proyectos futuros y pues para este que es mi proyecto de grado.

    este es el video que comento no se si estaré autorizado para publicarlo…

    • Hola Luis, mediante la conexion que ves en este post puedes enviar comandos AT al esp y configurarlo como desees, pero ten en cuenta que ultimamente los esp8266 vienes por defecto a 116200 baudios y arduino uno va mal a esta velocidad por lo que tienes que bajarsela con el comando AT correspondiente

      Puedes usar el ESP a traves de un router wifi como nodo normal o bien configurar tu esp en modo AP o acces point con lo que te evitarias el router y prodrias comunicar con el directamente

      Los puertos GPIO pueden ser usados como puertas d eentrada o salida pero la emision de informacin via WIFI se hace directamente por la pila interna del modulo y no por ningun pin

      Un saludo

    • Paul Navas

    Hola agradeciendo a personas como ustedes que comparten sus conocimientos, no se si me puedan ayudar, cambie el firmware del esp8266 utilizando el firmware de LUA para evitar los comandos AT, con la finalidad de programar directamente, he tenido resultados no tan buenos porque se cuelga demasiado cada vez que mando a realizar una accion, alguien podria ayudarme para reinstalarle un firmware el cual permita gobernarlo por los comandos AT.

  • Hola me gusto mucho tu tutorial, tengo una duda quiero hacer que el modulo wifi envié a un servidor web la información de un evento que sucedio en uno de sus pines del modulo, no se si seria posible hacer este proceso?

    • Claro que si Edson, basat con que conectes a un servidor web y le envies la informacion que quierras. Luego este debe mostrar la informacion o bien almacenar los datos

    • Wilson

    Hola que tal, gracias por la información compartida, estoy realizando un proyecto con motores en donde he usado el codigo Prog_75_1, todo me ha compilado muy bien, pero el problema es al tratar de enviar dos señales /OPEN Y /CLOSE para activar dos motores independientemente; pues al enviar la señal de /OPEN me ejecuta la acción de la señal de /CLOSE y luego la señal de /OPEN lo que produce que se enciendan los 2 motores a la ves. Querría saber como independizar cada instrucción: en donde al enviar /OPEN me ejecute únicamente la acción de /OPEN para encender el motor 1 y lo mismo al enviar /CLOSE que me encienda el motor 2 : he usado este código:
    #define rx 3
    #define tx 2

    #include
    SoftwareSerial WIFI(rx, tx); // RX | TX
    String W =” “;
    char w ;

    void setup()
    { Serial.begin(9600);
    WIFI.begin(9600);
    // Vamos montando un String con lo que entra

    //comandoESP(“AT+CWMODE=3”);
    //delay(1000);// configure as access point
    comandoESP(“AT+CIPMUX=1”); // configure for multiple connections
    delay(1000);
    comandoESP(“AT+CIPSERVER=1,80”); // turn on server on port 80
    delay(1000);
    comandoESP(“AT+CIFSR”);

    pinMode(11, OUTPUT);
    digitalWrite(11,LOW);
    pinMode(12, OUTPUT);
    digitalWrite(12,LOW);
    pinMode(10, OUTPUT);
    digitalWrite(10,LOW);
    pinMode(9, OUTPUT);
    digitalWrite(9,LOW);

    }

    void loop()
    { if (WIFI.available()) // Lo que entra por WIFI à Serial
    { w = WIFI.read() ;
    Serial.print(w);
    W = W + w ; // Vamos montando un String con lo que entra
    }
    if (Serial.available()) // Lo que entra por Serial à WIFI
    { char s = Serial.read();
    WIFI.print(s);
    }
    if ( w == ‘\n’)
    {
    if ( W.indexOf(“OPEN”) > 0 ) // Comprobamos si P13 esta incluido en el string
    {
    digitalWrite( 11, HIGH) ; // encender motor 1
    digitalWrite( 12, LOW) ;

    }

    if ( W.indexOf(“CLOSE”) > 0 ) // Comprobamos si P12 esta incluido en el string
    {
    digitalWrite( 10, LOW) ;
    digitalWrite( 9, HIGH) ; // encender motor 2

    }

    W = “” ;
    w = ‘ ‘ ;
    }

    }
    void comandoESP(String cmd)
    {
    WIFI.println(cmd);
    if(WIFI.available())
    Serial.println(WIFI.readStringUntil(14));
    delay(1000);
    }

    • Hola WIlson, lo mejor para que alguien reise tu programa es que lo publiques en el foro y alli entre todos seguro que podemos hacer algo

  • Hola buenas tardes , estoy comenzando con este modulo , te hago una consulta , un amigo me dio un modulo de estos para revisar y modificar unos parámetros , es la primera vez que lo voy a conectar , como hago para ver lo del modulo sin joder nada de la programación , que me recomiendas ? , gracias y disculpa las molestias.

    • Miguel

    Hola, gracias por el apoyo con los videos, son muy buenos, mi consulta es si yo envió codigo html atravez de arduino y el esp8266 para construir mi pagina y encender un led , podria en ese codigo html cargarle tambien una imagen? como podria hacer eso o algo parecido?
    mi idea es poder capturar una imagen enviarla serialmente a arduino o algun microcontrolador y subirla a internet atravez del esp8266.
    gracias

    • Hola Miguel, no veo porque no vas a poder enviar una imagen. Es simplemente un codigo HTML mas. La cuestion es donde almacenas la imagen y que tipicamente suele ser una tarjeta SD. La puedes leer de alli y enviarla a internet con el codigo adecuado, que no me se pero que no deberia ser muy complicado

  • Hola. Muy buena toda la información que brindan.
    Quería hacer la siguiente consulta. Habiendo varias placas con ESP8266 en diferentes redes wifi domesticas, puedo accederlas desde un servidor donde tengo una página web? (la cual puedo programar con php)
    Muchas gracias.

    • Hola Charly, la idea basica es que una vez que tengas conectado a la red TCPIP tu esp8266 puedes comunicarlos directamente sin mas limitaciones como desees

      Unicamente, si las redes wifi son diferentes y en distintos puntos tienes que asegurarte de que tu router y el suyo te permite entrar, pero eso es ya una cuestion diferente

Give a Reply

WordPress Anti-Spam by WP-SpamShield