Files
Arduino/libraries/ESP8266MQTTClient/README.md
Jérôme Delacotte 7b30d6e298 first commit
2025-03-06 11:15:32 +01:00

52 lines
1.8 KiB
Markdown

# MQTT Client library for ESP8266 Arduino
This is MQTT client library for ESP8266, using mqtt_msg package from [MQTT client library for Contiki](https://github.com/esar/contiki-mqtt) and use for ESP8266 NON-OS SDK [esp_mqtt](https://github.com/tuanpmt/esp_mqtt)
Features:
- Support subscribing, publishing, authentication, will messages, keep alive pings and all 3 QoS levels (it should be a fully functional client).
## Requirements
- ESP8266WiFi
- WiFiClientSecure
## Status
- Support 3 type of qos (0, 1, 2) and outbox
- only mqtt over TCP
## MQTT URI Scheme
- `mqtt://[username][:password@]hostname[:port][#clientId]`
+ `mqtt` for MQTT over TCP
+ `ws` for MQTT over Websocket
- Example:
+ **Full** `mqtt://username:password@test.mosquitto.org:1883#my_client_id`
+ **Websocket** `ws://username:password@test.mosquitto.org:1883/mqtt#my_client_id`
+ **Minimal** `mqtt://test.mosquitto.org`, with `user`, `pass` = NULL, port = 1883, client id = "ESP_" + ESP.getChipId()
## API
### Setup
- bool begin(String uri);
- bool begin(String uri, int keepalive, bool clean_session);
- bool begin(String uri, LwtOptions lwt);
- bool begin(String uri, LwtOptions lwt, int keepalive, bool clean_session)
### Events
- void onConnect(THandlerFunction fn);
- void onDisconnect(THandlerFunction fn);
- void onSubscribe(THandlerFunction_PubSub fn);
- void onPublish(THandlerFunction_PubSub fn);
- void onData(THandlerFunction_Data fn);
### Pub/Sub
- int subscribe(String topic);
- int subscribe(String topic, uint8_t qos);
- int publish(String topic, String data);
- int publish(String topic, String data, int qos, int retain);
## License
Copyright (c) 2016 Tuan PM (https://twitter.com/tuanpmt)
ESP8266 port (c) 2016 Ivan Grokhotkov (ivan@esp8266.com)
License Apache License