ESP8266 Módulo WiFi Deja un comentario

ESP8266, ¿Qué es?

El ESP8266 es un módulo con sistema Wi-Fi en el chip (SoC) desarrollado por el sistema Espressif. Se utiliza principalmente para el desarrollo de aplicaciones integradas en la IOT, Internet de las Cosas.

Módulo ESP8266

Características de ESP8266

El ESP8266 viene con las siguientes características:

  • Wi-Fi de 2,4 GHz (802.11 b/g/n, compatible con WPA/WPA2)
  • entrada/salida de propósito general (16 GPIO)
  • Protocolo de comunicación serie Inter-Integrated Circuit (I²C)
  • conversión de analógico a digital (ADC de 10 bits)
  • Protocolo de comunicación serie SPI (Serial Peripheral Interface)
  • Interfaces I²S (Inter-IC Sound) con DMA (Direct Memory Access) (compartiendo pines con GPIO)
  • UART (en pines dedicados, más un UART de sólo transmisión que se puede habilitar en la GPIO2)
  • modulación de ancho de pulso (PWM).

El ESP8266 emplea una CPU RISC de 32 bits basada en la Tensilica Xtensa L106 que funciona a 80 MHz (o con overclocking a 160 MHz). Tiene una ROM de arranque de 64 KB, 64 KB de RAM de instrucciones y 96 KB de RAM de datos. Se puede acceder a la memoria flash externa a través de SPI.

El módulo ESP8266 es un transceptor inalámbrico independiente de bajo coste que puede utilizarse para desarrollos de punto final IoT.

Para comunicarse con el módulo ESP8266, el microcontrolador necesita utilizar una serie de comandos AT. El microcontrolador se comunica con el módulo ESP8266-01 utilizando UART con la velocidad de transmisión especificada.

Hay muchos fabricantes de terceros que producen diferentes módulos basados en este chip. Por lo tanto, el módulo viene con diferentes opciones de disponibilidad de pines como,

  • El ESP-01 viene con 8 pines (2 pines GPIO) – Antena de rastreo PCB. (mostrado en la figura anterior)
  • El ESP-02 viene con 8 pines, (3 pines GPIO) – Conector de antena U-FL.
  • El ESP-03 viene con 14 pines, (7 pines GPIO) – Antena de cerámica.
  • El ESP-04 viene con 14 pines, (7 pines GPIO) – Sin antena

Por ejemplo, la siguiente figura muestra los pines del módulo ESP-01

ESP8266-01 Módulo Descripción de Pines

ESP8266 01 Modulo Pin Descripcion

ESP8266 01 Modulo Pin Descripción

  • 3V3: – Pin de alimentación de 3,3 V.
  • GND: – Pin de tierra.
  • RST: – Pin activo de reajuste bajo.
  • EN: – Pin activo de alta habilitación.
  • TX: – Serial Transmit Pin of UART.
  • RX: – Pin de recepción en serie de UART.
  • GPIO0 y GPIO2: – Pines de E/S de propósito general. Estos pines deciden en qué modo (boot o normal) se inicia el módulo. También decide si los pines TX/RX se utilizan para programar el módulo o para fines de E/S en serie.

Para programar el módulo usando UART, conecte GPIO0 a tierra y GPIO2 a VCC o déjelo abierto. Para usar UART para E/S serie normal, deje ambos pines abiertos (ni VCC ni tierra).

Para más información, consulta http://esp8266.net/

Ahora, antes de empezar con la interfaz del ESP8266, necesitamos actualizar su firmware.

Descarga de Firmware

Hay muchas plataformas de software y hardware, firmware y frameworks disponibles, que son específicos para sus aplicaciones, por ejemplo:

El firmware del ESP8266 se proporciona en archivos de formato binario (.BIN) que se pueden descargar directamente en el chip ESP8266.

Estos archivos binarios se generan utilizando ESP8266 SDK (Software Development Kit), que es una plataforma de desarrollo de aplicaciones producida por Espressif. El sistema operativo Linux es necesario para compilar el SDK ESP8266. El usuario de Windows puede utilizar la máquina virtual.

Para más información sobre la compilación del SDK ESP8266, consulta ESP8266_Getting_Started_Guide o descarga el ESP8266 que se adjunta a continuación.

Después de la compilación, descarga el firmware directamente en el chip ESP8266 a través del puerto serie.

Descargue el Firmware del SDK Espressif NON-OS en el módulo ESP8266.

