3 formas sencillas de programar un módulo ESP8266 12X: 5 pasos (con imágenes)
3 formas sencillas de programar un módulo ESP8266 12X: 5 pasos (con imágenes)
Anonim
3 formas sencillas de programar un módulo ESP8266 12X
3 formas sencillas de programar un módulo ESP8266 12X

Si no está familiarizado con el microcontrolador ESP8266, ¡realmente siento que se lo ha estado perdiendo! ¡Estas cosas son increíbles: son baratas, potentes y lo mejor de todo tienen WiFi incorporado! ESP8266 comenzó su viaje como un complemento de WiFi a bordo para placas Arduino más tradicionales, pero poco después, la comunidad se dio cuenta del poder de ellas y agregó soporte. para poder programar directamente con el IDE de Arduino.

En estos días, si está buscando usar un ESP8266 para su proyecto, le recomendaría usar una placa de desarrollo como la Wemos D1 Mini * (¡$ 2.50 entregados!) O Adafruit Feather Huzzah. Estas placas tienen todos los pines utilizables rotos, son fácilmente programables a través de su conector micro USB y tienen un regulador integrado de 3.3V. ¿Pero qué sucede si desea usar un ESP8266 en un proyecto con una PCB personalizada? La forma más fácil es usar un módulo ESP12, y en este Instructable le mostraré un par de formas simples de programarlos. * = Enlace de afiliado

Paso 1: ¡Mira el video

Aquí hay un video con toda la información contenida en el Instructable si desea verlo. En mi canal trabajo mucho con ESP8266, así que mi canal en general tal vez valga la pena ver si ese tipo de cosas le interesan.

Paso 2: Paso previo: Configuración para programar el ESP8266

Image
Image

Si nunca antes ha utilizado el ESP8266 o Arduino, necesitaremos un poco de configuración del software. Tengo un video dedicado a esto. Solo dura 5 minutos y pasa por todo lo que necesita para configurar.

Si los videos no son lo tuyo, mira la lección 2 de la increíble Clase de IoT de Becky, también repasa todo lo que necesitas.

Antes de pasar a la siguiente sección, debería poder cargar un boceto simple en un ESP8266 (como el ejemplo de parpadeo mencionado tanto en el video como en la lección de Becky)

Paso 3: Método 1: Programador de pines "Frog"

Método 1
Método 1

Esta es probablemente la forma más fácil de programar un módulo ESP12. Básicamente, simplemente inserta el módulo en la placa y luego se comporta exactamente como una de las placas de desarrollo mencionadas anteriormente. Seleccioné la placa Wemos D1 Mini del menú desplegable de placas durante la programación. Las desventajas de este método son:

  • El programador es un poco caro si solo fabrica unas pocas placas.
  • Las placas solo se pueden programar de esta manera antes de que se suelden a su PCB

El que compré es de Aliexpress, pero creo que el diseñador original es un usuario de Tindie llamado Fred. Se agotaron en ese momento, así que terminé eligiendo el de Aliexpress, pero vincularé a ambos.

  • Programador de módulo ESP emergente de Aliexpress *
  • Programador del módulo ESP de Fred's Frog Pin

* = Enlace de afiliado

Paso 4: Método 2: Usar básicamente cualquier convertidor de USB a serie

Método 2: usar básicamente cualquier convertidor de USB a serie
Método 2: usar básicamente cualquier convertidor de USB a serie
Método 2: Usar básicamente cualquier convertidor de USB a serie
Método 2: Usar básicamente cualquier convertidor de USB a serie
Método 2: Usar básicamente cualquier convertidor de USB a serie
Método 2: Usar básicamente cualquier convertidor de USB a serie

Para el siguiente método, vamos a poner manualmente el módulo ESP en modo de programación y luego usaremos básicamente cualquier convertidor de USB a serie para programar el ESP8266, ¡incluso este PL2303 * que cuesta 50c entregado funciona!

Operación normal:

Antes de comenzar con la programación, primero debemos echar un vistazo a los componentes externos que necesita el ESP8266 para ejecutar. Para un funcionamiento normal, un módulo ESP-12 necesita lo siguiente

  • EN, RST y GPIO 0 deben elevarse usando una resistencia de 10K
  • GPIO 15 debe conectarse a tierra con una resistencia de 10K
  • Fuente de alimentación de 3.3V capaz de aproximadamente 250mA de corriente (se recomienda un límite entre VCC y GND)

Con la configuración anterior, cuando esté encendido, el ESP8266 estará en modo de funcionamiento normal, por lo que ejecutará los bocetos que le haya programado. Puede comprar placas de conexión para los módulos ESP-12 * que son realmente útiles para probar las diferentes configuraciones. Los módulos tienen la configuración de resistencias para EN y GPIO de 15 pines, por lo que aún necesitará agregar la resistencia pull-up para RST y GPIO 0,

Habilitación del modo de programación:

Para ponerlo en modo de programación, GPIO 0 debe bajarse cuando el ESP se está iniciando. La forma más fácil de hacer esto es agregar botones a GPIO 0 y el pin RST que se conecta a tierra cuando se presiona. Luego, para habilitar el modo flash, simplemente

  • Mantenga presionado el botón GPIO 0
  • Presione el botón RST
  • Luego suelta ambos botones

No necesita realizar esta secuencia en ningún momento en particular durante el proceso de carga ni nada, una vez que el ESP esté en modo de programación permanecerá allí hasta el próximo reinicio, así que simplemente realice los pasos en cualquier momento antes de cargar.

