mbed OS5に対応したMilkcocoaライブラリのテストバージョンです。
Fork of mbed-os-example-mbed5-blinky by
Diff: Milkcocoa/Milkcocoa.h
- Revision:
- 24:6ba1245bf049
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Milkcocoa/Milkcocoa.h Tue Jan 24 13:41:36 2017 +0000
@@ -0,0 +1,72 @@
+#ifndef _MILKCOCOA_H_
+#define _MILKCOCOA_H_
+
+#include "mbed.h"
+#include "MQTTmbed.h"
+#include "MQTTClient.h"
+#include "MClient.h"
+#include "rtos.h"
+
+#define RECV_TIMEOUT 500
+#define MILKCOCOA_SUBSCRIBERS 8
+#define START_THREAD 1
+
+class DataElement {
+ public:
+ DataElement();
+ DataElement(char *json_string);
+ void setValue(const char *key, const char *v);
+ void setValue(const char *key, int v);
+ void setValue(const char *key, double v);
+ char *toCharArray();
+ char *getString(const char *key);
+ int getInt(const char *key);
+ float getFloat(const char *key);
+
+ private:
+ char json_msg[256];
+};
+
+typedef void (*GeneralFunction) (MQTT::MessageData& elem);
+
+class MilkcocoaSubscriber {
+ public:
+ GeneralFunction cb;
+ char topic[100];
+ MilkcocoaSubscriber(GeneralFunction _cb);
+};
+
+class Milkcocoa {
+ public:
+
+// Milkcocoa(const char *host, uint16_t port, const char *_app_id, const char *client_id);
+ Milkcocoa(MClient *_client, const char *host, uint16_t port, const char *_app_id, const char *client_id);
+ Milkcocoa(MClient *_client, const char *host, uint16_t port, const char *_app_id, const char *client_id, char *_session);
+ static Milkcocoa* createWithApiKey(MClient *_client, const char *host, uint16_t port, const char *_app_id, const char *client_id, char *key, char *secret);
+ void connect();
+ void loop();
+ bool push(const char *path, DataElement dataelement);
+ bool send(const char *path, DataElement dataelement);
+ bool on(const char *path, const char *event, GeneralFunction cb);
+ void setLoopCycle(int cycle);
+ void start();
+
+private:
+ char servername[64];
+ int16_t portnum;
+ char _clientid[64];
+ char username[32];
+ char password[32];
+ const char *app_id;
+ int16_t loop_cycle;
+
+ MClient *client;
+ GeneralFunction _cb;
+ MilkcocoaSubscriber *milkcocoaSubscribers[MILKCOCOA_SUBSCRIBERS];
+ Thread cycleThread;
+ void cycle_Thread(void);
+ static void threadStarter(void const *p);
+};
+
+
+#endif
