Tarapues Boris - Aplicaciones ESP32
Tarapues Boris - Aplicaciones ESP32
Ingeniería de Sistemas
Redes Inalámbricas I
Aplicaciones:
Proyecto con ESP32 – Cómo enviar los valores de un sensor por MQTT con ESP32.
Descripción:
Materiales:
• Placa ESP32.
• Protoboard
• Sensor de temperatura DHT22.
• Conectores.
• Dispositivo móvil.
• Entorno de desarrollo ArduinoIDE o VSCode.
Los materiales que se muestran a continuación en las ilustraciones son lo que se van a
usar en el presente proyecto entre los más relevantes.
Funcionamiento:
Conexión:
Ahora coloque el sensor en su placa de prueba además de ESP32. Conecte el pin VCC en el
sensor al pin 3.3V en el ESP32 y tierra a tierra. Conecte también el pin de datos del sensor al
pin D4 en el ESP32. Finalmente, necesitamos colocar una resistencia pull-up de 10KΩ entre
VCC y la línea de datos para mantenerla ALTA, para una comunicación adecuada entre el
sensor y el MCU. Si tiene una placa de conexión del sensor, no necesita agregar ningún pull-
up externo. Viene con una resistencia pull-up incorporada.
Ilustración 4.- Conexión 1 DHT22 - ESP32.
Luego de tener nuestros elementos físicos conectados, se procede a crear una cuenta en
cloudMQTT para ser el servidor de nuestro proyecto, para esto se ingresa a
www.cloudmqtt.com y se puede crear la respectiva cuenta.
Luego de crear la cuenta y de ingresar a este, se procede a crear una instancia con un nombre,
plan gratuito (free plan), y una etiqueta (tag) para que se organice de manera adecuada.
Nota: Esta es solo una sugerencia de servidor, se puede usar otro que se encuentran en la
web.
Luego se procede a descargar el dispositivo móvil una aplicación MQTT en la tienda de
aplicaciones de los smartphones.
Usando VSCode para realizar la respectiva programación del ESP32, se busca la extensión
PIO HOME, usa la misma técnica que con ArduinoIDE para instalar las respectivas librerías
que se van a usar.
Librerías:
https://github.com/beegee-tokyo/DHTesp
https://github.com/knolleary/pubsubclient
Código:
WiFiClient espClient;
PubSubClient client(espClient);
DHTesp dht;
void setup() {
Serial.begin(9600);
WiFi.begin(ssid, password);
dht.setup(14);
client.setServer(mqttServer, mqttPort);
while (!client.connected()) {
Serial.println("Conectando a Broquer MQTT...");
Serial.println("conectado");
} else {
}
}
}
void loop() {
delay(dht.getMinimumSamplingPeriod());
float temperature = dht.getTemperature();
char tempstring[3];
dtostrf(temperature,3,1,tempstring);
client.publish("SENSOR1/TEMPERATURA", tempstring);
client.loop();
}
Bibliografía:
Aquí Hay apuntes, MQTT & ESP32: Ejemplo con sensor de temperatura DHT22, 2018,
http://aquihayapuntes.com/foro/viewtopic.php?f=24&t=1039