car

Dependencies:   mbed

Fork of warehouse by Keegan Hu

Revision:
3:06080fa094a0
Parent:
2:b10925c474fc
Child:
8:d5e340a59c71
--- a/esp8266.h	Tue Nov 07 04:09:57 2017 +0000
+++ b/esp8266.h	Mon Nov 13 20:25:48 2017 +0800
@@ -4,14 +4,16 @@
 class Esp8266 {                                                                 //声明一个类
     volatile bool network_start;
     volatile bool mqtt_start;
-//    char esp_token[1024], esp_param[2048];
+    volatile bool control_cmd;
     char esp_tokenBuf[32], esp_paramBuf[32];   // recv from esp8266
+    char control_buf[32];
     bool esp_buf_ready;
     Serial ser2esp8266;
     
 protected:
     void esp8266_rxCallback();
     void gotResponse(char *token, char *param);
+    void buildCapability(char *out, const char* infoList[][2]);
 public:
     Esp8266(PinName TX, PinName RX, const char *wifi_ssid, const char *wifi_passwd);
     
@@ -21,10 +23,12 @@
     // 连接模式
     bool connect_wifi(const char *wifi_ssid, const char *wifi_passwd);
     bool weblogin();
-    bool connect_mqtt_broker(char *ip);
+    bool connect_mqtt_broker(char *ip, const char* sensors[][2], const char* actuator[][2]);
     bool is_connected();
     
-    bool publish(char *topic, char *data, int size = -1);
-    bool subscribe_poll(char *topic, char *data, int size = -1);
+    bool publish_value(const char *topic, const char *data);
+    bool subscribe_control(const char *topic, const char *data = NULL);
+    bool is_control_available(void) { return control_cmd; }
+    bool get_control_cmd(char* actuator, char* value);
     // 热点模式
 };
\ No newline at end of file