Paso 3: Preparar el entorno de programación para el ESP8266
Normalmente se utilizaría un cable FDDI o USBtoSerial convertidor de cable para conectar el módulo de ESP8266 a su PC para programar. Como siempre buscar la solución de costo más bajo (y no quería gastar dinero para un cable FDDI) me buscó y encontró que podía usar mi Arduino Uno para conectar el ESP8266 a mi PC.
Por suerte el ESP8266 de Adafruit HUZZAH tiene 2 características importantes que hacen más fácil para mí:
- Entrada de 12V a Vbat y un 3, 3V 3, 3V voltaje inversor a bordo
- Nivel de 5V a 3.3V desplazador para el serial pin RXD a bordo
Así que no he tenido problemas para conectar el ESP8266 directamente al puerto serial de la Arduino Uno.
El board.fzz de programación archivo adjunto muestra cómo conectar el módulo ESP con el Arduino Uno. La ONU misma está conectada con el cable estándar del USB a la PC.
Por supuesto la ONU no debe utilizar el puerto serie mientras que el ESP8266 está conectado a los pines RXD y TXD. La forma más fácil es flash el ejemplo Blink.ino en el Arduino Uno. En este ejemplo no se está inicializando el puerto serie y las líneas TXD y RXD se pueden utilizar para programar el módulo ESP.
Después el Arduino Uno que se ejecute el bosquejo Blink.ino puede conectar el ESP8266 a la placa Arduino como se muestra en el croquis adjunto de Fritzing programación board.fzz.
Nota importante sobre la fuente de alimentación:
Como se puede ver en el esquema, no conectar la salida de 5V de la ONU a Vbat de la ESP8266. La ESP8266 es muy exigente con la alimentación. En mis primeros ensayos suministra el ESP8266 de la salida de 5V de la placa Arduino y tiene algunos errores extraños al programar el ESP. Parece que el ESP (durante la escritura en la flash) necesita más corriente que puede suministrar el Arduino en la línea de 5V.
Elegí el Arduino de una fuente de 9V 2A de la fuente y conecte el ESP al pin de Vin en el Arduino. El pin Vin obtiene el 9V directamente de la fuente de alimentación. Después de eso no he tenido más problemas.
En el IDE de Arduino (véase sobre la captura de pantalla) en el menú herramientas tienes que seleccionar la Junta correcta (en mi caso el HUZZAH Adafruit ESP8266) y el puerto com que está conectado el Arduino Uno. Entonces usted flash programas en el módulo de ESP. Antes de flashear se debe colocar el ESP en el modo programación. Los módulos de Adafruit ESP8266 tiene 2 botones para lograr esto, el RESET y el botón de GPIO0. La secuencia para poner el ESP en modo de programación es:
- Presione y mantenga presionado el botón RESET
- Presione y mantenga presionado el botón de GPIO0
- Botón RESET
- Botón de liberación del GPIO0
Después de que el LED rojo en el tablero de Adafruit estará (aunque atenuado) y la Junta está lista para programarse.
Nota adicional:
Necesitaba para conectarse GPIO0 del módulo ESP8266 de un GPIO no utilizado de la placa Arduino. Si dejo la GPIO0 abierta, la programación no estaba funcionando. No estoy seguro de la razón.
ADVERTENCIA:
Utilizar características específicas del módulo ESP8266 de Adafruit HUZZAH en este instructable. Si va a construir este sistema con el módulo ESP8266 de otro proveedor Compruebe cuidadosamente que es compatible con la fuente de alimentación que utilizo y con el nivel de tensión del pin RXD. El módulo ESP8266 de Adafruit HUZZAH acepta 3.3V a fuente de alimentación de 12V y tiene una palanca de cambios de nivel en el pin RXD. Si el módulo de ESP8266 no tiene estas características sin duda destruirá el módulo!
Todas las fuentes de software y los esquemas están disponibles en mi repositorio de Github