iot_water_monitor_v2

Dependencies:   easy-connect-v16 Watchdog FP MQTTPacket RecordType-v-16 watersenor_and_temp_code

Committer:
DuyLionTran
Date:
Fri Dec 29 05:23:24 2017 +0000
Revision:
22:0e51411e68b6
Child:
32:8226837c56ae
version 1.7.5

Who changed what in which revision?

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