MQTT Client for ENC28J60 Ethernet modules. Depends on the UIPEthernet library.
Dependents: mBuino_ENC28_MQTT MQTT_DHT11_ENC28J60 MQTT_DHT11_ENC28J60_tushar MQTT_Hello_ENC28J60
MQTT library for ENC28J60 Ethernet modules.
Depends on the UIPEthernet library.
Example program:
Import programMQTT_Hello_ENC28J60
MQTT Client example program. Ethernet connection is via an ENC28J60 module.
Diff: MQTTClient.cpp
- Revision:
- 5:361a6987739b
- Parent:
- 4:8620de6d1696
- Child:
- 6:1ce536bf461b
diff -r 8620de6d1696 -r 361a6987739b MQTTClient.cpp --- a/MQTTClient.cpp Thu Sep 12 20:26:40 2019 +0000 +++ b/MQTTClient.cpp Thu Sep 12 22:01:23 2019 +0000 @@ -17,7 +17,8 @@ */ MQTTClient::MQTTClient() : _client(NULL), - _stream(NULL) + _stream(NULL), + _onMessage(NULL) { } /** @@ -26,17 +27,12 @@ * @param * @retval */ -MQTTClient::MQTTClient -( - IpAddress& ip, - uint16_t port, - Callback<void (char*, uint8_t*, uint16_t)> onMessage -) : +MQTTClient::MQTTClient(IpAddress& ip, uint16_t port) : _ip(ip), _domain(NULL), _port(port), _stream(NULL), - _onMessage(onMessage) + _onMessage(NULL) { } /** @@ -45,16 +41,11 @@ * @param * @retval */ -MQTTClient::MQTTClient -( - const char* domain, - uint16_t port, - Callback<void (char*, uint8_t*, uint16_t)> onMessage -) : +MQTTClient::MQTTClient(const char* domain, uint16_t port) : _domain((char*)domain), _port(port), _stream(NULL), - _onMessage(onMessage) + _onMessage(NULL) { } /** @@ -63,18 +54,12 @@ * @param * @retval */ -MQTTClient::MQTTClient -( - IpAddress& ip, - uint16_t port, - Callback<void (char*, uint8_t*, uint16_t)> onMessage, - Stream& stream -) : +MQTTClient::MQTTClient(IpAddress& ip, uint16_t port, Stream& stream) : _ip(ip), _domain(NULL), _port(port), _stream(&stream), - _onMessage(onMessage) + _onMessage(NULL) { } /** @@ -83,17 +68,11 @@ * @param * @retval */ -MQTTClient::MQTTClient -( - const char* domain, - uint16_t port, - Callback<void (char*, uint8_t*, uint16_t)> onMessage, - Stream& stream -) : +MQTTClient::MQTTClient(const char* domain, uint16_t port, Stream& stream) : _domain((char*)domain), _port(port), _stream(&stream), - _onMessage(onMessage) + _onMessage(NULL) { } /** @@ -166,7 +145,7 @@ if (result) { _nextMsgId = 1; - uint8_t d[] = { 0x00, 0x06, 'M', 'Q', 'I', 's', 'd', 'p', MQTTPROTOCOLVERSION }; + uint8_t d[] = { 0x00, 0x06, 'M', 'Q', 'I', 's', 'd', 'p', MQTTPROTOCOLVERSION }; // Leave room in the buffer for header and variable length field uint16_t pos = 5; @@ -314,7 +293,7 @@ * @param * @retval */ -bool MQTTClient::process() +bool MQTTClient::poll() { if (connected()) { time_t now = time(NULL); @@ -341,7 +320,6 @@ if (length > 0) { _lastInActivity = now; - //printf("Here I am\r\n"); uint8_t type = _buffer[0] & 0xF0; if (type == MQTTPUBLISH) { if (_onMessage) { @@ -596,3 +574,14 @@ return rc; } + +/** + * @brief + * @note + * @param + * @retval + */ +void MQTTClient::attach(Callback<void (char *, uint8_t *, uint16_t)> fnc) +{ + _onMessage = fnc; +}