Demo for Mbed Connect Cloud board and an MQTT Python Broker/Client

Dependencies:   C12832 MQTT

Fork of MQTT-Python-Demo by Cambridge Hackathon

Committer:
Jenny Plunkett
Date:
Fri Nov 17 16:02:20 2017 -0600
Revision:
4:cc36d40e9bf5
Added MQTTNetwork

Who changed what in which revision?

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