Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-os-example-mbed5-blinky by
Milkcocoa.h
00001 #ifndef _MILKCOCOA_H_ 00002 #define _MILKCOCOA_H_ 00003 00004 #include "mbed.h" 00005 #include "MQTTmbed.h" 00006 #include "MQTTClient.h" 00007 #include "MClient.h" 00008 #include "rtos.h" 00009 00010 #define RECV_TIMEOUT 500 00011 #define MILKCOCOA_SUBSCRIBERS 8 00012 #define START_THREAD 1 00013 00014 class DataElement { 00015 public: 00016 DataElement(); 00017 DataElement(char *json_string); 00018 void setValue(const char *key, const char *v); 00019 void setValue(const char *key, int v); 00020 void setValue(const char *key, double v); 00021 char *toCharArray(); 00022 char *getString(const char *key); 00023 int getInt(const char *key); 00024 float getFloat(const char *key); 00025 00026 private: 00027 char json_msg[256]; 00028 }; 00029 00030 typedef void (*GeneralFunction) (MQTT::MessageData& elem); 00031 00032 class MilkcocoaSubscriber { 00033 public: 00034 GeneralFunction cb; 00035 char topic[100]; 00036 MilkcocoaSubscriber(GeneralFunction _cb); 00037 }; 00038 00039 class Milkcocoa { 00040 public: 00041 00042 // Milkcocoa(const char *host, uint16_t port, const char *_app_id, const char *client_id); 00043 Milkcocoa(MClient *_client, const char *host, uint16_t port, const char *_app_id, const char *client_id); 00044 Milkcocoa(MClient *_client, const char *host, uint16_t port, const char *_app_id, const char *client_id, char *_session); 00045 static Milkcocoa* createWithApiKey(MClient *_client, const char *host, uint16_t port, const char *_app_id, const char *client_id, char *key, char *secret); 00046 void connect(); 00047 void loop(); 00048 bool push(const char *path, DataElement dataelement); 00049 bool send(const char *path, DataElement dataelement); 00050 bool on(const char *path, const char *event, GeneralFunction cb); 00051 void setLoopCycle(int cycle); 00052 void start(); 00053 00054 private: 00055 char servername[64]; 00056 int16_t portnum; 00057 char _clientid[64]; 00058 char username[32]; 00059 char password[32]; 00060 const char *app_id; 00061 int16_t loop_cycle; 00062 00063 MClient *client; 00064 GeneralFunction _cb; 00065 MilkcocoaSubscriber *milkcocoaSubscribers[MILKCOCOA_SUBSCRIBERS]; 00066 Thread cycleThread; 00067 void cycle_Thread(void); 00068 static void threadStarter(void const *p); 00069 }; 00070 00071 00072 #endif
Generated on Wed Jul 13 2022 21:16:17 by
