データの保存、更新、取得ができるWebサービス「milkcocoa」に接続し、データのプッシュ、送信、取得ができるライブラリです。 https://mlkcca.com/

Dependencies:   MQTT

Dependents:   MilkcocoaSample MilkcocoaSampleESP8266_LED MilkcocoaSampleESP8266 MilkcocoaSample_3G ... more

Revision:
1:4a634c06c5dc
Child:
2:9afb66979712
diff -r 23e533c4b1ec -r 4a634c06c5dc MClient.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MClient.h	Fri Dec 18 04:30:59 2015 +0000
@@ -0,0 +1,85 @@
+#ifndef _MCLIENT_H_
+#define _MCLIENT_H_
+
+#define USE_ESP8266
+//#define USE_ETHERNET
+
+#include "mbed.h"
+#ifdef USE_ESP8266
+#include "MQTTESP8266.h"
+#else
+#include "MQTTEthernet.h"
+#endif
+#include "MQTTClient.h"
+
+class MClient
+{
+ public:
+    typedef void (*messageHandler)(MQTT::MessageData&);
+#ifdef USE_ESP8266
+	MClient(MQTTESP8266 *ipstack) : client(MQTT::Client<MQTTESP8266, Countdown>(*ipstack))
+#else
+	MClient(MQTTEthernet *ipstack) : client(MQTT::Client<MQTTEthernet, Countdown>(*ipstack))
+#endif
+	{
+		_ipstack = ipstack;
+	}
+    void setDefaultMessageHandler(messageHandler mh)
+    {
+        client.setDefaultMessageHandler(mh);
+    }
+    int connect(char* host,int port)
+	{
+		return _ipstack->connect(host, port);
+	}
+    int connect()
+	{
+		return client.connect();
+	}
+    int connect(MQTTPacket_connectData& options)
+	{
+		return client.connect(options);
+	}
+    int publish(const char* topicName, MQTT::Message& message)
+    {
+		return client.publish(topicName,message);
+	}
+    int publish(const char* topicName, void* payload, size_t payloadlen, enum MQTT::QoS qos = MQTT::QOS0, bool retained = false)
+	{
+		return client.publish(topicName,payload,payloadlen,qos,retained);
+	}
+    int publish(const char* topicName, void* payload, size_t payloadlen, unsigned short& id, enum MQTT::QoS qos = MQTT::QOS1, bool retained = false)
+	{
+		return client.publish(topicName,payload,payloadlen,id,qos,retained);
+	}
+    int subscribe(const char* topicFilter, enum MQTT::QoS qos, messageHandler mh)
+	{
+		return client.subscribe(topicFilter,qos,mh);
+	}
+    int unsubscribe(const char* topicFilter)
+	{
+		return client.unsubscribe(topicFilter);
+	}
+    int disconnect()
+	{
+		return client.disconnect();
+	}
+    int yield(unsigned long timeout_ms = 1000L)
+	{
+		return client.yield(timeout_ms);
+	}
+    bool isConnected()
+    {
+        return client.isConnected();
+    }
+private:
+#ifdef USE_ESP8266
+	MQTT::Client<MQTTESP8266, Countdown> client;
+  	MQTTESP8266 *_ipstack;
+#else
+	MQTT::Client<MQTTEthernet, Countdown> client;
+  	MQTTEthernet *_ipstack;
+#endif
+};
+
+#endif
\ No newline at end of file