Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Reporte MQTT Version Final Erick y Zianya
Reporte MQTT Version Final Erick y Zianya
REPORTE DE PRÁCTICAS
Nombre del alumno: Erick Ivan Ayala Talavera, Jeremy Zianya Fecha: 20/12/2023
Pérez González
No. de Práctica: practica Asignatura: Sistemas de Cómputo y Redes 2023
unidad 3
Para resolver este problema, es necesario implementar un software que conecte el ESP32 al servidor
web. Este software debe ser capaz de leer los datos del sensor, codificarlos en formato MQTT y
enviarlos al servidor web.
ESP32
|
+---> Sensor
|
+---> Software de comunicación
|
+---> Servidor web
Una vez que el software de comunicación esté implementado, el ESP32 podrá enviar datos al servidor
web a través del protocolo MQTT. Estos datos podrán ser leídos por cualquier aplicación que admita
el protocolo MQTT.
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
Material:
• Arduino
• MQTTX
• ESP32
• SENSOR DHT11
• Protoboard
• Pines para Arduino
• Cable micro USB
Algoritmo/Diagrama/Pseudocódigo/Código:
Arduino código 1:
#ifdef ESP8266
#include <ESP8266WiFi.h> /* WiFi library for ESP8266 */
#else
#include <WiFi.h> /* WiFi library for ESP32 */
#endif
#include <Wire.h>
#include <PubSubClient.h>
#include "DHT.h" /* DHT11 sensor library */
#define DHTPIN 2
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
Serial.begin(115200);
// dht.begin();
setup_wifi();
client.setServer(mqtt_server, 1883);
}
void setup_wifi() {
delay(10);
// We start by connecting to a WiFi network
Serial.println();
Serial.print("Connecting to ");
Serial.println(wifi_ssid);
WiFi.begin(wifi_ssid, wifi_password);
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
void reconnect() {
// Loop until we're reconnected
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
if (client.connect("ESP8266Client")) {
Serial.println("connected");
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
delay(5000);
}
}
}
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
Serial.print(hif);
Serial.println(" *F");
Serial.print("Temperature in Celsius:");
Serial.println(String(t).c_str());
client.publish(temperature_celsius_topic, String(t).c_str(), true);
Serial.print("Temperature in Fahrenheit:");
Serial.println(String(f).c_str());
client.publish(temperature_fahrenheit_topic, String(f).c_str(), true);
Serial.print("Humidity:");
Serial.println(String(h).c_str());
client.publish(humidity_topic, String(h).c_str(), true);
#include <WiFi.h>
#include <PubSubClient.h>
#include <DHTesp.h>
WiFiClient espClient;
PubSubClient client(espClient);
unsigned long lastMsg = 0;
float temp = 0;
float hum = 0;
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
void setup_wifi() {
delay(10);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
randomSeed(micros());
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message arrived [");
Serial.print(topic);
Serial.print("] ");
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
}}
void reconnect() {
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
String clientId = "ESP32Client-";
clientId += String(random(0xffff), HEX);
if (client.connect(clientId.c_str())) {
Serial.println("Connected");
client.publish("/ThinkIOT/Publish", "Welcome");
client.subscribe("/ThinkIOT/Subscribe");
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
Serial.print("Temperature: ");
Serial.println(temp);
Serial.print("Humidity: ");
Serial.println(hum);
}
}
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
Resultados:
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
Pruebas en video:
https://drive.google.com/file/d/1QaTmOIxQvFRxcpFeBx9KK0jmVSmUEDgQ/view?usp=drive_lin
k
https://drive.google.com/file/d/1QaUMzey1c3NsjFzDdroA8yOAhC2YnHiE/view?usp=drive_link
https://drive.google.com/file/d/1QjPqM5-phtuN5ZypXAoq0B7Fsw4wUxuL/view?usp=drive_link
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx
Instituto Tecnológico Superior de Pátzcuaro
CONCLUSIONES
El ESP32 es un microcontrolador de doble núcleo con Wi-Fi y Bluetooth integrados, lo que lo hace
ideal para aplicaciones IoT. El ESP32 tiene soporte nativo para el protocolo MQTT, por lo que es
fácil implementarlo en proyectos IoT.
En conclusión, el uso del protocolo MQTT con una ESP32 es una forma sencilla y eficiente de
implementar comunicación entre dispositivos IoT.
Carretera Pátzcuaro-Morelia Av. Tecnológico No.1, Tzurumutaro, Pátzcuaro, Michoacan, México. C.P. 61615
Tel. (434) 542-5049, 5063, 5067. e-mail: [email protected] www.itspa.edu.mx