|   FOROS      |     Tutoriales    |     KIO4 |      
   Inicio B4A (Basic4Android) App inventor 2 WAMP - PHP - MySQL
   Elastix - VoIP Cosas de Windows Webs interesantes Arduino
  Estación meteorológica      

 


Nuevo concurso para España, Argentina, Brasil, Chile, Colombia, Ecuador, México, Perú y Portugal.

Arduino en español
Circuitos con Arduino - Juan Antonio Villalpando

-- Tutorial de iniciación a Arduino --

Volver al índice del tutorial                    Return to index tutorial

____________________________

Arduino. Button. Dimmer. LED.

 

57_5.- Módulo Wifi ESP8266 ESP-01.

1.- El ESP8266 Cliente de un servidor web.

- Desde el Serial Monitor de Arduino veremos una página web que se encuentra en un servidor web local.

- Vamos a utilizar el IDE 1.6.7 ya que contiene una herramienta para poder cargar al ESP8266.

- Hay varias acciones que repetirá varias veces, cargar el Bareminimun, quitar y poner la alimentación del módulo para que se reinicie, cambiar la velocidad del Serial Monitor de 9600 a 115200, poner y quitar el GPIO 0, cambiar en el IDE / Herramientas para el Arduino UNO y para Generic ESP8266,...

No hace falta realizar el proceso completo con la instalación del firmware que indico a continuación, si el usuario a estas altura ya controla este sistema, puede pasar al punto 10

1.- Ponemos el IDE 1.6.7 en Herramientas / Placa: Arduino UNO

2.- Desconectamos el ESP8266 y cargamos en el Arduino el programa BareMinimun.

3.- Conectamos el ESP8266 y lo ponemos en modo firmware con el GPIO 0 a GND.

4.- Bajamos el programa ESP8266_flasher.zip y cargamos el v0.9.2.4 AT Firmware-ESPFIX.bin, como lo hemos realizado en los tutoriales anteriores.

5.- Una vez cargado quitamos el cable del GPIO 0.

6.- Vamos al Serial Monitor. Lo ponemos en 9600.

7.- Cambiamos la velocidad del módulo a:

AT+CIOBAUD=115200
AT+CIOBAUD?

8.- Ponemos el Serial Monitor a 115200.

9.- Ponemos el IDE 1,6,7 en Herramientas / Placa: Generic ESP8266 Module.

( Cambiaremos a veces a Herramientas / Placa: Arduino UNO o Herramientas / Placa: Generic ESP8266 Module según las necesidades)

10.- Conectamos el ESP8266 a 3,3 V del Arduino y otra vez el GPIO 0 a GND. Además del TX y RX como lo hemos hecho en otros tutoriales.

11.- Cargamos este programa en el IDE y los subimos...

Conviene de vez en cuando quitar la alimentación del ESP8266 y volverla a poner si es que no carga bien.

Este código está en los Archivos / Ejemplos / ESP8266HTTPClient / BasicHttpClient

- Cambia la IP, en mi caso 192.168.1.3

Código
/**
 * BasicHTTPClient.ino
 *
 *  Created on: 24.05.2015
 *
 */

#include <Arduino.h>

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>

#include <ESP8266HTTPClient.h>

#define USE_SERIAL Serial

ESP8266WiFiMulti WiFiMulti;

void setup() {

USE_SERIAL.begin(115200);
// USE_SERIAL.setDebugOutput(true);

USE_SERIAL.println();
USE_SERIAL.println();
USE_SERIAL.println();

for(uint8_t t = 4; t > 0; t--) {
USE_SERIAL.printf("[SETUP] WAIT %d...\n", t);
USE_SERIAL.flush();
delay(1000);
}

WiFiMulti.addAP("nombredeturouter", "contraseñadelrouter");

}