Primero descarga ESP8266 FLASH DOWNLOAD TOOL que es la herramienta oficial de descarga de firmware desarrollada por Espressif.

Segundo descarga Espressif NON-OS SDK Firmware

Ahora selecciona los archivos.bin con su dirección respectiva como se muestra en la siguiente figura.

boot_v1.2.bin                         ————————————————>          0x00000

user1.1024.new.2.bin           ————————————————>          0x01000

esp_init_data_default.bin     ————————————————>          0xfc000

blank.bin                                 ————————————————>          0x7e000

blank.bin                                 ————————————————>          0xfe000

ESP8266 download tool

ESP8266 download tool

Ten en cuenta que todos los archivos binarios (.BIN) están disponibles en el directorio ESP8266_NONOS_SDK-masterbin excepto user1.1024.new.2.bin que podemos generar a partir de la compilación del SDK y que se encuentra en la subcarpeta del directorio ESP8266_NONOS_SDK-masterbin.

Asegúrate de que has seleccionado el puerto COM y la velocidad BAUD correctos (115200 por defecto).

Ahora conecta el módulo ESP8266 al ordenador con puerto serie estándar RS232 (utilizando el convertidor USB a serie en caso de ordenador portátil) como se muestra en la figura siguiente.

Módulo ESP8266 Conexión serial con PC

Módulo ESP8266 Conexión serial con PC

Ten en cuenta que, para poner el ESP8266 en modo flash, realiza las conexiones como se indica en la figura anterior (entre el ESP8266 y el convertidor USB a Serial) y luego conéctalo únicamente a un PC/laptop. No olvides conectar el pin GPIO0 a tierra.

Luego haz clic en la pestaña START en ESP8266 DOWNLOAD TOOL, y espera hasta que termine. Después de terminar el proceso de flash, desconecta el módulo ESP8266 del PC/laptop y retira la conexión a tierra en el pin GPIO0.

Después de descargar con éxito el firmware, podemos utilizar los siguientes comandos AT para la comunicación con el servidor y el cliente utilizando el ESP8266.

Esta vez no conecte los pines GPIO0 y GPIO2, deja los pines abiertos/desconectados.

ESP8266 AT Conjunto de comandos

Function AT Commands Response
Working AT OK
Restart AT+RST OK

…….

Ready

Firmware Version AT+GMR information about AT version

information about SDK version

time of the bin was compiled

OK

List Access Point AT+CWLAP +CWLAP:,,,,,

OK

Query Joined Access Point AT+CWJAP? +CWJAP:,,,

OK

Join Access Point AT+CWJAP=”SSID”,”Password” WIFI CONNECTED

WIFI GOT IP

OK

Quit Access Point AT+CWQAP OK

WIFI DISCONNECTED

Get IP Address AT+CIFSR

(Assuming AT+CWMODE=3)

+CIFSR:APIP,

+CIFSR:APMAC,

+CIFSR:STAIP,

+CIFSR:STAMAC,

OK

Query WiFi Mode AT+CWMODE? +CWMODE:
Set WiFi Mode AT+CWMODE=

Mode: –

1 = STA (station)

2 = AP (Access Point)

3 = BOTH i.e. STA & AP

OK
Query TCP/UDP Connection AT+CIPMUX? +CIPMUX:
Set TCP/UDP Connection AT+CIPMUX=

Mode: –

0 = Single Connection

1 = Multiple Connection

OK
TCP/IP Connection status AT+CIPSTATUS STATUS:

Possible statuses are

2: Got IP

3: Connected

4: Disconnected

Query TCP transmission mode AT+CIPMODE? +CIPMODE:
Set TCP transmission mode AT+CIPMODE=

Mode: –

0 = Normal mode

1 = Transparent mode

OK
Set up TCP/UDP connection (CIPMUX=0) AT+CIPSTART = ,,

(CIPMUX=1) AT+CIPSTART= ,,,

Example (CIPMUX=0):

AT+CIPSTART=”TCP”,”192.168.101.110″,80

CONNECT

OK

Send Data (CIPMUX=0) AT+CIPSEND=

(CIPMUX=1) AT+CIPSEND=,

OK

>

(Note: write your data after > and enter it to send it will return status like.)

Recv bytes

SEND OK

(after we receive response from server if any for default auto receive mode)

(CIPMUX=0): + IPD, :

(CIPMUX=1): + IPD, , :

Close TCP/UDP Connection AT+CIPCLOSE CLOSED

OK

También te puede interesar

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Enviar Whatsapp
Hola 👋
¿En qué podemos ayudarte?