MQTT client to test the ENC28J60-EMAC on NUCLEO-F446RE.

Dependencies:   ENC28J60-EMAC

Committer:
hudakz
Date:
Mon Mar 29 09:32:44 2021 +0000
Revision:
5:d9570dbf2f82
Parent:
0:238f0d0c0ba3
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 5:d9570dbf2f82 11 network(aNetwork),
hudakz 5:d9570dbf2f82 12 socket(new TCPSocket)
hudakz 5:d9570dbf2f82 13 {}
hudakz 0:238f0d0c0ba3 14
hudakz 0:238f0d0c0ba3 15 ~ MQTTNetwork() { delete socket; }
hudakz 0:238f0d0c0ba3 16 int read(unsigned char* buffer, int len, int timeout) { return socket->recv(buffer, len); }
hudakz 0:238f0d0c0ba3 17 int write(unsigned char* buffer, int len, int timeout) { return socket->send(buffer, len); }
hudakz 0:238f0d0c0ba3 18 int connect(const char* hostname, uint16_t port)
hudakz 0:238f0d0c0ba3 19 {
hudakz 0:238f0d0c0ba3 20 SocketAddress addr;
hudakz 0:238f0d0c0ba3 21
hudakz 0:238f0d0c0ba3 22 socket->open(network);
hudakz 0:238f0d0c0ba3 23 addr.set_ip_address(hostname);
hudakz 0:238f0d0c0ba3 24 addr.set_port(port);
hudakz 0:238f0d0c0ba3 25 return socket->connect(addr);
hudakz 0:238f0d0c0ba3 26 }
hudakz 0:238f0d0c0ba3 27 int disconnect() { return socket->close(); }
hudakz 0:238f0d0c0ba3 28 private:
hudakz 0:238f0d0c0ba3 29 EthernetInterface* network;
hudakz 0:238f0d0c0ba3 30 TCPSocket* socket;
hudakz 0:238f0d0c0ba3 31 };
hudakz 0:238f0d0c0ba3 32 #endif // _MQTTNETWORK_H_