diff --git a/README.md b/README.md index e555a4e..17c45c1 100644 --- a/README.md +++ b/README.md @@ -21,32 +21,16 @@ ESP 8266 is a small, fast and capable Mqtt Broker and Client - zeroconf, this is a strange but very powerful mode where all brokers tries to connect together on the same local network. -## TODO List -* Use [Async library](https://github.com/me-no-dev/ESPAsyncTCP) -* Implement zeroconf mode (needs async) -* Add a max_clients in MqttBroker. Used with zeroconf, there will be -no need for having tons of clients (also RAM is the problem with many clients) -* Why not a 'global' TinyMqtt::loop() instead of having to call loop for all broker/clients instances -* Test what is the real max number of clients for broker. As far as I saw, 1k is needed per client which would make more than 30 clients critical. -* ~~MqttMessage uses a buffer 256 bytes which is usually far than needed.~~ -* ~~MqttClient does not support more than one subscription at time~~ -* ~~MqttClient auto re-subscribe (::resubscribe works bad on broker.emqx.io)~~ -* MqttClient auto reconnection -* ~~MqttClient unsubscribe~~ -* MqttClient does not sent payload to callback... -* MqttClient user/password -* Wildcards (I may implement only # as I'm not interrested by a clever and cpu consuming matching) - ## Quickstart * install [TinyMqtt library](https://github.com/hsaturn/TinyMqtt) + (you can use the Arduino library manager and search for TinyMqtt) * modify (wifi setup) ## Examples - | Example | Description | -| ---------------------------- | --------------------------------- | +| ------------------- | ------------------------------------------ | | client-without-wifi | standalone example | | simple-client | Connect the ESP to an external Mqtt broker | | simple-broker | Simple Mqtt broker with your ESP | @@ -57,11 +41,25 @@ no need for having tons of clients (also RAM is the problem with many clients) ## Standalone mode (zeroconf) -> The zeroconf mode is not yet implemented -zerofonf clients to connect to broker on local network. +zeroconf clients to connect to broker on local network. In Zeroconf mode, each ESP is a a broker and scans the local network. After a while one ESP naturally becomes a 'master' and all ESP are connected together. No problem if the master dies, a new master will be choosen soon. +## TODO List +* Use [Async library](https://github.com/me-no-dev/ESPAsyncTCP) +* Implement zeroconf mode (needs async) +* Add a max_clients in MqttBroker. Used with zeroconf, there will be +no need for having tons of clients (also RAM is the problem with many clients) +* Why not a 'global' TinyMqtt::loop() instead of having to call loop for all broker/clients instances +* Test what is the real max number of clients for broker. As far as I saw, 1k is needed per client which would make more than 30 clients critical. +* ~~MqttClient auto re-subscribe (::resubscribe works bad on broker.emqx.io)~~ +* MqttClient auto reconnection +* MqttClient user/password +* Wildcards (I may implement only # as I'm not interrested by a clever and cpu consuming matching) +* I suspect that MqttClient::parent could be removed and replaced with a simple boolean + (this'll need to rewrite a few functions) + ## License Gnu GPL 3.0, see [LICENSE](https://github.com/hsaturn/TinyMqtt/blob/main/LICENSE).