The broker does support:
- a subset of MQTT v3.1.1 (CONNECT, DISCONNECT, SUBSCRIBE, UNSUBSCRIBE, PUBLISH, PING)
- a smaller number of clients (at least 5 have been tested) based on the config of lwip
- up to 100 topic subscriptions
- arbitrary publications
- QoS level 0
The broker does not yet support:
- username, password authentication
- QoS levels other than 0
- non-clear sessions
- retained messages
- TLS
The complete functionality is included in the mqtt directory. The broker is started by simply calling:
mqtt_server_start(1883);
in the user_init() function. The code can be be used in any project that is compiled using the esp-open-sdk. Thanks to Tuan PM for sharing his MQTT client library as a basis with us.
The current demo program is based on and included in the esp_wifi_repeater NAT router (without monitoring, ACLs, etc..), but it uses the router only as implementation environment. Binary firmware can be found in the firmware directory. For infos on flashing, building and using the provided demo program look into the master branch of this project (https://github.com/martin-ger/esp_wifi_repeater/).
Work is ongoing, questions, feedback, and help are welcome.