Programación con un adaptador USB a serie:

Habilitar el modo de programa es solo la mitad de la batalla, ahora necesitamos programar el módulo. La mayoría de los adaptadores USB a serie no pueden proporcionar suficiente corriente al ESP8266, por lo que se recomienda que encienda el ESP8266 con una fuente externa de 3.3V.

Para conectar el programador, debe conectar los siguientes pines (también se muestran en la imagen de arriba):

  • Conecte TX del programador a RX del ESP8266 (No es un error tipográfico, las conexiones están invertidas)
  • Conecte RX del programador a TX del ESP8266
  • Conecte la tierra del programador a la tierra del ESP8266

Para cargar su boceto, siga los siguientes pasos:

  • Seleccione el número de puerto de su adaptador serie (Herramientas-> Puerto)
  • Habilite el modo de programación en su ESP8266 como se describe arriba
  • Haga clic en el botón de carga. (Si falla, revise su cableado e intente colocar su placa en modo de programación nuevamente)
  • Haga clic en el botón de reinicio cuando la carga haya finalizado

Aquí están las configuraciones de la placa que utilicé al cargar usando este método:

  • Tablero: Módulo ESP8266 genérico
  • Modo de flash: DIO
  • Tamaño del flash: 4 M (3 M Spiffs)
  • Método de reinicio: ck
  • Frecuencia de flash: 40 MHz
  • Velocidad de carga: 115200

Lo último a tener en cuenta es que la definición de LED_BUILIN para un módulo ESP8266 genérico apunta al pin 1, pero el LED integrado de un módulo ESP12 está conectado al pin 2 (también está activo bajo como un FYI). Entonces, si está probando un boceto parpadeante, deberá usar el número 2 en lugar de LED_BUILTIN

* = Enlace de afiliado

Paso 5: Método 3: Programador de reinicio automático usando un NodeMCU

Método 3: Programador de reinicio automático usando un NodeMCU
Método 3: Programador de reinicio automático usando un NodeMCU
Método 3: Programador de reinicio automático usando un NodeMCU
Método 3: Programador de reinicio automático usando un NodeMCU

Si usó alguna placa de desarrollo ESP, habrá notado que básicamente todas ellas no requieren que habilite manualmente el modo de programación usando los botones, entonces, ¿cómo lo hacen?

La mayoría de los chips USB a serie tienen pines adicionales que emiten señales en diferentes etapas del proceso de carga y con el uso de algunos circuitos externos es posible activar el nivel bajo del GPIO 0 y los reinicios requeridos. RuiMoteiro tiene instrucciones sobre este tema usando una placa FTDI y ESP8266.

Pero creo que hay un enfoque más simple para esto, y lo que es aún mejor es que hay una buena posibilidad de que ya tenga todo lo que necesita para hacerlo. Puede utilizar una placa de desarrollo ESP8266 como un NodeMCU como programador *.

¿Cuál es la ventaja de usar un NodeMCU?

Las principales ventajas de utilizar NodeMCU como programador son las siguientes:

  • Puede alimentar el ESP8266 directamente desde los pines de 3V del NodeMCU
  • Manejará el restablecimiento automático / habilitación del modo de programación
  • Cuesta alrededor de $ 2.50 entregado (¡y se puede usar como placa de desarrollo regular cuando no se programan otros!)

Puede usar este mismo enfoque con cualquier placa de desarrollo que exponga el pin de habilitación de chip del ESP8266.

¿Como funciona?

Tuve la idea de esto de un YouTuber llamado Mika Kurkela, en su video estaba usando NodeMCU para programar un módulo ESP-01, pero podemos usar la misma idea para el módulo ESP12.

Básicamente, vamos a deshabilitar el ESP8266 en el NodeMCU forzando el pin EN bajo, esto evitará que se inicie el módulo ESP8266 en el NodeMCU. Luego vamos a conectar todos los pines relevantes de la placa NodeMCU a nuestro ESP8266 externo.

Cableándolo

Para conectarlo, necesitará el cableado estándar ESP8266 como se muestra en el paso anterior y luego agregar las siguientes conexiones (también se muestran en la imagen de arriba):

  • Conecte 3V del NodeMCU a VCC del ESP8266
  • Conecte GND a GND
  • Conecte TX del NodeMCU a TX del ESP8266 (esto es diferente al paso anterior)
  • Conecte RX del NodeMCU al RX del ESP8266
  • Conecte D3 del NodeMCU a GPIO 0 del ESP8266 (D3 es GPIO 0 del ESP8266)
  • Conecte el RST del NodeMCU al RST del ESP8266
  • Conecte EN del NodeMCU a GND

Subiendo un boceto

Una vez que haya conectado el ESP8266, debe hacer lo siguiente:

  • Seleccione el número de puerto del NodeMCU (Herramientas-> Puerto)
  • Seleccione el tipo de placa "NodeMCU 1.0 (módulo ESP12-E)"
  • Haga clic en cargar

¡Y eso es! Automáticamente habilitará el modo de programación y se reiniciará automáticamente cuando termine de cargar, por lo que comenzará a ejecutar el boceto.

Usando esto en sus diseños de tablero

Para utilizar este método en los diseños de su placa, simplemente necesita romper los siguientes pines:

  • Suelo
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

Y cuando desee programar sus placas, conéctelas como se indicó anteriormente.

Esperamos que este Instructable le resulte útil, si tiene alguna pregunta, no dude en preguntar.

* = Enlace de afiliado

Recomendado: