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

Dependents:   mbed-os-example-wifi-milkcocoa MilkcocoaOsSample_Eth MilkcocoaOsSample_ESP8266 MilkcocoaOsSample_Eth_DigitalIn

Committer:
jksoft
Date:
Mon Mar 26 04:49:20 2018 +0000
Revision:
13:61e0cc093180
Parent:
0:0a2f634d3324
???????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jksoft 0:0a2f634d3324 1 #ifndef _MCLIENT_H_
jksoft 0:0a2f634d3324 2 #define _MCLIENT_H_
jksoft 0:0a2f634d3324 3
jksoft 0:0a2f634d3324 4 #include "mbed.h"
jksoft 0:0a2f634d3324 5 #include "MQTTClient.h"
jksoft 0:0a2f634d3324 6 #include "MQTTInterface.h"
jksoft 0:0a2f634d3324 7 class MClient
jksoft 0:0a2f634d3324 8 {
jksoft 0:0a2f634d3324 9 public:
jksoft 0:0a2f634d3324 10 typedef void (*messageHandler)(MQTT::MessageData&);
jksoft 0:0a2f634d3324 11
jksoft 0:0a2f634d3324 12 MClient(MQTTInterface *ipstack) : client(MQTT::Client<MQTTInterface, Countdown>(*ipstack))
jksoft 0:0a2f634d3324 13 {
jksoft 0:0a2f634d3324 14 _ipstack = ipstack;
jksoft 0:0a2f634d3324 15 }
jksoft 0:0a2f634d3324 16 void setDefaultMessageHandler(messageHandler mh)
jksoft 0:0a2f634d3324 17 {
jksoft 0:0a2f634d3324 18 client.setDefaultMessageHandler(mh);
jksoft 0:0a2f634d3324 19 }
jksoft 0:0a2f634d3324 20 int connect(char* host,int port)
jksoft 0:0a2f634d3324 21 {
jksoft 0:0a2f634d3324 22 return _ipstack->connect(host, port);
jksoft 0:0a2f634d3324 23 }
jksoft 0:0a2f634d3324 24 int connect()
jksoft 0:0a2f634d3324 25 {
jksoft 0:0a2f634d3324 26 return client.connect();
jksoft 0:0a2f634d3324 27 }
jksoft 0:0a2f634d3324 28 int connect(MQTTPacket_connectData& options)
jksoft 0:0a2f634d3324 29 {
jksoft 0:0a2f634d3324 30 return client.connect(options);
jksoft 0:0a2f634d3324 31 }
jksoft 0:0a2f634d3324 32 int publish(const char* topicName, MQTT::Message& message)
jksoft 0:0a2f634d3324 33 {
jksoft 0:0a2f634d3324 34 return client.publish(topicName,message);
jksoft 0:0a2f634d3324 35 }
jksoft 0:0a2f634d3324 36 int publish(const char* topicName, void* payload, size_t payloadlen, enum MQTT::QoS qos = MQTT::QOS0, bool retained = false)
jksoft 0:0a2f634d3324 37 {
jksoft 0:0a2f634d3324 38 return client.publish(topicName,payload,payloadlen,qos,retained);
jksoft 0:0a2f634d3324 39 }
jksoft 0:0a2f634d3324 40 int publish(const char* topicName, void* payload, size_t payloadlen, unsigned short& id, enum MQTT::QoS qos = MQTT::QOS1, bool retained = false)
jksoft 0:0a2f634d3324 41 {
jksoft 0:0a2f634d3324 42 return client.publish(topicName,payload,payloadlen,id,qos,retained);
jksoft 0:0a2f634d3324 43 }
jksoft 0:0a2f634d3324 44 int subscribe(const char* topicFilter, enum MQTT::QoS qos, messageHandler mh)
jksoft 0:0a2f634d3324 45 {
jksoft 0:0a2f634d3324 46 return client.subscribe(topicFilter,qos,mh);
jksoft 0:0a2f634d3324 47 }
jksoft 0:0a2f634d3324 48 int unsubscribe(const char* topicFilter)
jksoft 0:0a2f634d3324 49 {
jksoft 0:0a2f634d3324 50 return client.unsubscribe(topicFilter);
jksoft 0:0a2f634d3324 51 }
jksoft 0:0a2f634d3324 52 int disconnect()
jksoft 0:0a2f634d3324 53 {
jksoft 0:0a2f634d3324 54 return client.disconnect();
jksoft 0:0a2f634d3324 55 }
jksoft 0:0a2f634d3324 56 int yield(unsigned long timeout_ms = 1000L)
jksoft 0:0a2f634d3324 57 {
jksoft 0:0a2f634d3324 58 return client.yield(timeout_ms);
jksoft 0:0a2f634d3324 59 }
jksoft 0:0a2f634d3324 60 bool isConnected()
jksoft 0:0a2f634d3324 61 {
jksoft 0:0a2f634d3324 62 return client.isConnected();
jksoft 0:0a2f634d3324 63 }
jksoft 0:0a2f634d3324 64 private:
jksoft 0:0a2f634d3324 65 MQTT::Client<MQTTInterface, Countdown> client;
jksoft 0:0a2f634d3324 66 MQTTInterface *_ipstack;
jksoft 0:0a2f634d3324 67 };
jksoft 0:0a2f634d3324 68
jksoft 0:0a2f634d3324 69 #endif