Tabla de contenido:

ESP8266 ESP-12E UART Convertidor TTL inalámbrico WIFI Shield sin complicaciones: 5 pasos
ESP8266 ESP-12E UART Convertidor TTL inalámbrico WIFI Shield sin complicaciones: 5 pasos

Video: ESP8266 ESP-12E UART Convertidor TTL inalámbrico WIFI Shield sin complicaciones: 5 pasos

Video: ESP8266 ESP-12E UART Convertidor TTL inalámbrico WIFI Shield sin complicaciones: 5 pasos
Video: Conexion WIFI |ESP8266 | IoT 2021 2024, Junio
Anonim
ESP8266 ESP-12E UART Convertidor TTL inalámbrico WIFI Shield sin complicaciones
ESP8266 ESP-12E UART Convertidor TTL inalámbrico WIFI Shield sin complicaciones

Esta guía está destinada a ayudar a las personas que han comprado el convertidor TTL de escudo WIFI inalámbrico ESP8266 ESP-12E UART y no saben cómo usarlo con Arduino.

Inicialmente, este tutorial se escribió en portugués aquí en Brasil. Hice lo mejor que pude para escribirlo en inglés. Así que perdóname por algunos errores que pueda haber al escribir.

Este instructables se dividió de la siguiente manera:

Paso 1: Conozca el convertidor TTL de escudo WIFI inalámbrico ESP8266 ESP-12E UART para Arduino

Paso 2: Actualización de firmware en ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para Arduino

Paso 3: ¿Shiald, Shield, More y Moer? ¿Importa?

Paso 4: Shield Moer - Solución de la comunicación en serie RX / TX

Paso 5: servidor web con ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para Arduino

Te recomiendo que leas todos los pasos para aprender lo más posible sobre este escudo.

Paso 1: Conozca el convertidor TTL de escudo WIFI inalámbrico ESP8266 ESP-12E UART para Arduino

El ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter (Shield WiFi ESP8266) facilita la conexión del Arduino a redes WiFi a través del ESP8266. Al usarlo, ya no es necesario montar un circuito con varios componentes y cables para interconectar un ESP8266 al Arduino, simplemente conecte la placa al Arduino, coloque la ruta del interruptor DIP de acuerdo con el modo de operación del escudo y programe el Arduino para conectarse a redes WiFi. Además, la placa se puede utilizar sin Arduino, ya que tiene disponibles todos los pines del ESP-12E.

En el escudo hay información de que fue creado por una persona llamada WangTongze y quien posee los derechos del mismo es elecshop.ml. Inicialmente, el creador del escudo intentó recaudar fondos para su proyecto a través de Indiegogo (sitio de financiación colectiva), pero no logró recaudar fondos.

Características del modelo ESP8266 ESP-12E:

- Arquitectura RISC de 32 bits- El procesador puede operar a 80MHz / 160MHz- Memoria flash de 32MB- 64kB para instrucciones- 96kB para datos- WiFi nativo estándar 802.11b / g / n- Opera en modo AP, Station o AP + Station- Tiene 11 pines digitales- Tiene 1 pin analógico con resolución de 10 bits- Pines digitales excepto el D0 que tienen interrupción, PWM, I2C y un cable- Programable a través de USB o WiFi (OTA) - Compatible con Arduino IDE- Compatible con módulos y sensores usados en Arduino

A continuación puedes leer las principales características de este escudo:

- El tamaño del Arduino Uno R3 y el pinning es compatible con Arduino Uno, Mega 2560, Leonardo y derivados.- Las versiones menores del Arduino (Nano y Pro Mini, por ejemplo) son compatibles, pero las conexiones deben realizarse mediante jumpers.- El voltaje de Arduino (5V) se usa para alimentar el escudo.- Tiene regulador de voltaje AMS1117 de 3.3V, por lo que el voltaje de 5V suministrado por el Arduino se reduce para alimentar el escudo sin la necesidad de energía externa.- Tiene convertidor de nivel lógico incorporado, por lo que el nivel Arduino TTL (5V) no daña el ESP8266 que opera con nivel TTL 3.3V.- Tiene un interruptor DIP de 4 vías que sirve para cambiar los modos de operación de la placa.- Modos de operación disponibles: WiFi Shield para Arduino / envío de comandos AT a través de Arduino / actualización de firmware a través del convertidor USB Serial externo / independiente.- Tiene LEDs indicativos (PWR / DFU / AP / STA).- Por estar en formato shield permite insertar otros shields y módulos.- Tiene el botón ESP-RST para resetear el ESP8266.- Th El pin ESP8266 ADC está disponible en dos formas en la placa, la primera en un pin con rango de lectura de 0 a 1V y la segunda forma en el rango de 0 a 3.3V.

En la imagen se destacan las partes principales del escudo:

Imagen
Imagen

A (PINS DIGITALES): secuencia de pines utilizados por el Arduino.

B (ESP8266 PINS): ESP8266-12E y sus respectivos pines. En la parte posterior de la placa está la nomenclatura de los pines.

C (CONEXIÓN DE ADAPTADOR USB SERIE EXTERNO): Secuencia de pines utilizada para conectar el adaptador USB serie externo para actualizar el firmware o depurar el ESP8266.

D (PINS DE MANTENIMIENTO DEL ESCUDO): Una secuencia de tres pines identificada como Sólo mantenimiento y utilizada para verificar que el regulador de voltaje esté recibiendo y suministrando los voltajes correctamente. NO DEBE UTILIZARSE COMO FUENTE DE SUMINISTRO.

E (INTERRUPTOR DIP PARA MODIFICAR LOS MODOS DE FUNCIONAMIENTO): Interruptor DIP de cuatro vías para cambiar los modos de funcionamiento.

CONTACTO 1 (P1) y CONTACTO 2 (P2): se utiliza para conectar el RX (representado por P1) y TX (representado por P2) del ESP8266 a los pines Arduino D0 (RX) y D1 (TX). P1 y P2 en la posición OFF deshabilitan la conexión RX de ESP8266 a Arduino TX y TX de ESP8266 a Arduino RX.

CONTACTO 3 (P3) y CONTACTO 4 (P4): se utilizan para habilitar y deshabilitar el modo de actualización de firmware para ESP8266. Para habilitar la escritura / carga de firmware en ESP8266, P3 y P4 deben estar en la posición ON. Cuando P4 está en la posición ON, el LED DFU se iluminará, lo que indica que el ESP8266 está habilitado para recibir el firmware. Para deshabilitar el modo de actualización de firmware y configurar el ESP8266 en operación normal, simplemente configure P3 y P4 en APAGADO.

NOTA: Los 4 contactos en la posición APAGADO indican que el ESP8266 está funcionando en modo normal al lado del Arduino

F (AD8 FROM ESP8266): asignación de pines para el ESP8266 ADC. Un pin que opera en el rango de 0 a 1V y otro pin que opera en el rango de 0 a 3.3V. Estos pines solo se usarán cuando se use ESP8266 solo (modo independiente).

G (RESET ESP8266): botón utilizado para restablecer ESP8266. Siempre que cambie la posición de los interruptores DIP, debe presionar el botón ESP-RST.

H (PIN ANALÓGICO Y FUENTE DE ALIMENTACIÓN): secuencia de pines que utiliza el Arduino.

Este escudo tiene una peculiaridad en los contactos P1 y P2 del DIP Switch y esta particularidad, de hecho genera una gran duda en las personas que intentan utilizar el escudo.

Según el creador del escudo, al conectarlo al Arduino solo se requerirán 2 pines. Estos pines serían D0 y D1 (Arduino's RX y TX respectivamente) y además, los contactos P1 y P2 del DIP Switch en el escudo deben estar en la posición ON para la conexión.

En uno de los únicos documentos chinos que he recibido sobre este escudo, el creador del tablero dice:

P1 y P2 son codificadores de bits y se utilizan para determinar si la serie ESP8266 está conectada o no a Arduino D0 y D1.

En otra sección del documento se menciona:

Esta placa de expansión mantiene ocupada la serie Arduino, conectando RX desde ESP8266 a TX desde Arduino y TX desde ESP8266 a Arduino RX.

Los pines D0 (RX) y D1 (TX) de Arduino corresponden a la comunicación serial / USB nativa, por lo que estos pines permanecen ocupados siempre que enviamos código a la placa o usamos el monitor serial. Por lo tanto, si los contactos P1 y P2 del escudo están en la posición ON, el ESP8266 estará usando Arduino D0 y D1 y no será posible enviar códigos o usar el serial ya que estará ocupado. Además, para enviar comandos AT al shield, es necesario que el ESP8266 RX esté conectado al Arduino RX y que el ESP8266 TX esté conectado al Arduino TX. Esto solo ocurrirá si invertimos las conexiones como se muestra en la siguiente imagen:

Imagen
Imagen

Mira, he doblado los contactos D0 y D1 del escudo, y conecté el Arduino D0 al D1 del escudo y D1 del Arduino al D0 del escudo. Al usar la conexión de esta manera (Arduino se usa como puente de conexión), pude enviar comandos AT al ESP8266 y confirmé lo que ya imaginaba.

La forma estándar de operación del escudo requiere que se cargue un código (servidor web o firmware, por ejemplo) en el escudo y se cargue otro código en el Arduino para enviar, recibir e interpretar los datos que vienen a través de la serie nativa. Más detalles sobre esta forma de comunicación se verán en los próximos pasos.

De todos modos, esta característica del shield no interfiere en su funcionamiento, ya que solemos emular un serial en otros pines digitales de Arduino para que podamos tener disponible el serial nativo. Además, si es necesario enviar comandos AT al shield, podemos conectarlo al Arduino a través de cuatro cables o usar un convertidor USB serial.

Finalmente, el blindaje era muy estable y facilitaba mucho el montaje de los circuitos. Probé con Arduino Uno R3 y Mega 2560 R3.

En el siguiente paso, aprenderá cómo actualizar / cambiar el firmware del escudo.

Paso 2: Actualización de firmware en ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para Arduino

Para conectar el blindaje al ordenador es necesario utilizar un convertidor USB serie. Si no tiene un convertidor USB serie convencional, puede utilizar el convertidor Arduino Uno R3 como intermedio. Hay varios modelos de convertidores USB en serie en el mercado, pero para este tutorial utilicé el adaptador convertidor USB serie TTL PL2303HX.

Para actualizar el escudo, use:

Herramientas de descarga de Flash ESP8266

El firmware que se utilizará es:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware

Una vez que haya descargado el programa y el firmware, copie ambos en la raíz (unidad C) de su Windows.

Descomprima flash_download_tools_v2.4_150924.rar y se generará la carpeta FLASH_DOWNLOAD_TOOLS_v2.4_150924.

Usando el convertidor USB serial Arduino Uno R3 como intermedio:

El siguiente paso es conectar el escudo a la computadora. Si no tiene un convertidor USB serial estándar, puede usar el Arduino Uno R3 para unir el escudo y la computadora. Además del Arduino Uno R3 con cable USB, necesitará:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter 04 - Cables de puente macho-hembra

NOTA: Antes de montar el diagrama de cableado de Arduino, debe cargar un código en blanco en la placa para asegurarse de que no se esté utilizando el convertidor USB en serie. Cargue el siguiente código en su Arduino y proceda:

void setup () {// ponga su código de configuración aquí, para que se ejecute una vez:} void loop () {// ponga su código principal aquí, para que se ejecute repetidamente:}

Imagen
Imagen

NOTA: Tenga en cuenta al conectar el pin de protección de 3.3V al Arduino.

Usando el adaptador convertidor USB TTL serial PL2303HX:

Necesitará los siguientes elementos además del adaptador convertidor USB serie TTL PL2303HX:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter 04 - Cables de puente macho-hembra

Imagen
Imagen

NOTA: El PL2303 tiene alimentación de 5V y 3V3. Utilice energía 3V3 e ignore el pin de 5V

Después de realizar uno de los esquemas de conexión anteriores, simplemente conecte el cable USB (al Arduino y la computadora) o el convertidor USB en serie a la computadora.

Luego vaya al 'Panel de control' en Windows, 'Administrador de dispositivos', y en la ventana que se abre, vaya a 'Puertos (COM y LPT)'. Puede ver el dispositivo conectado y el número de puerto COM en el que se asignó. Como demostración, conecté tanto el Arduino como el convertidor USB serial en la computadora y en la imagen de abajo puedes ver cómo aparecen los dispositivos en el administrador:

Imagen
Imagen

Si está utilizando PL2303HX y Windows no lo reconoce, acceda a la publicación Serial TTL USB Converter PL2303HX - Instalación en Windows 10, vea cómo resolverlo y luego regrese para continuar.

Ahora vaya a la carpeta FLASH_DOWNLOAD_TOOLS_v2.4_150924 y ejecute ESP_DOWNLOAD_TOOL_V2.4.exe:

Imagen
Imagen

En el escudo, coloque los contactos P3 y P4 del interruptor DIP en la posición ON y luego presione el botón ESP-RST en la tarjeta para que el escudo ingrese al modo de actualización de firmware:

Imagen
Imagen

Con el programa abierto, desmarque la opción 'SpiAutoSet', seleccione el puerto COM, seleccione 'BAUDRATE' 115200, desmarque cualquier casilla de verificación marcada en 'Download Path Config', configure las otras opciones como se muestra a continuación y haga clic en 'START':

Imagen
Imagen

Si la comunicación con ESP8266 WiFi Shield está bien, verá información en 'INFORMACIÓN DETECTADA', 'Dirección MAC' y 'SINCRONIZACIÓN':

Imagen
Imagen

NOTA: Si el programa devuelve 'FAIL', verifique si ha seleccionado el puerto COM correcto, verifique si las teclas P3 y P4 del interruptor DIP están ENCENDIDAS, haga clic en el botón ESP-RST, haga clic en DETENER y nuevamente haga clic en INICIAR.

En 'Download Path Config' debe seleccionar el archivo 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' descargado. Haga clic en el '…' del primer campo y en la ventana que se abre navegue hasta la carpeta donde colocó el firmware y seleccione el archivo 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin'. En el campo 'ADDR', complete el desplazamiento 0x00000 y marque la casilla de verificación para finalizar. Cuando termine, tendrá la configuración como se muestra a continuación:

Imagen
Imagen

Ahora haga clic en INICIAR para iniciar el proceso:

NOTA: Si está utilizando el convertidor USB serie Arduino como intermedio entre el escudo y la computadora, haga clic en el botón ESP-RST del escudo antes de hacer clic en INICIO. Si está utilizando un convertidor USB serie convencional, este procedimiento no es necesario

Imagen
Imagen

Espere a que se complete el proceso de actualización del firmware (el proceso tardará aproximadamente siete minutos en completarse):

Imagen
Imagen

Después de completar el proceso de actualización del firmware, cierre las ventanas ESP_DOWNLOAD_TOOL_V2.4, regrese los contactos P3 y P4 del interruptor DIP a la posición APAGADO y presione el botón ESP-RST en el escudo para que pueda salir del modo de actualización del firmware.

Ahora abra el IDE de Arduino para que pueda enviar comandos AT a la placa para verificar que el firmware se haya actualizado correctamente y que la placa esté respondiendo a los comandos.

Con el IDE abierto, vaya al menú 'Herramientas' y luego en la opción 'Puerto' seleccione el puerto COM. Tenga en cuenta en la imagen de abajo que seleccioné el puerto COM7 (su puerto probablemente será diferente):

Imagen
Imagen

NO necesita seleccionar la placa en el IDE, ya que esto es irrelevante para enviar comandos AT.

Abra el 'Monitor de serie' y en el pie de página compruebe si la velocidad está configurada en 115200 y si se selecciona 'Ambos, NL y CR':

Imagen
Imagen

Ahora escriba el comando 'AT' (sin comillas) y dé 'ENTER' o haga clic en 'Enviar'. Si la conexión funciona, tendrá que devolver el mensaje 'OK':

Imagen
Imagen

NOTA: Si el envío del comando NO recibe ningún comentario o recibe una cadena de caracteres aleatoria, cambie la velocidad de 115200 del monitor en serie a 9600 y envíe el comando nuevamente

En el 'Monitor serial' escriba el comando 'AT + GMR' (sin comillas) y dé 'ENTER' o haga clic en 'Enviar'. Si recibe comentarios como se muestra a continuación, su ESP8266 WiFi Shield se ha actualizado correctamente:

Imagen
Imagen

Si desea cambiar la velocidad de comunicación en baudios con el escudo 9600, ingrese el comando 'AT + UART_DEF = 9600, 8, 1, 0, 0' (sin comillas) y dé 'ENTER' o haga clic en 'Enviar'. Si recibe la información que se muestra a continuación, la velocidad de comunicación ha cambiado:

Imagen
Imagen

NOTA: Al cambiar la velocidad en baudios del blindaje, también debe cambiar la velocidad de 115200 a 9600 en el pie de página del Monitor Serial. Luego envíe el comando 'AT' nuevamente (sin las comillas) y presione 'ENTER' o haga clic en 'Enviar'. Si recibe el 'OK' como devolución, la comunicación está funcionando

Si desea utilizar el escudo para asignar WiFi al Arduino, la velocidad de comunicación ideal es 9600 baudios.

En el siguiente paso averiguarás qué escudo tienes, ya que es posible encontrar al menos tres escudos en el mercado que parecen ser iguales, pero en realidad estas placas tienen algunos puntos que las diferencian, incluso en la cuestión de trabajando con el Arduino a través de la comunicación a través de la serie nativa.

Paso 3: ¿Shiald, Shield, More y Moer? ¿Importa?

Si se trata del ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter, es posible encontrar al menos tres placas que aparentemente son iguales, pero de hecho estas placas tienen algunos puntos que las diferencian, incluso en la cuestión de trabajar con el Arduino mediante comunicación serial nativa.

A continuación puedes ver qué diferencia a los tableros y descubrir cuál es el tuyo.

Shiald WiFi ESP8266:

Imagen
Imagen

Tenga en cuenta que en este tablero la palabra Escudo se escribe "Shiald" y la palabra "más" tiene la "m" en minúsculas. En las pruebas que hice durante mucho tiempo, la placa NO mostró ningún defecto en su funcionamiento.

Escudo WiFi ESP8266:

Imagen
Imagen

Tenga en cuenta que en este tablero la palabra Escudo está escrita correctamente y la palabra "Más" tiene la "M" en mayúsculas. En materia de funcionamiento, esta placa se comporta de la misma forma que la versión Shiald, es decir, la placa no está defectuosa.

¿Quiere decir que las placas Shiald y Shield solo tienen diferencias en el tema de la seda de PCB?

Sí, estas dos cartas solo tienen diferencia en cuanto a la escritura de dos palabras. El circuito en ambas placas es el mismo y ambos funcionan perfectamente con Arduino o solo (modo independiente). Teniendo en cuenta que el Arduino tiene el código correcto cargado y que uno de los escudos también tiene el firmware correcto, luego de conectar el escudo al Arduino y conectar el cable USB, simplemente coloque los contactos P1 y P2 del interruptor DIP en la posición ON y se realizará la comunicación a través de serie nativa (pines D0 y D1) entre las placas.

Algunos dicen que esta versión de Shiald tiene la conexión inalámbrica inestable, pero yo afirmo que no hay inestabilidad en absoluto.

Escudo WiFi ESP8266 (Moer):

Imagen
Imagen

Tenga en cuenta que en este tablero la palabra Escudo está escrita correctamente y la palabra "Más" se escribe "Moer", es decir, incorrecta. Desafortunadamente, esta placa no funciona como debería y si está conectada al Arduino (con los contactos del interruptor DIP APAGADO o ENCENDIDO) y el usuario intenta cargar un código en el Arduino, aparecerá un mensaje de error en el IDE como el la carga fallará.

Si su escudo es el que viene escrito en Moer y ha tenido problemas para usarlo con su Arduino a través de la comunicación serial nativa, vaya al siguiente paso y aprenda cómo resolver el problema. Si su escudo NO ES THE Moer, vaya al Paso 5.

Paso 4: Shield Moer - Solución de la comunicación serie RX / TX

Si esta placa (Moer) está acoplada al Arduino (con los contactos del interruptor DIP APAGADO o ENCENDIDO) y el usuario intenta cargar un código en el Arduino, aparecerá un mensaje de error en el IDE ya que la carga fallará. Esto se debe a un error de componente utilizado en la construcción del blindaje.

El escudo que tiene la construcción y operación correctas, tiene soldados dos MOSFET de Canal N y está identificado como J1Y. Uno de los transistores J1Y está conectado al ESP8266 RX y el otro está conectado al ESP8266 TX. En la imagen de abajo puede ver los dos transistores resaltados:

Imagen
Imagen

Este transistor J1Y es un BSS138 cuyo propósito es permitir que los circuitos de nivel lógico de 5V se comuniquen con circuitos de nivel lógico de 3.3V y viceversa. Dado que el ESP8266 tiene un nivel lógico de 3.3V y el Arduino tiene un nivel lógico de 5V, es necesario utilizar un convertidor de nivel lógico para asegurar el perfecto funcionamiento del ESP8266.

En el escudo Moer, hay soldados en la placa dos transistores identificados como J3Y. En la imagen de abajo puede ver los dos transistores resaltados:

Imagen
Imagen

El transistor J3Y es un S8050 NPN y este tipo de transistor se usa comúnmente en circuitos amplificadores. Por alguna razón en el momento de la construcción del escudo Moer, utilizaron el transistor J3Y en lugar del convertidor de nivel lógico J1Y.

De esta manera, los pines RX y TX del ESP8266 no funcionarán como deberían y por lo tanto el shield no tendrá ninguna comunicación serial con el Arduino. Como el escudo se comunica con el Arduino a través de la serie nativa (pines D0 y D1), con él acoplado a la carga del código Arduino (en el Arduino) nunca se completará con éxito, porque en algunos casos siempre habrá aproximadamente 2.8V en el RX y Arduino TX o 0V constante, todo debido a los transistores incorrectos.

Después de toda esta información, está claro que la única solución para el escudo Moer, es la sustitución de los transistores J3Y por transistores J1Y. Para este procedimiento necesitará además del escudo de paciencia de Moer, y:

01 - Soldador 01 - Tin01 - Pinzas o alicates de aguja 01 - Ventosa de soldadura 02 - BSS138 (J1Y)

El transistor BSS138 (J1Y) se utiliza en el convertidor de nivel lógico de 3.3V / 5V.

NOTA: El siguiente procedimiento requiere que sepa cómo manejar un soldador y que tenga la menor experiencia en soldadura. Los componentes que se quitarán y los que se reemplazarán son componentes SMD y requieren mayor cuidado y paciencia al soldar con un soldador común. Tenga cuidado de no dejar el soldador demasiado tiempo en los terminales del transistor, ya que esto podría dañarlos

Con el soldador caliente, caliente uno de los terminales del transistor y ponga un poco de estaño. Realice este procedimiento para cada uno de los terminales de los dos transistores. El exceso de soldadura en los terminales facilitará la extracción de los transistores:

Imagen
Imagen

Ahora tome las pinzas / alicates, sostenga el transistor por los lados, caliente el lado del transistor que tiene solo un terminal y fuerce el transistor hacia arriba para que el terminal se suelte de la soldadura. Aún con las pinzas / alicates sujetando el transistor, intente colocar la punta del soldador contra los otros dos terminales y fuerce el transistor hacia arriba para terminar de soltarlo de la placa. Haga esto para ambos transistores y tenga mucho cuidado:

Imagen
Imagen

Quitó los dos J3Y IC del protector, simplemente coloque el J1Y IC en su lugar, sosténgalo con las pinzas / alicates y caliente cada extremo del protector para que la hojalata se una al contacto. Si los contactos tienen poca soldadura, caliente cada uno y coloque más estaño. Haga esto para ambos transistores y tenga mucho cuidado:

Imagen
Imagen

Luego de la reparación, su shield que anteriormente no tenía comunicación directa con el Arduino, comenzó a tener conexión a la placa a través de la serie nativa (pines D0 y D1).

Una primera prueba para confirmar que la reparación fue exitosa es conectar el protector (con todos los contactos del interruptor DIP APAGADOS) al Arduino, conectar el cable USB a la placa y la computadora, e intentar cargar un código en el Arduino. Si todo está bien, el código se cargará correctamente.

Paso 5: Servidor web con ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para Arduino

Como requisito principal para continuar con este paso, debería haber realizado el paso 2.

Como mencioné anteriormente, para poder usar el shield con el Arduino a través de la serie nativa (pines D0 y D1), es necesario que se cargue un código en el shield y que Arduino se cargue otro código para enviar, recibir e interpretar el datos traficados a través de la serie nativa. En el escudo, podemos poner un firmware de comandos AT y programar el Arduino para que envíe los comandos al escudo con el fin de conectarse a una red WiFi y controlar las entradas y salidas del Arduino.

En este paso usaremos la librería WiFiESP, puesto que ya cuenta con todas las funciones necesarias para integrar el ESP8266 (Shield WiFi ESP8266 en nuestro caso) al Arduino y asignar WiFi a la placa. La biblioteca WiFiESP funciona enviando comandos AT, luego la conexión de red inalámbrica del enrutador y cualquier solicitud realizada al servidor web dará como resultado el envío de comandos AT al escudo.

Para que funcione la biblioteca WiFiESP, la versión de firmware del comando AT debe ser al menos 0.25 o superior. Entonces, si no conoce la versión de comando AT de su escudo, vaya al paso 2 para actualizar la placa con el firmware que tiene una versión de comando AT de 1.2.0.0 y luego regrese para continuar.

Una cosa que identifiqué durante mis pruebas con el shield y el Arduino es que debido a que la comunicación entre ellos se da a través del serial nativo (pines D0 y D1), se hace necesario que el serial sea de uso exclusivo para la comunicación entre ellos. Por lo tanto, no recomiendo usar "Serial.print () / Serial.println ()" para imprimir información en el monitor serial IDE de Arduino o cualquier otro programa que muestre información serial.

De forma predeterminada, la biblioteca WiFiESP está configurada para mostrar errores seriales, advertencias y otra información de comunicación entre Arduino y ESP8266. Como mencioné antes, la serie debe liberarse para la comunicación entre Arduino y el escudo. Por lo tanto, edité un archivo de la biblioteca y deshabilité la visualización de toda la información en la serie. La única información que se mostrará en el monitor en serie son los comandos AT que la biblioteca envía al escudo para conectarse a la red inalámbrica o los comandos AT para ejecutar las solicitudes realizadas al servidor web.

Descargue la biblioteca WiFIESP modificada e instálela en el IDE de Arduino:

WiFIESP Mod

En la carpeta de instalación de la biblioteca, simplemente acceda a la ruta "WiFiEsp-master / src / utility" y dentro de ella se encuentra el archivo "debug.h" que fue editado para deshabilitar la visualización de información en el serial. Al abrir el archivo en Notepad ++, por ejemplo, tenemos las líneas 25, 26, 27, 28 y 29 que muestran una numeración correspondiente para los tipos de información que se mostrarán en el monitor de serie. Tenga en cuenta que el número 0 desactiva la visualización de toda la información en el monitor en serie. Finalmente, en la línea 32 configuré el "_ESPLOGLEVEL_" con valor 0:

Imagen
Imagen

Si desea utilizar la biblioteca WiFiESP en otros proyectos con ESP8266 y necesita que la información se muestre en el monitor en serie, simplemente configure "_ESPLOGLEVEL_" en el valor 3 (valor predeterminado de la biblioteca) y guarde el archivo.

Dado que su escudo ya tiene la versión de firmware del comando AT 0.25 o superior, continuemos.

Coloque el protector en su Arduino (Uno, Mega, Leonardo u otra versión que permita que se conecte el protector), coloque todos los contactos del interruptor DIP en la posición APAGADO, conecte un LED entre el pin 13 y GND, y conecte el cable USB al Arduino y la computadora:

Imagen
Imagen

Usé el Arduino Mega 2560, sin embargo, el resultado final será el mismo si está usando otra placa Arduino que permite acoplar el escudo.

Descargue el código del enlace y ábralo en el IDE de Arduino:

Servidor web de código

Si está utilizando Arduino Leonardo, vaya a las líneas 19 y 20 del código y cambie la palabra Serial a Serial1, como se muestra en la imagen a continuación:

Imagen
Imagen

En el código debes ingresar el nombre de tu red WiFi en la línea char * ssid = "NOMBRE DE TU RED WIFI";, la contraseña debes ingresar en la línea char * contraseña = "CONTRASEÑA DE TU RED WIFI"; y en la línea WiFi.config (IPAddress … debe ingresar una dirección IP disponible en su red inalámbrica ya que este código usa IP estática:

Imagen
Imagen

En el menú "Herramientas", seleccione "Tablero" y seleccione el modelo de su Arduino. Aún en el menú "Herramientas", seleccione la opción "Puerto" y verifique el puerto COM en el que se ha asignado su Arduino.

Haga clic en el botón para enviar el código al Arduino y espere a que se cargue.

Después de cargar el código en el Arduino, desconecte el cable USB de la tarjeta, coloque los contactos P1 y P2 del DIP Switch del escudo en la posición ON y conecte el cable USB al Arduino nuevamente.

NOTA: Mientras los contactos P1 y P2 del escudo estén en la posición ON, no podrá enviar códigos al Arduino porque la serie nativa estará ocupada. Recuerde que cada vez que cambie la posición de los interruptores DIP del interruptor, presione el botón ESP-RST

Abra inmediatamente el monitor serial Arduino IDE:

Imagen
Imagen

Con el monitor en serie abierto, puede seguir los comandos AT que se envían al escudo para ejecutar el servidor web. Si no se muestra información al abrir el monitor en serie, presione el botón RESET en su Arduino y espere.

Tenga en cuenta que en el monitor serie el comando "AT + CIPSTA_CUR" muestra la dirección IP para conectarse al servidor web y el comando "AT + CWJAP_CUR" muestra el nombre y la contraseña de la red inalámbrica en la que está conectado el escudo:

Imagen
Imagen

Copie la dirección IP que se muestra en el monitor en serie, abra su navegador de Internet, pegue la dirección IP y presione ENTER para acceder. Se cargará una página web similar a la siguiente:

Imagen
Imagen

La página web tiene un botón que se encargará de encender / apagar el LED conectado al pin 13 del Arduino. Presione el botón para encender / apagar el LED y ver que el estado actual se actualiza en la página.

También puede acceder a la página web a través de un teléfono inteligente o tableta, por ejemplo.

Vea el video a continuación para ver el resultado final:

Esta fue una práctica simple, porque el propósito era mostrar lo fácil que es usar el escudo con el Arduino. Todos los proyectos que encuentres en internet que usan el ESP8266 para asignar WiFi al Arduino, se pueden reproducir con este WiFi Shield, la diferencia es que no necesitarás montar divisores de voltaje en el protoboard para comunicar plataformas, y en simple proyectos, no tendrá que preocuparse por alimentar el circuito con una fuente de alimentación externa. Además, tu proyecto tendrá una estética mucho más agradable.

Ahora que sabe cómo integrar el Shield WiFi ESP8266 con el Arduino desde un servidor web, simplemente modifique el código e implemente algún proyecto más elaborado o comience a desarrollar su propio código.

Una vez más, perdón por las fallas en inglés.

Si tiene preguntas sobre el escudo, solo pregunte y con gusto le responderé.

Recomendado: