MQTT client library for ESP8266
This is MQTT client library for ESP8266, port from: MQTT client library for Contiki (thanks)
Features:
Prerequire:
Compile:
include/user_config.sample.h to include/user_config.local.h and change settings, included: SSID, PASS, MQTT configurations ...Make sure to add PYTHON PATH and compile PATH to Eclipse environment variable if using Eclipse
git clone --recursive https://github.com/tuanpmt/esp_mqtt
cd esp_mqtt
#clean
make clean
#make
make SDK_BASE=/tools/esp8266/sdk/ESP8266_NONOS_SDK ESPTOOL=tools/esp8266/esptool/esptool.py all
#flash
make ESPPORT=/dev/ttyUSB0 flashUsage
See file: user/user_main.c
Notes
Publish message and Subscribe
/* TRUE if success */
BOOL MQTT_Subscribe(MQTT_Client *client, char* topic, uint8_t qos);
BOOL MQTT_Publish(MQTT_Client *client, const char* topic, const char* data, int data_length, int qos, int retain);
Already support LWT: (Last Will and Testament)
/* Broker will publish a message with qos = 0, retain = 0, data = "offline" to topic "/lwt" if client don't send keepalive packet */
MQTT_InitLWT(&mqttClient, "/lwt", "offline", 0, 0);
See: include/user_config.sample.h
Define protocol name in include/user_config.local.h
#define PROTOCOL_NAMEv31 /*MQTT version 3.1 compatible with Mosquitto v0.15*/
//PROTOCOL_NAMEv311 /*MQTT version 3.11 compatible with https://eclipse.org/paho/clients/testing/*/Create SSL Self sign
openssl req -x509 -newkey rsa:1024 -keyout key.pem -out cert.pem -days XXXSSL Mqtt broker for test
…Example projects using esp_mqtt:
Contributing:
Feel free to contribute to the project in any way you like!
Authors: Tuan PM
LICENSE - "MIT License"
No open issues yet, or sync has not completed.