QAQ ==!
Dependencies: mbed QEI-1 nRF24L01P xiugai
esp8266.h@15:934289377f7a, 2019-12-14 (annotated)
- Committer:
- AlexQian
- Date:
- Sat Dec 14 05:45:16 2019 +0000
- Revision:
- 15:934289377f7a
- Parent:
- 11:ddfcd88f3a30
Balance_Car;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
zhangyx | 10:cda7ae2fc9de | 1 | #pragma once |
zhangyx | 11:ddfcd88f3a30 | 2 | #include "converters.h" |
brainliang | 7:6f8157c58241 | 3 | #include "mbed.h" |
brainliang | 7:6f8157c58241 | 4 | |
brainliang | 7:6f8157c58241 | 5 | class Esp8266 { //声明一个类 |
brainliang | 7:6f8157c58241 | 6 | volatile bool network_start; |
brainliang | 7:6f8157c58241 | 7 | volatile bool mqtt_start; |
brainliang | 7:6f8157c58241 | 8 | volatile bool control_cmd; |
brainliang | 7:6f8157c58241 | 9 | char esp_tokenBuf[32], esp_paramBuf[32]; // recv from esp8266 |
brainliang | 7:6f8157c58241 | 10 | char control_buf[32]; |
brainliang | 7:6f8157c58241 | 11 | bool esp_buf_ready; |
brainliang | 7:6f8157c58241 | 12 | Serial ser2esp8266; |
brainliang | 7:6f8157c58241 | 13 | |
brainliang | 7:6f8157c58241 | 14 | protected: |
brainliang | 7:6f8157c58241 | 15 | void esp8266_rxCallback(); |
brainliang | 7:6f8157c58241 | 16 | void gotResponse(char *token, char *param); |
brainliang | 7:6f8157c58241 | 17 | void buildCapability(char *out, const char* infoList[][2]); |
brainliang | 7:6f8157c58241 | 18 | public: |
brainliang | 7:6f8157c58241 | 19 | Esp8266(PinName TX, PinName RX, const char *wifi_ssid, const char *wifi_passwd); |
brainliang | 7:6f8157c58241 | 20 | |
brainliang | 7:6f8157c58241 | 21 | // 通用 |
brainliang | 7:6f8157c58241 | 22 | bool reset(); |
brainliang | 7:6f8157c58241 | 23 | |
brainliang | 7:6f8157c58241 | 24 | // 连接模式 |
brainliang | 7:6f8157c58241 | 25 | bool connect_wifi(const char *wifi_ssid, const char *wifi_passwd); |
brainliang | 7:6f8157c58241 | 26 | bool weblogin(); |
brainliang | 7:6f8157c58241 | 27 | bool connect_mqtt_broker(char *ip, const char *node_name, const char* sensors[][2], const char* actuator[][2]); |
brainliang | 7:6f8157c58241 | 28 | bool is_connected(); |
brainliang | 7:6f8157c58241 | 29 | |
zhangyx | 11:ddfcd88f3a30 | 30 | bool publish_value_s(const char *topic, const char *data); |
zhangyx | 11:ddfcd88f3a30 | 31 | template<typename T> |
zhangyx | 11:ddfcd88f3a30 | 32 | bool publish_value(const char *topic, T data) { |
zhangyx | 11:ddfcd88f3a30 | 33 | return publish_value_s(topic, std::to_string(data).c_str()); |
zhangyx | 11:ddfcd88f3a30 | 34 | } |
brainliang | 7:6f8157c58241 | 35 | bool subscribe_control(const char *topic, const char *data = NULL); |
brainliang | 7:6f8157c58241 | 36 | bool is_control_available(void) { return control_cmd; } |
brainliang | 7:6f8157c58241 | 37 | bool get_control_cmd(char* actuator, char* value); |
brainliang | 7:6f8157c58241 | 38 | // 热点模式 |
brainliang | 7:6f8157c58241 | 39 | }; |