void loop() {
// wait for WiFi connection
if((WiFiMulti.run() == WL_CONNECTED)) {

HTTPClient http;

USE_SERIAL.print("[HTTP] begin...\n");
// configure traged server and url
//http.begin("192.168.1.12", 443, "/test.html", true, "7a 9c f4 db 40 d3 62 5a 6e 21 bc 5c cc 66 c8 3e a1 45 59 38"); //HTTPS
http.begin("192.168.1.3", 80, "/test.html"); //HTTP

USE_SERIAL.print("[HTTP] GET...\n");
// start connection and send HTTP header
int httpCode = http.GET();
if(httpCode) {
// HTTP header has been send and Server response header has been handled
USE_SERIAL.printf("[HTTP] GET... code: %d\n", httpCode);

// file found at server
if(httpCode == 200) {
String payload = http.getString();
USE_SERIAL.println(payload);
}
} else {
USE_SERIAL.print("[HTTP] GET... failed, no connection or no HTTP server\n");
}
}

delay(10000);
}

12.- Quitamos el cable del GPIO 0

13.- Abrimos el Serial Monitor, con velocidad 115200 y observamos la IP asignada, por ejemplo 192.168.1.7

Podemos independizar al módulo ESP8266 del Arduino.

Alimentamos del ESP8266 con alimentación externa, (o bien con el Arduino, en caso que no tengas fuente de alimentación externa. pero le quitamos TX y RX)

14.- Conectamos un LED al terminal GPIO 2 del módulo.

15.- Por otra parte instalamos en nuestro ordenador un servidor web local, por el ejemplo el WAMP. Ver instalación del WAP.

En la carpeta de wamp: C:\wamp\www

creamos un archivo llamado test.html con este contenido

Código HTML
<!DOCTYPE html>
<html>
<head>
<title>KIO4.COM</title>
</head>
<body>
Web con <br>
ESP8266.
</body>
</html>

Cuando cargemos el Steck en el ESP8266 y consultemos el Serial Monitor saldrá esto...

El ESP8266 estará funcionando como cliente web del Servidor construido con el WAMP. La información se refrescará cada 10 segundos.

 

________________________________
ESP8266-12E

NOTA: en vez de comprar el ESP8266-12E, ve al tutorial 57modulowifi_7 y compra el NodeMCU.

------------------------------------------------

- El ESP8266-12E es una versión mejorada del ESP8266-01, principalmente tiene más terminales de entrada y salida GPIO.

- La ESP8266-12E es mejor que la ESP8266-12

Modelo: ESP8266-12E/ESP8266MOD

Fr: 2.4 GHz

- Tiene como característica negativa que se ha de realizar las conexiones mediante soldadura.

 

- VCC/GND - connected to voltage regulator output with additional 100uF close to the module
- CH_PW - connected via 12k R to VCC
- REST - connected via 12k R to VCC and push-button to GND for reset
- TXD - connected to RXD of CH340
- RXD - connected to TXD of CH340
- GPIO0 - connected via 12k R to VCC and Jumper to GND for flash mode
- GPIO2 - connected via 12k R to VCC
- GPIO15 - connected via 12k R to GND
- all other pins floating

- No he realizado tutorial sobre este modelo, pero se aplicarían los mismos procedimientos que hemos visto-

- Aquí algunos sitios de consulta.

http://www.vispo.es/2015/07/21/puesta-en-marcha-del-soc-wifi-esp8266-esp-12-en-una-protoboard/

Os resumo a continuación lo más importante:

- CH_PD,  y GPIO_2 siempre en HIGH mediante resistencias de 10k a 3,3V (pull-up)

- GPIO_15 siempre a LOW mediante resistencia de 10k a Tierra (pull-down)

- GPIO_0 a HIGH mediante resistencia de 10K (pull-up) para el funcionamiento normal del chip o a GND para cuando necesitemos flashear el chip. Modo normal cuando el interruptor S1 esta abierto o modo flasheo cuando S1 esta cerrado.

- REST a HIGH mediante resistencia de 10K (pull-up) en modo normal pero que cuando se pulsa el pulsador S3 se resetea (reinicializa) el chip. Necesario si queremos resetear el chip en modo normal o resetearlo en modo flasheo justo despues de cerrar el interruptor S1.

---------------

 

 

http://thinkingparts.blogspot.com.es/2015_08_01_archive.html

http://esp8266.github.io/Arduino/versions/2.1.0-rc2/doc/boards.html

https://www.youtube.com/watch?v=FWQ7D8zzYnk

https://www.youtube.com/user/biblioman09/videos?nohtml5=False

________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información