Novedades
Más comprados
- T7000 HNBC Pegamento Adhesivo T-7000 15ml NEGRO transparente Pantalla LCD Móvil 3,14€
- T7000 HNBC Pegamento Adhesivo T-7000 50ml NEGRO transparente Pantalla LCD Móvil 5,14€
- PANTALLA DE CRISTAL PARA GAME BOY 54,40€
- 3x caja plastico almacenaje joyas electrónica herramientas collar 16.5x12x6 16,00€
- 3x caja plastico almacenaje joyas electrónica herramientas collar 14.2x8.2x3.4 10,50€
Lo que nos diferencia del resto
Atención Personalizada
Estamos aquí para ayudarle, si necesita información sobre un producto, tiene alguna duda o requiere asistencia con su pedido, no dude en contactar con nosotros.
Presupuestos a medida
Pida presupuesto sin ningún tipo de compromiso, tenemos descuentos para docentes y precios especiales por volumen.
¿Necesita distribuidor?
Queremos ser su proveedor de electrónica ¿Necesita productos que no tenemos en el catálogo? Los buscaremos y le daremos presupuesto y plazo de entrega.
En nuestra entrada de hoy, conoceremos la tecnología WIFI y haremos una practica en la que conectamos Arduino a una de estas redes, configuraremos el sistema y enviaremos datos desde nuestro navegador web a Arduino.
Para hacer esto, hemos elegido el módulo ESP8266, ya que es una de las mejores y más económicas opciones que nos ofrece el mercado.
En primer lugar, decir que este módulo es muy sencillo de usar y esta diseñado desde el principio para la corriente tecnológica del Internet de las cosas. Este módulo incluye todo lo necesario para conectarse a un punto WIFI enviando comandos AT (Comandos de texto) mediante un puerto serie.
Algo sobre la tecnología WIFI
WI-FI, es una marca comercial de la WIFI-Alliance, esta es la organización encargada de certificar que los equipos cumplan los standares para usar esta tecnología.
WIFI, es un metodo de conexión de los dispositivos electrónicos de forma inalámbrica, con un alcance de 20m en interiores y algo superior en exteriores.
Materiales usados
Arduino UNO R3 | |
Módulo ESP8266 | |
Cables |
Conexion del módulo
En la siguiente imagen se puede ver una descripción de los pines del módulo.
El pin GND del módulo lo conectamos a GND de Arduino, VCC y RST, lo conectamos al pin de 3,3V de Arduino. TX lo conectamos al pin 2 de Arduino y RX al pin 3.
Decir que si usamos como fuente de alimentación la que incorpora Arduino de 3,3V tendremos problemas en el arranque, ya que está fuente nos proporciona una corriente máxima de salida de 50mA y el módulo en su arranque necesita algo más.
Aun así para la primera toma de contacto y hacer algunas pruebas se puede usar los 3,3V de Arduino. Si se dispone de una fuente externa a Arduino es aconsejable usarla.
Práctica. (Primer programa y comandos AT)
Código
En primer lugar carga el siguiente código en tu Arduino
#include <SoftwareSerial.h> SoftwareSerial BT1(3, 2); // RX | TX void setup() { Serial.begin(9600); BT1.begin(9600); } void loop() { String B= "." ; if (BT1.available()) { char c = BT1.read() ; Serial.print(c); } if (Serial.available()) { char c = Serial.read(); BT1.print(c); } }
A continuación abrimos el monitor serial de nuestro arduino y nos aseguramos que esta bien configurado. (Configurar como la imagen).
Si en el monitor serial no aparece nada, desconecta y vuelve a conectar la alimentación, es posible que el modulo wifi no haya arrancado por el motivo que antes comentábamos.
Como se aprecia en la imagen superior, tiene que aparecer el mensaje “ready” cuando el módulo haya arrancado. Los símbolos que parecen en las primeras lineas son normales, no hace falta prestarles mucha atención.
Empezamos con los comandos AT.
El primer comando que usaremos será, AT. Escribimos AT y pulsamos intro.
El módulo os responderá con un OK si recibió correctamente los comandos.
El ESP8266 tiene tres modos de funcionamiento, 1,2y3. La mejor opción según nuestra experiencia es la 3.
Para cambiarlo usad el comando AT+CWMODE=(número de modo).
Para saber el modo actual usad el comando; AT+CWMODE?, después si no tenéis el modo 3 seleccionado, lo seleccionáis.
El siguiente comando os ayudará a saber que puntos WIFI tenéis a vuestros alrededores.
Este comando es: AT+CWLAP
Aparecen 2, LIBERATEL.ES es la nuestra.
El siguiente paso es conectarse al uno de los puntos WIFI que os apareció antes. Para esto hay que usar el siguientes comando:
AT+CWLAP= “nombre del punto”, “contraseña”
Al poco tiempo, si todo esta bien, el modulo os responderá con un OK y esto nos indica que esta conectado correctamente.
Para saber que IP os ha asignado el módulo automáticamente, tecleamos el comando: AT+CIFSR.
A nosotros en concreto nos ha asignado la dirección 192.168.2.100
Ahora se puede empezar con a manejar cosas más interesantes de este módulo, como por ejemplo montar un pequeño servidor web.
Para activar conecciones simultaneas teclea:AT+CIPMUX=1
y para arrancar un servicio web con el número de servicio 1 y el puerto 80 teclea:
AT+CIPSERVER=1,80.
Una vez configurado el módulo para hacer funcionar Arduino como servidor WEB, podéis enviar datos desde el navegador a Arduino de una forma muy sencilla.
Por ejemplo; escribiendo en el navegador esto…
en el monitor serial aparecerá esto…
Conclusiones y resultados
En esta entrada del blog de Leantec; hemos aprendido a usar el módulo ESP8266. Conectándolo a nuestra red WIFI, hemos enviado datos desde nuestro navegador web a Arduino.
También aprendimos un poco sobre el protocolo WIFI.
En próximos post profundizaremos más en este módulo y sus posibilidades.
Written by leantec.ES
Equipo de Leantec.ES
Ya he proved varias vexes y me do error pone.
+cwjap:1
Fail
Q puede ser muchas graciass
Buenas, he probado ha hacer lo que dices pero no me aparece nada en el monitor serial aunque conecte y desconecte la alimentación. Sabes por qué puede ser?
TX lo conectamos al pin 2 de Arduino y RX al pin 3.
conexión modulo esp8266 ES AL REVES
por que razón no se conecto TX del modulo con PIN1(TX) DEL ARDUUINO y RX del modulo, con PIN0(RX) DEL ARDUINO?
queria avisarle que esta mal el comando AT+CWLAP= “nombre del punto”, “contraseña”
que escribió, el que me funciono fué:
AT+CWJAP= “nombre del punto”, “contraseña”
para que lo edite 🙂
Buena guía.
Buenas tardes, Llevo poco tiempo con arduino y mi problema es que cada vez que quito alimentacion al módulo ESP8266, el comando AT+CIPMUX cambia de 1 a 0 y pierdo la comunicación.
¿Podrias darme una solución al problema?
Muchas gracias
Rafael
hola, necesito enviar datos de un arduino a una base de datos haciendo uso del esp8266 pero de momento me es imposible, si pudieran proporcionarme una guía me seria muy util
Hola eduardo, yo quiero hacer lo mismo, lograste realizar algo? podrias compartirlo. muchas gracias de antemano
Por cierto, a mi me funciona con la propia alimentacion del arduino DUE (en mi caso 3.3v), gracias a que pongo a nivel bajo y tras esperar un instante lo pongo a nivel alto, las dos patillas que unos dicen que no se conectan, y otros dicen que se deben dejar fijos a nivel alto.
======= int LED = 13;
boolean LEDst = false;
//este par de pines han de estar en estado HIGH para que opere el modulo wifi.
//pero debo pasarlos de LOW a HIGH tras el encendido para que se active el wifi.
//y para ello debo añadir un DELAY(1), o no se activara el wifi.
int RST_8266 = 51;
int CH_PD_8266 = 53;
void setup() {
pinMode(RST_8266, OUTPUT);
pinMode(CH_PD_8266, OUTPUT);
pinMode(LED, OUTPUT);
digitalWrite(LED, LEDst);
Serial.begin(74880); // la del arduino
Serial3.begin(74880); // la del modulo wifi
delay(1);
digitalWrite(RST_8266, LOW);
digitalWrite(CH_PD_8266, LOW);
delay(1);
digitalWrite(CH_PD_8266, HIGH);
digitalWrite(RST_8266, HIGH);
}
void loop() {
while (Serial.available() > 0) {
char a = Serial.read();
Serial3.write(a);
}
}
void serialEvent3() {
while (Serial3.available() > 0) {
char a = Serial3.read();
Serial.write(a);
ToggleLED();
}
}
void ToggleLED(){
//por cada respuesta del wifi se cambia el estado del LED
digitalWrite(LED, LEDst = !LEDst);
}
=======
hay dos velocidades en baudios.
la del modulo wifi puede ser diferente a 9600
en mi caso tuve que probar hasta dar con la de 115200
Cuando empezo a funcionar bien, use el comando AT+CIOBAUD=74880 y esos son los que se quedan fijos en el modulo wifi hasta que los cambie yo de nuevo.
Luego, los baudios del arduino conviene igualarlos a los del modulo wifi para que no pierda caracteres el arduino al recibir textos muy largos.
yo he puesto ambas velocidades a 74880 y asi recibo todos los mesajes del modulo wifi, esos que salen al principio en forma rara.
Hola he recibido un modulo esp 07 y lo he conectado con el arduino pero no recibo ninguna contestacion por parte del modulo. He probado todo, el arduino recibe pues si hago contactos a masa con un cable algun simbolo sale. El modulo ya lo puse a 3,3 v con baterias y he puesta a vcc la pata»RSTt» y «EN» ademas de la vcc y nada de nada.
Pregunta hay que programar o hacer algo con el modulo antes?
TX>>3; RX>>2; GPIO15&GND>>GND; RST&EN&VCC>>3.3V
void setup()
{ Serial.begin(115200);
BT1.begin(115200);
}
Serial Monitor >> 115200baud
Desconecta y vuelve a conectar la alimentacion
Hola.
He probado tu ejemplo con dos módulos esp8266 (el 01 y el 12) y sólo consigo recibir cadenas de caracteres extraños con ambos. He probado con las conexiones que indicas y también poniendo el pin CHPD/EN a +3.3 V. También he probado con otras velocidades y nada. ¿a qué se puede deber?
Lo alimento con una fuente externa (de un PC).