Ligne 1 : | Ligne 1 : | ||
{{Tuto Details | {{Tuto Details | ||
+ | |Main_Picture=ESP32_DHT22_IFTTT_306268167_427924746149632_7414040424516888266_n.jpg | ||
+ | |Main_Picture_annotation={"version":"3.5.0","objects":[{"type":"image","version":"3.5.0","originX":"left","originY":"top","left":77,"top":-1,"width":2048,"height":2047,"fill":"rgb(0,0,0)","stroke":null,"strokeWidth":0,"strokeDashArray":null,"strokeLineCap":"butt","strokeDashOffset":0,"strokeLineJoin":"miter","strokeMiterLimit":4,"scaleX":0.22,"scaleY":0.22,"angle":0,"flipX":false,"flipY":false,"opacity":1,"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"crossOrigin":"","cropX":0,"cropY":0,"src":"https://wikifab.org/images/8/81/ESP32_DHT22_IFTTT_306268167_427924746149632_7414040424516888266_n.jpg","filters":[]}],"height":449.6881496881497,"width":600} | ||
|Licences=Attribution (CC BY) | |Licences=Attribution (CC BY) | ||
|Description=<translate>Use the ESP32's wifi module to communicate with a computer</translate> | |Description=<translate>Use the ESP32's wifi module to communicate with a computer</translate> | ||
Ligne 11 : | Ligne 13 : | ||
}} | }} | ||
{{Introduction | {{Introduction | ||
− | |Introduction=<translate></translate> | + | |Introduction=<translate>'''Introduction & Goals:''' |
+ | |||
+ | This project utilizes the Wifi module on an ESP32 along with the PubSub library on the Arduino IDE to communicate with other IoT devices. In this specific tutorial, we learn how to communicate with your personal device and how to communicate back to the ESP32 | ||
+ | |||
+ | # Learn what MQTT is | ||
+ | # Set up esp32 dev library and pubSub along with MQTT to excange messages</translate> | ||
}} | }} | ||
{{Materials | {{Materials |
Auteur Sid | Dernière modification 10/02/2024 par Disisid
ESP32_DHT22_IFTTT_306268167_427924746149632_7414040424516888266_n.jpg Creation
Introduction & Goals:
This project utilizes the Wifi module on an ESP32 along with the PubSub library on the Arduino IDE to communicate with other IoT devices. In this specific tutorial, we learn how to communicate with your personal device and how to communicate back to the ESP32
Before we begin, we need to ensure you have an MQTT broker to communicate and test with. We can download MQTTX to ensure communication.
Ensure that the ESP32 dev library is installed, then go to libraries in the Arduino IDE and download PubSubClient.
Copy the full code into your IDE. Feel free to change things like the text it prints, etc
1 #include <WiFi.h>
2 #include <PubSubClient.h>
3
4 // WiFi
5 const char *ssid = "xxxxx"; // Enter your Wi-Fi name
6 const char *password = "xxxxx"; // Enter Wi-Fi password
7
8 // MQTT Broker
9 const char *mqtt_broker = "broker.emqx.io";
10 const char *topic = "emqx/esp32";
11 const char *mqtt_username = "emqx";
12 const char *mqtt_password = "public";
13 const int mqtt_port = 1883;
14
15 WiFiClient espClient;
16 PubSubClient client(espClient);
17
18 void setup() {
19 // Set software serial baud to 115200;
20 Serial.begin(115200);
21 // Connecting to a WiFi network
22 WiFi.begin(ssid, password);
23 while (WiFi.status() != WL_CONNECTED) {
24 delay(500);
25 Serial.println("Connecting to WiFi..");
26 }
27 Serial.println("Connected to the Wi-Fi network");
28 //connecting to a mqtt broker
29 client.setServer(mqtt_broker, mqtt_port);
30 client.setCallback(callback);
31 while (!client.connected()) {
32 String client_id = "esp32-client-";
33 client_id += String(WiFi.macAddress());
34 Serial.printf("The client %s connects to the public MQTT broker\n", client_id.c_str());
35 if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {
36 Serial.println("Public EMQX MQTT broker connected");
37 } else {
38 Serial.print("failed with state ");
39 Serial.print(client.state());
40 delay(2000);
41 }
42 }
43 // Publish and subscribe
44 client.publish(topic, "Hi, I'm ESP32 ^^");
45 client.subscribe(topic);
46 }
47
48 void callback(char *topic, byte *payload, unsigned int length) {
49 Serial.print("Message arrived in topic: ");
50 Serial.println(topic);
51 Serial.print("Message:");
52 for (int i = 0; i < length; i++) {
53 Serial.print((char) payload[i]);
54 }
55 Serial.println();
56 Serial.println("-----------------------");
57 }
58
59 void loop() {
60 client.loop();
61 }
Hi, I'm MQTTX
to the ESP32.
en none 0 Draft
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #