MQTT client to test the ENC28J60-EMAC on NUCLEO-L152RE

Dependencies:   ENC28J60-EMAC

Committer:
hudakz
Date:
Fri Mar 26 16:15:14 2021 +0000
Revision:
0:238f0d0c0ba3
Child:
5:d9570dbf2f82
MQTT client to test the ENC28J60-EMAC on NUCLEO-F446RE.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hudakz 0:238f0d0c0ba3 1 #ifndef _MQTTNETWORK_H_
hudakz 0:238f0d0c0ba3 2 #define _MQTTNETWORK_H_
hudakz 0:238f0d0c0ba3 3
hudakz 0:238f0d0c0ba3 4 #include "EthernetInterface.h"
hudakz 0:238f0d0c0ba3 5 #include "TCPSocket.h"
hudakz 0:238f0d0c0ba3 6
hudakz 0:238f0d0c0ba3 7 class MQTTNetwork
hudakz 0:238f0d0c0ba3 8 {
hudakz 0:238f0d0c0ba3 9 public:
hudakz 0:238f0d0c0ba3 10 MQTTNetwork(EthernetInterface* aNetwork) :
hudakz 0:238f0d0c0ba3 11 network(aNetwork)
hudakz 0:238f0d0c0ba3 12 {
hudakz 0:238f0d0c0ba3 13 socket = new TCPSocket();
hudakz 0:238f0d0c0ba3 14 }
hudakz 0:238f0d0c0ba3 15
hudakz 0:238f0d0c0ba3 16 ~ MQTTNetwork() { delete socket; }
hudakz 0:238f0d0c0ba3 17 int read(unsigned char* buffer, int len, int timeout) { return socket->recv(buffer, len); }
hudakz 0:238f0d0c0ba3 18 int write(unsigned char* buffer, int len, int timeout) { return socket->send(buffer, len); }
hudakz 0:238f0d0c0ba3 19 int connect(const char* hostname, uint16_t port)
hudakz 0:238f0d0c0ba3 20 {
hudakz 0:238f0d0c0ba3 21 SocketAddress addr;
hudakz 0:238f0d0c0ba3 22
hudakz 0:238f0d0c0ba3 23 socket->open(network);
hudakz 0:238f0d0c0ba3 24 addr.set_ip_address(hostname);
hudakz 0:238f0d0c0ba3 25 addr.set_port(port);
hudakz 0:238f0d0c0ba3 26 return socket->connect(addr);
hudakz 0:238f0d0c0ba3 27 }
hudakz 0:238f0d0c0ba3 28
hudakz 0:238f0d0c0ba3 29 int disconnect() { return socket->close(); }
hudakz 0:238f0d0c0ba3 30 private:
hudakz 0:238f0d0c0ba3 31 EthernetInterface* network;
hudakz 0:238f0d0c0ba3 32 TCPSocket* socket;
hudakz 0:238f0d0c0ba3 33 };
hudakz 0:238f0d0c0ba3 34 #endif // _MQTTNETWORK_H_