【mbed OS5対応バージョン】データの保存、更新、取得ができるWebサービス「milkcocoa」に接続し、データのプッシュ、送信、取得ができるライブラリです。 https://mlkcca.com/
Dependents: mbed-os-example-wifi-milkcocoa MilkcocoaOsSample_Eth MilkcocoaOsSample_ESP8266 MilkcocoaOsSample_Eth_DigitalIn
MClient.h@13:61e0cc093180, 2018-03-26 (annotated)
- Committer:
- jksoft
- Date:
- Mon Mar 26 04:49:20 2018 +0000
- Revision:
- 13:61e0cc093180
- Parent:
- 0:0a2f634d3324
???????????
Who changed what in which revision?
User | Revision | Line number | New 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 |