sábado, 20 de febrero de 2016

Expediente ESP8266 ... ¡La verdad está aquí dentro!


ESP13/WROOM-02 AI Thinker board, with battery box
Antes de comenzar, la imagen anterior, procede del sitio ESP8266HINTS. Fuente de información pero ¡ojo! un poco drástico.

Últimamente estoy "cacharreando" con esta placa que si no recuerdo mal me costó unos 7-8€ en e-bay, y que a no ser que tengas intención de programar el microcontrolador 'STC15F2K60S2' un 8051 compatible que incorpora -chip central en la imagen- quizás deberías optar por otra placa y a continuación explico el porqué.

Si ya tienes la placa -has leído tarde este artículo- o si ya la tienes por la razón que sea y después de leer los artículos del sitio ESP8266HINTS piensas que tienes que calentar el soldador-desoldador y preparar el cutter como indica el autor ¡echa el freno, stop! no es necesario, se puede conectar directamente la conexión serie de tu PC -usando un adaptador FTDI- al módulo ESP8266, de tal forma, que puedas mandar comandos AT a dicho módulo.

El zumbador ha sido desconectado porque es insoportable, no para de sonar y he añadido un conector para las pilas ¡que nadie pida explicaciones al vendedor! ¡manitas que es uno!.

Solo hay que desconectar los puentes amarillos y conectar directamente -ver imagen anterior, conector con cables blanco, azul y verde- las señales TX y RX del adaptador FTDI USB-RS232-TTL a los pines WIFI_TX y WIFI_RX de la placa 'BLACK BOARD T5' y por supuesto la masa GND.

                    PC-TX ----------------------|?|-----------------> WIFI_RX
                    PC-RX <------------------------------------------ WIFI_TX

¡ATENCIÓN! Esto |?| no está de adorno, significa que si tu adaptador FTDI no está preparado para trabajar con tensiones de 3,3 voltios en esta conexión has de insertar el siguiente circuito:


Para R1 se suele utilizar un valor de 100 o 200 Ω, yo he utilizado un valor de 150 Ω y me va bien. El diodo zener por supuesto debe ser de 3,3 voltios.

Por contra, si tienes un adaptador FTDI que mediante un puente te permite seleccionar la tensión de trabajo de 3,3 voltions -como el de la siguiente imagen, ver el puente selector-, no hay que insertar nada.

FTDI FT232RL USB to TTL Serial Converter Adapter Module 5V and 3.3V For Arduino
Para la comunicación del PC con el módulo ESP8266 he utilizado el programa -y aquí viene la relación con Ubuntu ¡por el nombre del blog y eso!- 'moserial' que se puede instalar desde el centro de software de Ubuntu, sin problemas.
Para poder conectarte al puerto serie, como usuario sin privilegios, has de unirte al grupo 'dialout', lo más fácil es instalar 'gnome-system-tools' desde el centro de software y añadirte a dicho grupo.


La configuración del puerto en mi caso es esta:


Establecida la conexión -pulsar botón conectar en moserial para los despistados- el primer comando -en negrita-, lo que sigue al comando es la respuesta del módulo ESP8266:

AT

OK

segundo comando:

AT+GMR
AT version:0.40.0.0(Aug  8 2015 14:45:58) 
SDK version:1.3.0 
Ai-Thinker Technology Co.,Ltd. Build:1.3.0.2 Sep 11 2015 11:48:04
OK

establecer el modo a 1 (station mode) o a 3 (softAP + station mode):

AT+CWMODE_CUR=1

OK

conectarse a una red WIFI por ejemplo una de nombre o SSID "MiWifi" y clave de acceso "mi_clave123", ¡IMPORTANTE! No dejar espacios en blanco entre los parámetros de lo contrario no conectará, por ejemplo, si entre la coma y el segundo parámetro "mi_clave123" se deja un espacio (, "mi_clave123") esto no funcionará.

AT+CWJAP="MiWifi","mi_clave123"

WIFI CONNECTED 
WIFI GOT IP 

 OK

_______________________________________________________________________________

Por ahora, esto es todo, hasta ahora he establecido la comunicación únicamente con el módulo ESP8266, y este no se comunica con ninguno de los elementos que componen la placa, zumbador, sensor de humedad-¿temperatura?, leds, pulsadores, para esto hay que programar el microcontrolador de la placa.

Lo dicho, si no tienes intención de programar el microcontrolador de la placa, compra el módulo ESP8266 directamente que te saldrá más barato y si consigues programar el microcontrolador de la placa, dime como lo has hecho.

Saludos ... hasta el siguiente expediente ...

Consejos y trucos:

1. A veces he observado que la placa -no el zumbador ya que este elemento ha sido desconectado por mí- o el módulo ESP8266 emite un pitido muy agudo y la comunicación no funciona, creo que tiene que ver con las pilas y que quizás el módulo es muy sensible a una tensión un poco inferior a 3,3 voltios cuando se gastan un poco. Solución, alimentar la placa con un alimentador siempre que la tensión que proporcione este último no supere los 15 voltios, ver características del regulador, un tal, 7333-1.