![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
nRF24L01, encoder, pca9685, pid
Dependencies: mbed QEI-1 LibPN532 nRF24L01P xiugai
esp8266.h@5:fdacb4ef6709, 2019-10-30 (annotated)
- Committer:
- brainliang
- Date:
- Wed Oct 30 10:59:58 2019 +0000
- Revision:
- 5:fdacb4ef6709
encoder PID PCA9685 esp8266
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
brainliang | 5:fdacb4ef6709 | 1 | /** |
brainliang | 5:fdacb4ef6709 | 2 | * 调用本驱动库需要使能 |
brainliang | 5:fdacb4ef6709 | 3 | * 在mbed_config.h中define一下ENABLE_ESP8266即可 |
brainliang | 5:fdacb4ef6709 | 4 | **/ |
brainliang | 5:fdacb4ef6709 | 5 | #ifndef __ESP8266_H |
brainliang | 5:fdacb4ef6709 | 6 | #define __ESP8266_H |
brainliang | 5:fdacb4ef6709 | 7 | |
brainliang | 5:fdacb4ef6709 | 8 | #ifdef ENABLE_ESP8266 |
brainliang | 5:fdacb4ef6709 | 9 | |
brainliang | 5:fdacb4ef6709 | 10 | #include "mbed.h" |
brainliang | 5:fdacb4ef6709 | 11 | #include <string> |
brainliang | 5:fdacb4ef6709 | 12 | |
brainliang | 5:fdacb4ef6709 | 13 | class Esp8266 { //声明一个类 |
brainliang | 5:fdacb4ef6709 | 14 | volatile bool network_start; |
brainliang | 5:fdacb4ef6709 | 15 | volatile bool mqtt_start; |
brainliang | 5:fdacb4ef6709 | 16 | volatile bool control_cmd; |
brainliang | 5:fdacb4ef6709 | 17 | char esp_tokenBuf[32], esp_paramBuf[32]; // recv from esp8266 |
brainliang | 5:fdacb4ef6709 | 18 | char control_buf[32]; |
brainliang | 5:fdacb4ef6709 | 19 | bool esp_buf_ready; |
brainliang | 5:fdacb4ef6709 | 20 | Serial ser2esp8266; |
brainliang | 5:fdacb4ef6709 | 21 | |
brainliang | 5:fdacb4ef6709 | 22 | protected: |
brainliang | 5:fdacb4ef6709 | 23 | void esp8266_rxCallback(); |
brainliang | 5:fdacb4ef6709 | 24 | void gotResponse(char *token, char *param); |
brainliang | 5:fdacb4ef6709 | 25 | void buildCapability(char *out, const char* infoList[][2]); |
brainliang | 5:fdacb4ef6709 | 26 | public: |
brainliang | 5:fdacb4ef6709 | 27 | Esp8266(PinName TX, PinName RX, const char *wifi_ssid, const char *wifi_passwd); |
brainliang | 5:fdacb4ef6709 | 28 | |
brainliang | 5:fdacb4ef6709 | 29 | // 通用 |
brainliang | 5:fdacb4ef6709 | 30 | bool reset(); |
brainliang | 5:fdacb4ef6709 | 31 | |
brainliang | 5:fdacb4ef6709 | 32 | // 连接模式 |
brainliang | 5:fdacb4ef6709 | 33 | bool connect_wifi(const char *wifi_ssid, const char *wifi_passwd); |
brainliang | 5:fdacb4ef6709 | 34 | bool weblogin(); |
brainliang | 5:fdacb4ef6709 | 35 | bool connect_mqtt_broker(const char *ip, const char *node_name, const char* sensors[][2], const char* actuator[][2]); |
brainliang | 5:fdacb4ef6709 | 36 | bool is_connected(); |
brainliang | 5:fdacb4ef6709 | 37 | |
brainliang | 5:fdacb4ef6709 | 38 | bool publish_value(const char *topic, std::string data); |
brainliang | 5:fdacb4ef6709 | 39 | bool publish_value(const char *topic, int data); |
brainliang | 5:fdacb4ef6709 | 40 | bool publish_value(const char *topic, float data); |
brainliang | 5:fdacb4ef6709 | 41 | bool subscribe_control(const char *topic, const char *data = NULL); |
brainliang | 5:fdacb4ef6709 | 42 | bool is_control_available(void) { return control_cmd; } |
brainliang | 5:fdacb4ef6709 | 43 | bool get_control_cmd(char* actuator, char* value); |
brainliang | 5:fdacb4ef6709 | 44 | // 热点模式 |
brainliang | 5:fdacb4ef6709 | 45 | }; |
brainliang | 5:fdacb4ef6709 | 46 | |
brainliang | 5:fdacb4ef6709 | 47 | #else |
brainliang | 5:fdacb4ef6709 | 48 | |
brainliang | 5:fdacb4ef6709 | 49 | #error esp8266.h is included but "ENABLE_ESP8266" is not defined, check mbed_config.h for detail |
brainliang | 5:fdacb4ef6709 | 50 | |
brainliang | 5:fdacb4ef6709 | 51 | #endif // ENABLE_ESP8266 |
brainliang | 5:fdacb4ef6709 | 52 | |
brainliang | 5:fdacb4ef6709 | 53 | #endif // !__ESP8266_H |