Buenos días en esta entrada veremos la configuración del módulo ESP32 con el entrono de desarrollo de Arduino, tambien crearemos un programa para subir datos de la temperatura al cloud de https://thingspeak.com y gracias al aporte y colaboración de www.icstation.com pudo obtener gratis este módulo para su evaluación y revisión.
El módulo ESP32 es un módulo creado por la empresa Espressif Systems, la misma que nos trajo el legendario esp8266 que es tan apreciado, y amado por la comunidad maker.
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagrama
Caracteristicas del módulo ESP32-T
Conectividad
El módulo ESP32 dispone de todas las variantes del WiFi:
- 802.11 b/g/n/e/i/n
- Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner mode and P2P Power Management
Esta versión nueva incluye la conectividad mediante Bluethoot de bajo consumo
- Bluetooth v4.2 BR/EDR and BLE
- BLE Beacon
Además, puede comunicarse mediante los protocoles SPI, I2C, UART, MAC Ethernet, Host SD
Prestaciones del microcontrolador
La CPU está formado por un SoC modelo Tensilica LX6 con las siguientes características y memoria
- Doble núcleo de 32 bits con velocidad de 160MHz
- Memoria ROM de 448 kBytes
- Memoria SRAM de 520kBytes
Dispne de 48 Pines
- 18 ADC de 12 bits
- 2 DAC de 8 bits
- 10 pines sensores de contacto
- 16 PWM
- 20 Entradas/salidas digitales
Alimentación y modos de consumo
Para un correcto funcionamiento del ESP32 es necesario subministrar un voltaje de entre 2,8V y 3,6V. La energía que consume depende del modo de funcionamiento. Contiene un modo, el Ultra Low Power Solution (ULP), en que se continúan realizando tareas básicas (ADC, RTC…) en el modo Sleep.
ESP8266 versus ESP32
Pin Out
Pin Out ds18b20
Código fuente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
#include <WiFi.h>//Descomentar si vamos a usar el sensor con el ESP32 //#include <ESP8266WiFi.h>//Descomentar si vamos a usar el sensor con el ESP8266 #include <DallasTemperature.h>//Librería para el manejo del sensor de temperatura ds18b20 #define GPIO4 4 //Tener en cuenta que el pin es el GPIO, siempre mirar el pinout en el datasheep del módulo #define GPIO2 2 //Led GPIO 2 OneWire ourWire(GPIO4); //Se establece el pin declarado como bus para la comunicación OneWire DallasTemperature sensors(&ourWire); //Se instancia la librería DallasTemperature // Configuración Wi-Fi const char* ssid = "xxxxxxxx"; // Reemplazar por el nombre de tu red inalámbrica (SSID) const char* password = "xxxxxx"; // Cambiar por tu contraseña de red Wifi WiFiClient client; // Seteo de datos para ThingSpeak.com const int channelID = 111111;//Identificación del canal (se obtiene de ThingSpeak.com) String writeAPIKey = "xxxxxxxxxxxxx"; //Clave de escritura API para su canal (se obtiene de ThingSpeak.com) const char* server = "api.thingspeak.com"; const int intervalo = 15000; // Publicar datos cada 15 segundos( el mínimo es 15 segundos en la versión de prueba) void setup() { delay(1000); sensors.begin(); //se inicia el sensor ds18b20 Serial.begin(115200);//Seteo de la velocidad del puerto serial WiFi.begin(ssid, password);//Seteo red wifi y contraseña pinMode(GPIO2, OUTPUT);//Seteo del led como salida while (WiFi.status() != WL_CONNECTED) { delay(500); } } void loop() { if (client.connect(server, 80)) {//conexión a travez del puerto 80 sensors.requestTemperatures(); //Prepara el sensor para la lectura float datoSensor = sensors.getTempCByIndex(0); // getTempCByIndex(0) se refiere al primer sensor si es que tubieramos más de uno conectado en el cable //Imprimimos en el terminal serial del arduino el valor de la lectura tomada en el sensor de temperatura Serial.print("Temperatura en celcius: "); Serial.println(datoSensor); // Construir el cuerpo de solicitud de API String body = "field1="; body += String(datoSensor); client.print("POST /update HTTP/1.1\n"); client.print("Host: api.thingspeak.com\n"); client.print("Connection: close\n"); client.print("X-THINGSPEAKAPIKEY: " + writeAPIKey + "\n"); client.print("Content-Type: application/x-www-form-urlencoded\n"); client.print("Content-Length: "); client.print(body.length()); client.print("\n\n"); client.print(body); client.print("\n\n"); } client.stop(); //Genera un pequeño parpadeo indicando se ha enviado un dato digitalWrite(GPIO2, HIGH); delay(200); digitalWrite(GPIO2, LOW); // espera el tiempo seteado para luego vulver a publicar delay(intervalo); |
Circuito
Pasos para instalar soporte de Arduino ESP32 en Windows
Probado en máquinas Windows 10 de 32 y 64 bits
- Descargue e instale el último Arduino IDE Windows Installer de arduino.cc
- Descargue e instale Git desde git-scm.com
- Inicie la interfaz gráfica de usuario de Git y ejecute los siguientes pasos:
- Seleccionar Clonar Repositorio Existente
- Seleccionar origen y destino
- Ubicación de la fuente:
https://github.com/espressif/arduino-esp32.git
- Directorio de destino:
C:/Users/[Tu_Nombre_de_Usuario]/Documents/Arduino/hardware/espressif/esp32
- Cambie esto a su ubicación de Sketchbook si tiene un directorio diferente que aparece debajo de la “Ubicación de Sketchbook” en las preferencias de Arduino.
- Haga clic en Clonar para iniciar la clonación del repositorio
- Ubicación de la fuente:
- Abrir
C:/Users/[Tu_Nombre_de_Usuario]/Documents/Arduino/hardware/espressif/esp32/tools
y doble click enget.exe
- Cuando get.exe termine, debería ver los siguientes archivos en el directorio
- Seleccionar Clonar Repositorio Existente
- Enchufe su tarjeta ESP32 y espere a que los controladores instalen (o instale manualmente los que sean necesarios)
- Iniciar el IDE de Arduino
- Selecciona tu placa en Herramientas> Menú de placa
- Seleccione el puerto COM al que está conectada la placa
- Compilar y cargar (Es posible que deba mantener pulsado el botón de arranque “KEY” mientras carga)
Cómo actualizar al código más reciente
- Inicie Git GUI y debería ver el repositorio en Abrir Repositorio Reciente.
Desde el menú Remoto seleccione Buscar de> Origen
- Espere a que git tire de los cambios y cierre Git GUI
- Abrir
C:/Users/[Tu_Nombre_de_Usuario]/Documents/Arduino/hardware/espressif/esp32/tools
y doble click enget.exe
Configuración del ESP32 con el IDE de Arduino
Una vez termina el proceso instalación de todo el software para el ESP32-t debemos ir al IDE de arduino, revisamos en “Herramientas” – “Placas” y verificamos si aparecieron nuevas placas y elegimos ESP32 DEV MODULE
A continuación elegimos el puerto COM correcto, ya estamos en condiciones de programas nuestro ESP32.
Pueden adquirir el producto en ICStation en ESP32-T WiFi IOT ESP32 Module Development Board Module Suite ESP32-Bit Wireless WiFi Module
Aclaración importante!!! El módulo hay que soldarlo a la placa.
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagrama
SUSCRIBETE A NUESTROS BOLETINES, RECIBE EN TU CORREO LAS NOTICIAS MÁS DESTACADAS, SÓLO INGRESANDO TU CORREO ELECTRÓNICO
[wysija_form id=”1″]