D. Dispositivo.ino

Video del dispositivo
Implementación del ejemplo de IoT con MQTT en Arduino IDE.

Ve como configurar y ejecutar este ejemplo. No hagas caso a la parte de los certificados,

1#include "EspMQTTClient.h"
2
3const char *const SSID =
4 "Galaxy A723C85";
5const char *const PASS =
6 "bdoi1764";
7const char *const URL =
8 "test.mosquitto.org";
9const uint16_t PUERTO =
10 1883;
11const char *const CLIENT_ID =
12 "gilpgdmIoT-esp32-1";
13const char *const TOPICO_FOCO =
14 "gilpgdm/IoT/foco";
15
16EspMQTTClient cliente(
17 SSID,
18 PASS,
19 URL,
20 0, // Usuario opcional
21 0, // Contraseña opcional
22 CLIENT_ID,
23 PUERTO);
24const int BOTON = 0;
25bool presionado = false;
26String valor = "0";
27
28void recibeMensaje(
29 const String &payload)
30{
31 valor = payload;
32 digitalWrite(LED_BUILTIN,
33 valor == "1"
34 ? HIGH
35 : LOW);
36}
37
38void enviaMensajeMqtt(
39 String valorAEnviar,
40 String topico)
41{
42 cliente.publish(topico,
43 valorAEnviar);
44}
45
46void onConnectionEstablished()
47{
48 cliente.subscribe(
49 TOPICO_FOCO, recibeMensaje);
50 enviaMensajeMqtt(
51 valor, TOPICO_FOCO);
52}
53
54void setup()
55{
56 Serial.begin(115200);
57 pinMode(BOTON, INPUT);
58 pinMode(LED_BUILTIN, OUTPUT);
59 // Funcionalidades opcionaes
60 // Mensajes para depurar conexión
61 cliente.enableDebuggingMessages();
62 cliente.enableHTTPWebUpdater();
63 // Actualizaciones
64 // OTA (Over The Air)
65 cliente.enableOTA();
66 // Mensaje de última voluntad.
67 cliente.enableLastWillMessage(
68 "gilpgdm/IoT/lastwill",
69 "Adios");
70}
71
72void loop()
73{
74 cliente.loop();
75 if (cliente.isConnected())
76 {
77 bool actual =
78 digitalRead(BOTON);
79 if (!presionado &&
80 actual == LOW)
81 {
82 enviaMensajeMqtt(
83 valor == "1" ? "0" : "1",
84 TOPICO_FOCO);
85 }
86 presionado = (actual == LOW);
87 }
88}
89
skip_previous skip_next