データの保存、更新、取得ができるWebサービス「milkcocoa」に接続し、データのプッシュ、送信、取得ができるライブラリです。 https://mlkcca.com/
Dependents: MilkcocoaSample MilkcocoaSampleESP8266_LED MilkcocoaSampleESP8266 MilkcocoaSample_3G ... more
MClient.h
00001 #ifndef _MCLIENT_H_ 00002 #define _MCLIENT_H_ 00003 00004 #if defined(TARGET_UBLOX_C027) 00005 #define USE_MDM 00006 #elif defined(TARGET_LPC1768) || defined(TARGET_K64F) || defined(TARGET_W7500x) 00007 #define USE_ETHERNET 00008 #else 00009 #define USE_ESP8266 00010 #endif 00011 00012 #include "mbed.h" 00013 #if defined(USE_ESP8266) 00014 #include "MQTTESP8266.h" 00015 #elif defined(USE_MDM) 00016 #include "MQTTMDM.h" 00017 #else 00018 #include "MQTTEthernet.h" 00019 #endif 00020 #include "MQTTClient.h" 00021 00022 class MClient 00023 { 00024 public: 00025 typedef void (*messageHandler)(MQTT::MessageData&); 00026 #ifdef USE_ESP8266 00027 MClient(MQTTESP8266 *ipstack) : client(MQTT::Client<MQTTESP8266, Countdown>(*ipstack)) 00028 #elif defined(USE_MDM) 00029 MClient(MQTTMDM *ipstack) : client(MQTT::Client<MQTTMDM, Countdown>(*ipstack)) 00030 #else 00031 MClient(MQTTEthernet *ipstack) : client(MQTT::Client<MQTTEthernet, Countdown>(*ipstack)) 00032 #endif 00033 { 00034 _ipstack = ipstack; 00035 } 00036 void setDefaultMessageHandler(messageHandler mh) 00037 { 00038 client.setDefaultMessageHandler(mh); 00039 } 00040 int connect(char* host,int port) 00041 { 00042 return _ipstack->connect(host, port); 00043 } 00044 int connect() 00045 { 00046 return client.connect(); 00047 } 00048 int connect(MQTTPacket_connectData& options) 00049 { 00050 return client.connect(options); 00051 } 00052 int publish(const char* topicName, MQTT::Message& message) 00053 { 00054 return client.publish(topicName,message); 00055 } 00056 int publish(const char* topicName, void* payload, size_t payloadlen, enum MQTT::QoS qos = MQTT::QOS0, bool retained = false) 00057 { 00058 return client.publish(topicName,payload,payloadlen,qos,retained); 00059 } 00060 int publish(const char* topicName, void* payload, size_t payloadlen, unsigned short& id, enum MQTT::QoS qos = MQTT::QOS1, bool retained = false) 00061 { 00062 return client.publish(topicName,payload,payloadlen,id,qos,retained); 00063 } 00064 int subscribe(const char* topicFilter, enum MQTT::QoS qos, messageHandler mh) 00065 { 00066 return client.subscribe(topicFilter,qos,mh); 00067 } 00068 int unsubscribe(const char* topicFilter) 00069 { 00070 return client.unsubscribe(topicFilter); 00071 } 00072 int disconnect() 00073 { 00074 return client.disconnect(); 00075 } 00076 int yield(unsigned long timeout_ms = 1000L) 00077 { 00078 return client.yield(timeout_ms); 00079 } 00080 bool isConnected() 00081 { 00082 return client.isConnected(); 00083 } 00084 private: 00085 #ifdef USE_ESP8266 00086 MQTT::Client<MQTTESP8266, Countdown> client; 00087 MQTTESP8266 *_ipstack; 00088 #elif defined(USE_MDM) 00089 MQTT::Client<MQTTMDM, Countdown> client; 00090 MQTTMDM *_ipstack; 00091 #else 00092 MQTT::Client<MQTTEthernet, Countdown> client; 00093 MQTTEthernet *_ipstack; 00094 #endif 00095 }; 00096 00097 #endif
Generated on Thu Jul 14 2022 13:39:07 by 1.7.2