Revisión Modulo Wemos TTGO ESP32 + OLED V2.0 + DHT11

Les presento un modulo TTGO ESP32, este dispositivo ha llamado mi atención dado que es muy completo, he pedido uno a la tienda en linea Banggood.com para pruebas, lo interesante  es la unión del conocido modulo ESP32 , Sensor DHT11 (Temperatura/Humedad Relativa)Pantalla OLED blanca de 0,96 pulgadas, circuito de carga para batería  de Litio, PCB perforada para mejoras y una carcasa protectora todo en solo dispositivo.

Características y Desarmado

Esta versión de ESP32 cuenta con características particulares:

Modulo ESP32  en encapsulado QFN

Pantalla OLED blanca de 0,96 pulgadas por i2c asociada a  los pines :

  1. OLED_SDA — GPIO4
  2. OLED_SCL — GPIO15
  3. OLED_RST — GPIO16

Circuito y interfaz de carga para la batería de litio.

integrado serial a USB  CP2102.  

Codigo por defecto

Por defecto trae el código básico de lectura del sensor DHT11 y visualiza sus valores en el display oled blanco.

Por defecto tiene este Ejemplo: LilyGO/ESP32-DHT-SSD1306

 

Por curiosidad he desarmado el modulo y conocer que tiene en su interior. tiene 2 tornillo en la parte de atrás para abrirlo.

Cuidadosamente sacar el modulo Wemos del Socket y tiene una pcb perforada para adicionar mas sensores o funciones, tiene otros 4 tornillos entre la pcb perforada y la carcaza. 

La batería, no tiene referencia aparentemente una batería de litio o  polímero de litio realmente ni idea, desconozco su capacidad .

El sensor DHT11 esta soldado a la PCB perforada, como podemos observar.

Advertencia: Por favor no realizar ninguna modificación a la batería, si no tiene conocimiento las baterías de litio mal manejadas son peligrosas, SI Explotan, no modificar!!!.   

Dado que no hay información detallada de la conexión del sensor DTH11, realizando seguimiento esta conectado al pin 22 o exactamente GPIO22.

 

ESP32,  Circuito de carga y Antena

Donde Comprarlo muy barato

 

Pruebas Realizadas

Hemos realizado 2 pruebas con este modulo con 2 plataformas de programación para los ESP32  las cuales son Arduino IDE y ESP-IDF.

Realizare la primera prueba en Arduino IDE con placas ESP32 por facilidad.

La segunda prueba con ESP-IDF para mi es la mas interesante dado que es la plataforma de desarrollo oficial de para los ESP32 y tiene mas ventajas en uso de recursos eso si es un poco mas compleja su implementacion, pero la recomiendo para aplicaciones robustas ya que tiene FreeRTOS.   

Arduino IDE

Después de algunas pruebas, he creado este ejemplo en arduino IDE, Requiere las librerías:

  • Wire.h  para DTH11 compatible con ESP32.
  • SSD1306.h para el display oled.

Nota: Pueden descargar el código al final del articulo desde Github.

ESP-IDF 

Puede parecer complejo y difícil pero los invito a utilizar ESP-IDF, no soy un experto en FreeRTOS, pero hay gran documentación y es muy robusto, si no les gusta make desde terminal de comandos y prefieren una interface pueden utilizar «eclipse».

Oficialmente este ejemplo no esta terminado, solo tengo la lectura del sensor DHT11, aun estoy probando y configurando el display oled, en esp-idf.

Realice pruebas de varios ejemplos disponibles de ESP-IDF y DHT11, los ejemplos utilizaban librerías no funcionaron muy bien, la lectura de thingspeak-esp32-dht11 es es una trama, he encontrado  un muy  buen ejemplo creado hamsternz agradecimiento total por compartir su conocimiento.

el ejemplo thingspeak-esp32-dht11 lo tome como referencia lo descargue y realice algunas modificaciones, su ejemplo es muy útil para próximas pruebas dado que utiliza muy bien el modo sueño en esp32, el cual realmente se utiliza de manera eficiente en ESP-IDF.

He retirado del código toda comunicación y solo he utilizado la lectura del sensor y he creado una tarea «DHT_task» para que sea cíclico.

Nota: Pueden descargar el código al final del articulo desde Github.

fragmento de código lectura DHT11 en ESP-IDF

Compilar código en ESP-IDF «make all»

Descargar código a ESP32 «make flash»

Visualizar terminal lectura de Sensor DHT11, «make monitor»  

A diferencia de librerías este ejemplo en su trama y lectura del sensor permite solicitar la Temperatura con un decimal 33.9 °C, excelente, posiblemente con algunas modificaciones en las librerías arduino también pueda hacerlo.

 

Pruebas con librerias SSD1306.h  en ESP-IDF

Actualmente estoy realizando pruebas con el display oled y las librerias  SSD1306.h, probando gran variedad de librerías creadas por TaraHoleInIt/tarablessd1306 de antemano gracias por compartir su conocimiento, cuando tenga un ejemplo concreto con el oled lo compartiré.

Código de prueba de  SSD1306.h en ESP-IDF.

 

Video: Review Wemos TTGO ESP32 Oled 2.0 Sensor : Arduino IDE & ESP-IDF

Conclusiones y Sugerencias

Personalmente es un buen equipo que reúne las características que necesitamos en un dispositivo de medición, encapsulado que técnicamente protege nuestro ESP32, un sensor, batería y posible expansión.

Agradecimientos a la tienda Banggood.com por este producto.

Es muy util para nuestras pruebas IoT, se podria implemntar periodos de sueño y transmisiones HTTPo HTTPS o MQTT, Confiezo no he investigado el modo bajo consumo de esp32, quizas com pruebas descubramos cuanto máximo dura.

Conclusión 1 : Duración de batería

Me imagino que se preguntan cuanto dura la batería, no he realizado pruebas concretas o reales, solo he realizado una prueba básica, inicialmente he descargado el código del ejemplo arduino ide, que utilizamos arriba, sin modo sueño o modo bajo consumo, cronometrando el modulo ha cargado por USB 10 minutos o mas y al desconectarlo ha durado encendido solo lectura 1 hora con 46 minutos hasta que se visualizo NaN en ambas lecturas y se apago.

Tener en cuenta

Mencionare factores que afectan la duración de batería no considerados en la prueba anterior:

  • Display encendido todo el tiempo.
  • Sin modo sueño o bajo consumo.
  • Sin comunicación Wifi o Bluetooth
  • No se de des habilitaron periféricos no utilizados del ESP32.
  • Obviamente al habilitar el Wifi el consumo incrementara considerablemente, quizás esta batería no de mucho tiempo.

Sugerencias

Yo entiendo la facilidad de la programación en Arduino IDE, pero Recomiendo utilizar ESP-IDF, por la gran cantidad de ventajas que presenta Vs Arduino ide, ESP-IDF utiliza FreeRTOS, permite utilizar y des-habilitar hardware, depuración como un sistema Operativo, permite administrar al 100% el ESP32, tiene mas ejemplos e implementaciones detalladas, esta muy bien documentado.

Por supuesto que seguiré probando en Arduino IDE, Solo presento 2 posibilidades.

Futuras Implementaciones

Este modulo quizás con un panel solar y en modo bajo consumo, realicemos integraciones con plataformas IoT como Emoncms , UbidotsCayenne, Blynk Node-RED utilizando protocolos MQTT o HTTP.

Quizás adicionar un modulo LoRa dado que hay espacio, o mas sensores con protocolo  i2c o SPI.

 

Ejemplos Interesantes o Recomendados 

Descargas 

Deja un comentario