Tabla de contenido:

Guía para principiantes de ESP8266 y tuitear con ESP8266: 17 pasos (con imágenes)
Guía para principiantes de ESP8266 y tuitear con ESP8266: 17 pasos (con imágenes)

Video: Guía para principiantes de ESP8266 y tuitear con ESP8266: 17 pasos (con imágenes)

Video: Guía para principiantes de ESP8266 y tuitear con ESP8266: 17 pasos (con imágenes)
Video: Arduino IoT Cloud con ESP32, Relé (relay) y Sensor DHT22. Guía completa paso a paso desde cero 2024, Mes de julio
Anonim
Guía para principiantes de ESP8266 y tuitear con ESP8266
Guía para principiantes de ESP8266 y tuitear con ESP8266

Aprendí sobre Arduino hace 2 años, así que comencé a jugar con cosas simples como LED, botones, motores, etc. Entonces pensé que no sería genial conectarse para hacer cosas como mostrar el clima del día, los precios de las acciones, los horarios de los trenes en Una pantalla LCD. Descubrí que esto se podía hacer enviando y recibiendo datos a través de Internet, así que la solución fue conectarse a Internet. Allí comencé mi búsqueda sobre cómo conectar el Arduino a Internet y enviar y recibir datos. Aprendí sobre los módulos wifi en Internet y descubrí que eran muy costosos. Luego me enteré del ESP8266.

Leí mucho en Internet sobre el módulo ESP8266 hace aproximadamente un año y compré uno, pero comencé a trabajar con ellos el mes pasado. En ese momento no había mucha información disponible. Sin embargo, ahora hay mucha documentación, videos disponibles. en Internet con respecto a firmware, comandos AT, proyectos, etc., así que decidí comenzar.

Escribí este instructivo como una guía para principiantes ya que enfrenté muchos problemas al conectar y comenzar con el ESP8266, así que decidí escribir este Instructable para que otras personas que encuentren problemas con sus módulos puedan resolverlos más rápido.

En este Instructable intentaré mostrar

  • Cómo conectar un ESP8266 y comunicarse con él a través de Arduino Uno.
  • También intentaré mostrar cómo se puede enviar un tweet usando Thingspeak.

¿Qué puede hacer el ESP8266? Está limitado por tu imaginación. He visto proyectos y tutoriales en Internet que muestran cómo obtener la temperatura de una ciudad, el precio de las acciones, enviar y recibir correos electrónicos, hacer llamadas telefónicas y mucho más. este Instructable cómo enviar un tweet.

Paso 1: Cosas que necesitará

Cosas que necesitará
Cosas que necesitará

Estas son las cosas que necesitará, la mayoría de las cuales se pueden comprar en cualquier tienda de electricidad o en línea (he proporcionado los enlaces como referencia).

  • 1xESP8266 (ESP-01) -ebay
  • Adaptador 1xBreadboard (aprenda cómo hacer uno aquí o use algunos cables de puente)
  • 1xLM2596 -ebay
  • Convertidor de nivel 1xLogic -ebay
  • 1xArduino Uno
  • Cable USB para Arduino Uno
  • 1xBreadboard -ebay
  • Cables -ebay
  • IDE de Arduino
  • Una cuenta con Thingspeak

El costo total será de alrededor de Rs 600 (alrededor de $ 9). He excluido el costo de Arduino Uno, ya que depende de si quieres un original o un clon. Los clones más baratos están disponibles en alrededor de Rs 500 (alrededor de $ 4).

Paso 2: algo de información sobre ESP8266

El ESP8266 se lanzó en 2014 hace apenas un año, por lo que es bastante nuevo. Los chips son fabricados por Espressif.

Ventaja

La mayor ventaja del ESP8266 es quizás su costo, es bastante barato y puedes comprar un par de estos de una sola vez, antes de conocerlo ni siquiera podía pensar en comprar un módulo wifi, eran demasiado costosos. Las nuevas versiones de ESP8266 se lanzan con bastante frecuencia y la última es ESP 12. Sin embargo, en este Instructable me enfocaré solo en ESP 01, que es bastante popular. Además, cuando compras el ESP8266, viene precargado con el firmware AT predeterminado. es bueno comenzar tan pronto como compre uno.. Además, como verá en este instructivo, es bastante fácil interactuar con ellos.

Desventaja

Cada dispositivo tiene sus propias ventajas y desventajas y el ESP no es diferente. El ESP puede resultar a veces muy complicado y frustrante trabajar con él. Dado que es bastante nuevo, le resultará difícil obtener información al respecto. Afortunadamente una comunidad en esp8266.com existe, lo cual es de mucha ayuda Además, a veces también comienza a hacer cosas inesperadas como arrojar una gran cantidad de basura a través de la conexión en serie, etc.

Tenga en cuenta que hay una gran cantidad de documentación disponible en Internet y una parte de ella es conflictiva. Este Instructable no es diferente. Mientras jugaba con mi ESP8266, descubrí que se desviaba mucho de lo que se mencionó en Internet (el tuyo puede también) pero funcionó bien.

Paso 3: Pinout de ESP8266

Pinout de ESP8266
Pinout de ESP8266

El ESP8266 tiene 8 pines como se muestra.

Gnd y Vcc deben conectarse como de costumbre a tierra y suministro respectivamente. El ESP8266 funciona con 3.3V.

El pin RESET se usa para restablecer manualmente el ESP. Normalmente debería estar conectado a 3.3V. Si desea restablecer el ESP, conecte este pin a tierra momentáneamente y luego vuelva a 3.3V.

CH_PD es el chip apagado que normalmente debería estar conectado a 3.3V.

GPIO0 y GPIO2 son pines de salida de entrada de propósito general. Normalmente deben estar conectados a 3.3V. Sin embargo, cuando se actualice el firmware, conecte GPIO0 a gnd.

Los pines Rx y Tx son los pines de transmisión y recepción de ESP8266. Operan con una lógica de 3.3V, es decir, 3.3V es lógica ALTA para ESP8266.

Las conexiones detalladas se proporcionan en pasos posteriores.

Paso 4: ¿Qué se debe utilizar para comunicarse con ESP8266?

¿Qué se debe utilizar para comunicarse con ESP8266?
¿Qué se debe utilizar para comunicarse con ESP8266?
¿Qué se debe utilizar para comunicarse con ESP8266?
¿Qué se debe utilizar para comunicarse con ESP8266?
¿Qué se debe utilizar para comunicarse con ESP8266?
¿Qué se debe utilizar para comunicarse con ESP8266?

Hay muchos dispositivos que se pueden usar para comunicarse con ESP8266 como programadores FTDI, convertidor serial USB a TTL, Arduino, etc. Sin embargo, he usado un Arduino Uno simplemente porque es el más fácil y casi todos lo tienen. tiene un Arduino, también tiene el IDE de Arduino y su monitor de serie se puede usar para comunicarse con el ESP8266. Así que no gaste dinero en programadores FTDI, etc.

Sin embargo, si lo desea o si ya tiene uno, puede usar un programador FTDI o un convertidor de serie USB a TTL (más sobre cómo conectarlos más adelante). También hay una gran cantidad de software como RealTerm o putty. estos de la misma manera que el monitor serial del Arduino IDE.

Paso 5: Montaje del ESP8266 en la placa de pruebas

Montaje del ESP8266 en la placa de pruebas
Montaje del ESP8266 en la placa de pruebas
Montaje del ESP8266 en la placa de pruebas
Montaje del ESP8266 en la placa de pruebas

Tenga en cuenta que los pines del ESP8266 no son compatibles con la placa de pruebas. Esto se puede superar de 2 maneras.

Utilice cables de puente hembra a macho que pueden ensuciar o ensuciar las cosas.

Haga lo que se muestra en este Instructable o

Use una placa adaptadora, hágalo usted mismo (hay muchos de ellos en Instructables) que es genial.

Paso 6: fuente de alimentación

Fuente de alimentación
Fuente de alimentación

El ESP8266 funciona con un suministro de 3.3V. No lo conecte al pin de 5V en Arduino. Probablemente se quemará.

