mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
c6934d6175
The MQTT broker URL used as default in the examples has ceased operation. All examples and documention have been updated to point to the new domain mqtt.eclipse.org. This also required an update of the python example test scripts to use TLS 1.2
60 lines
2.5 KiB
Markdown
60 lines
2.5 KiB
Markdown
# ESP-MQTT MQTT over Websocket
|
|
|
|
(See the README.md file in the upper level 'examples' directory for more information about examples.)
|
|
|
|
This example connects to the broker mqtt.eclipse.org over web sockets as a demonstration subscribes/unsubscribes and send a message on certain topic.
|
|
(Please note that the public broker is maintained by the community so may not be always available, for details please see this [disclaimer](https://iot.eclipse.org/getting-started/#sandboxes))
|
|
|
|
It uses ESP-MQTT library which implements mqtt client to connect to mqtt broker.
|
|
|
|
## How to use example
|
|
|
|
### Hardware Required
|
|
|
|
This example can be executed on any ESP32 board, the only required interface is WiFi and connection to internet.
|
|
|
|
### Configure the project
|
|
|
|
* Open the project configuration menu (`idf.py menuconfig`)
|
|
* Configure Wi-Fi or Ethernet under "Example Connection Configuration" menu. See "Establishing Wi-Fi or Ethernet Connection" section in [examples/protocols/README.md](../../README.md) for more details.
|
|
* When using Make build system, set `Default serial port` under `Serial flasher config`.
|
|
|
|
### Build and Flash
|
|
|
|
Build the project and flash it to the board, then run monitor tool to view serial output:
|
|
|
|
```
|
|
idf.py -p PORT flash monitor
|
|
```
|
|
|
|
(To exit the serial monitor, type ``Ctrl-]``.)
|
|
|
|
See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.
|
|
|
|
## Example Output
|
|
|
|
```
|
|
I (3714) event: sta ip: 192.168.0.139, mask: 255.255.255.0, gw: 192.168.0.2
|
|
I (3714) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE
|
|
I (3964) MQTT_CLIENT: Sending MQTT CONNECT message, type: 1, id: 0000
|
|
I (4164) MQTTWS_EXAMPLE: MQTT_EVENT_CONNECTED
|
|
I (4174) MQTTWS_EXAMPLE: sent publish successful, msg_id=41464
|
|
I (4174) MQTTWS_EXAMPLE: sent subscribe successful, msg_id=17886
|
|
I (4174) MQTTWS_EXAMPLE: sent subscribe successful, msg_id=42970
|
|
I (4184) MQTTWS_EXAMPLE: sent unsubscribe successful, msg_id=50241
|
|
I (4314) MQTTWS_EXAMPLE: MQTT_EVENT_PUBLISHED, msg_id=41464
|
|
I (4484) MQTTWS_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=17886
|
|
I (4484) MQTTWS_EXAMPLE: sent publish successful, msg_id=0
|
|
I (4684) MQTTWS_EXAMPLE: MQTT_EVENT_SUBSCRIBED, msg_id=42970
|
|
I (4684) MQTTWS_EXAMPLE: sent publish successful, msg_id=0
|
|
I (4884) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
|
|
I (4884) MQTTWS_EXAMPLE: MQTT_EVENT_DATA
|
|
TOPIC=/topic/qos0
|
|
DATA=data
|
|
I (5194) MQTT_CLIENT: deliver_publish, message_length_read=19, message_length=19
|
|
I (5194) MQTTWS_EXAMPLE: MQTT_EVENT_DATA
|
|
TOPIC=/topic/qos0
|
|
DATA=data
|
|
```
|
|
|