Algunos tutoriales sugirieron hacer un circuito divisor de voltaje usando resistencias de 1k, 2k con 5V como entrada y obtener 3.3V a través de la resistencia de 2k y suministrarlo al Arduino Sin embargo, descubrí que el ESP ni siquiera se encendió cuando hice esto.

Pude encenderlo usando 3.3V en Arduino, pero descubrí que el ESP se calentó después de un tiempo.

Puede usar un regulador de voltaje de 3.3V.

O puede usar el convertidor reductor LM2596 dc-dc. Estos son bastante baratos. Y yo los usé. Dé 5V de Arduino a la entrada. Ajuste el potenciómetro en el módulo, hasta que la salida se convierta en 3.3VI y descubra que el ESP se puede alimentar de uno de estos durante horas Realice las conexiones como se muestra en la figura.

Paso 7: conversión de nivel lógico

Conversión de nivel lógico
Conversión de nivel lógico

Se menciona que el ESP tiene una lógica de 3.3V mientras que el Arduino tiene una lógica de 5V.

Esto significa que en el ESP 3.3V es lógica ALTA mientras que en Arduino 5V es lógica ALTA Esto puede causar algunos problemas al conectarlos entre sí.

Encontré en Internet que la conversión de nivel lógico debe aplicarse mientras se interconecta ESP Rx y Tx con Arduino.

Algunos tutoriales mencionaron que se necesita una conversión de nivel lógico al conectar el pin ESP Rx.

Sin embargo, descubrí que normalmente conectar los pines ESP Rx y Tx al Arduino no causaba ningún problema

Conecté Rx y Tx a través del convertidor de nivel lógico, así como Rx solo, pero no obtuve ninguna respuesta.

Sin embargo, descubrí que conectar el pin ESP Tx a través del convertidor de nivel lógico mientras conectaba el Tx directamente tampoco causó problemas

Por tanto, el convertidor de nivel lógico puede utilizarse o no.

Utilice el método que más le convenga a través de prueba y error.

Paso 8: Conexiones

Conexiones
Conexiones

Las conexiones del ESP8266 son:

ESP8266

Gnd ------------------- Gnd

GPIO2 --------------- 3.3V

GPIO0 --------------- 3.3V

Rx -------------------- Rx de Arduino

Tx --------------------- Tx de Arduino (directo o mediante convertidor de nivel lógico)

CH_PD -------------- 3.3V

REINICIAR -------------- 3.3V

Vcc -------------------- 3,3 V

(Tenga en cuenta que en algunas versiones ESP Rx debe estar conectado a Arduino Tx y ESP Tx debe estar conectado a Arduino Rx).

Si está utilizando un programador FTDI o un convertidor en serie de USB a TTL, conecte su Tx y Rx a Rx y Tx de ESP8266 respectivamente.

Paso 9: Comenzando

Después de realizar las conexiones, cargue

configuración vacía ()

{}

bucle vacío ()

{}

es decir, un boceto en blanco para el Arduino.

Abra el monitor en serie y configúrelo en "Ambos NL y CR".

Experimente con la velocidad en baudios. Normalmente debería ser 9600, aunque a veces puede ser 115200.

Paso 10: comandos AT

AT Comandos
AT Comandos

Decir simplemente los comandos AT son comandos que se pueden enviar al ESP8266 para permitirle realizar algunas funciones como reiniciar, conectarse a wifi, etc. El ESP en respuesta enviará una confirmación en forma de texto. AT y cómo responde el ESP a ellos. Tenga en cuenta que por enviar me refiero a escribir el comando y presionar enter (regresar).

Envíe AT a través del monitor en serie

Este comando se utiliza como comando de prueba.

Cómo responde el ESP: Debería devolverse OK.

Envíe AT + RST a través del monitor en serie

Este comando se utiliza para reiniciar el módulo.

Cómo responde el ESP: ESP devuelve una carga de basura, pero busque Ready o Ready.

Envíe AT + GMR a través del monitor en serie

Este comando se utiliza para determinar la versión de firmware del módulo.

Cómo responde el ESP: se debe devolver la versión de firmware.

El firmware es una pieza de software que se instala en un dispositivo, generalmente en su ROM (memoria de solo lectura), es decir, no debe cambiarse con frecuencia o no debe cambiarse en absoluto. Proporciona el control y la manipulación de datos del dispositivo. ESP8266 tiene un número de diferentes firmwares, todos los cuales son bastante fáciles de flashear (instalar).

Paso 11: Sintaxis general de los comandos AT

Se da la sintaxis general de los comandos AT para realizar diferentes funciones:

AT + parámetro =?

Cuando se envía un comando de este tipo a través del monitor en serie, el ESP devuelve todos los valores que ese parámetro puede tomar.

AT + parámetro = val

Cuando se envía un comando de este tipo a través del monitor en serie, el ESP establece el valor del parámetro en val.

AT + parámetro?

Cuando se envía un comando de este tipo a través del monitor en serie, el ESP devuelve el valor actual del parámetro.

Algunos comandos AT pueden tomar solo uno de los tipos anteriores, mientras que otros pueden tomar los 3.

Un ejemplo de un comando que es posible en los 3 tipos anteriores es CWMODE, que se utiliza para configurar el modo wifi.

Enviar AT + CWMODE =? a través del monitor de serie

Cómo responde el ESP: Todos los valores que el ESP CWMODE puede tomar (1-3) se devuelven específicamente + CWMODE (1-3).

1 = estático

2 = AP

3 = Tanto estática como AP

Envíe AT + CWMODE = 1 a través del monitor en serie

Cómo responde el ESP: Debe devolverse OK si hay un cambio en el CWMODE de su valor anterior y está configurado como estático; de lo contrario, no se debe devolver ningún cambio si no hay ningún cambio en el valor de CWMODE.

IMPORTANTE: A menos que CWMODE se establezca en 1, los comandos de los pasos posteriores no funcionarán.

Enviar AT + CWMODE? a través del monitor de serie

Cómo responde el ESP: El valor actual de CWMODE debe devolverse, específicamente si siguió el paso anterior + CWMODE: 1 debe devolverse.

Paso 12: Conexión a Wifi

Envíe AT + CWLAP a través del monitor en serie

Este comando se usa para enumerar todas las redes en el área.

Cómo responde el ESP: se debe devolver una lista de todos los puntos de acceso o redes wifi disponibles.

Enviar AT + CWJAP = "SSID", "contraseña"

(incluidas las comillas dobles).

Este comando se usa para unirse a una red wifi.

Cómo responde el ESP: Debería devolverse OK si el módulo se ha conectado a la red.

Enviar AT + CWJAP? a través del monitor de serie

Este comando se usa para determinar la red a la que el ESP está conectado actualmente.

Cómo responde el ESP: Se devolverá la red a la que está conectado el ESP. Específicamente + CWJAP: "SSID"

Envíe AT + CWQAP a través del monitor en serie

Este comando se usa para desconectarse de la red a la que el ESP está conectado actualmente.

Cómo responde el ESP: El ESP sale de la red a la que está conectado y se devuelve OK.

Envíe AT + CIFSR a través del monitor en serie

Este comando se utiliza para determinar la dirección IP del ESP.

Cómo responde el ESP: se devuelve la dirección IP del ESP.

Paso 13: Habla de las cosas

Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak
Thingspeak

Si no ha creado una cuenta en Thingspeak, cree una ahora.

Después de crear una cuenta en Thingspeak, vaya a Aplicaciones> ThingTweet.

Vincula tu cuenta de twitter con él.

Tenga en cuenta la clave de API que se genera.

Aquí, después de que la aplicación ThingTweet se haya utilizado para vincular una cuenta de Twitter a su cuenta de ThingSpeak, puede enviar un tweet utilizando la API de TweetContol.

Una API (interfaz de programa de aplicación) es un código que permite que dos programas de software se comuniquen entre sí.

Algunas otras API que están disponibles para los desarrolladores son la API de mapas de Google, la API de clima abierto, etc.

Solo después de que se haya configurado, verificado y conectado el ESP a wifi (básicamente todos los pasos dados en los 2 pasos anteriores), siga los pasos que se indican a continuación

Paso 14: Más comandos AT

Enviar AT + CIPMODE = 0, a través del monitor en serie

Cómo responde el ESP: se devuelve OK.

El comando CIPMODE se utiliza para configurar el modo de transferencia.

0 = modo normal

1 = modo de paso a través de UART-WiFi

Envíe AT + CIPMUX = 1 a través del monitor en serie

Cómo responde el ESP: se devuelve OK.

El comando CIPMUX se utiliza para establecer conexiones únicas o múltiples.

0 = conexión única

1 = conexión múltiple

Paso 15: Configuración de la conexión TCP

Configuración de la conexión TCP
Configuración de la conexión TCP
Configuración de la conexión TCP
Configuración de la conexión TCP

Tenga en cuenta que a partir del primer comando, tan pronto como envíe el primero, la conexión se establecerá solo por un tiempo limitado, así que envíe los comandos lo más rápido posible.

Envíe AT + CIPSTART = 0, "TCP", "api.thingspeak.com", 80 a través del monitor en serie

Cómo responde el ESP: Linked se devuelve si se ha establecido la conexión.

Este comando se utiliza para establecer una conexión TCP.

La sintaxis es AT + CIPSTART = ID de enlace, tipo, IP remota, puerto remoto

dónde

ID de enlace = ID de la conexión de red (0 ~ 4), utilizado para múltiples conexiones.

tipo = cadena, "TCP" o "UDP".

IP remota = cadena, dirección IP remota (dirección del sitio web).

puerto remoto = cadena, número de puerto remoto (normalmente seleccionado 80).

Enviar AT + CIPSEND = 0, 110 a través del monitor en serie

Cómo responde el ESP:> (mayor que) se devuelve si el comando es exitoso.

Este comando se usa para enviar datos.

La sintaxis es AT + CIPSEND = ID de enlace, longitud

dónde

ID de enlace = ID de la conexión (0 ~ 4), para multiconexión Dado que CIPMUX se ha establecido en 1, es 1.

length = longitud de los datos, MAX 2048 bytes Generalmente, elija un número grande para la longitud.

Paso 16: Envío del Tweet

Enviando el Tweet
Enviando el Tweet

Ahora para enviar el tweet

Envíe GET / apps / thingtweet / 1 / statuses / update? Api_key = yourAPI & status = yourtweet a través del monitor en serie.

Reemplace suAPI con la clave API y su dulce con cualquier tweet que desee.

Tan pronto como envíe el comando anterior, comience a presionar enter (retorno) en intervalos de aproximadamente 1 segundo. Después de un tiempo, se devolverá SEND OK, + IPD, 0, 1: 1 y OK, lo que significa que el tweet se ha publicado.

Abra su twitter y verifique si el tweet se ha publicado o no.

También tenga en cuenta que el mismo tweet no se puede enviar repetidamente.

La cadena anterior que se envió (GET….) Es una solicitud HTTP GET.

La solicitud GET se utiliza para recuperar datos del servidor dado (api.thingspeak.com).

Paso 17: Qué hacer después de esto

(Mira el video en al menos 360p)

Vaya a este repositorio para descargar el código y los esquemas. Haga clic en el botón "Clonar o Descargar" (en color verde en el lado derecho) y seleccione "Descargar ZIP" para descargar el archivo zip. Ahora extraiga el contenido en su computadora para obtener el código y los esquemas (en la carpeta de esquemas). También he subido una hoja de trucos, que resume todos los comandos AT, a este repositorio.

Hay muchos recursos excelentes disponibles en Internet relacionados con ESP8266. He mencionado algunos de ellos aquí:

  • Vídeos de Kevin Darrah.
  • Vídeos de ALLaboutEE.
  • esp8266.com

También puede experimentar más con los comandos AT. Hay muchas API disponibles en Internet que pueden hacer todo tipo de cosas, como obtener el clima, los precios de las acciones, etc.

Documentación completa del comando AT

Además, actualmente estoy trabajando en un programa que tuitea automáticamente los valores analógicos de un sensor y lo publicaré una vez que funcione correctamente.

Si te gustó mi instructable, vota por él en el concurso Arduino all the things.

Recomendado: