/** * @file BlynkSimpleWioTerminal.h * @author Anson He (Seeed Studio) * @license This project is released under the MIT License (MIT) * @copyright Copyright (c) 2020 Anson He * @date Nov 2020 * @brief * */ #ifndef BlynkSimpleWioTerminal_h #define BlynkSimpleWioTerminal_h #ifndef SEEED_WIO_TERMINAL #error This code is intended to run on the Wio Terminal platform! Please check your Tools->Board setting. #endif #define BLYNK_SEND_ATOMIC #include #include #include #include class BlynkWifi : public BlynkProtocol { typedef BlynkProtocol Base; public: BlynkWifi(BlynkArduinoClient& transp) : Base(transp) {} void connectWiFi(const char* ssid, const char* pass) { BLYNK_LOG2(BLYNK_F("Connecting to "), ssid); WiFi.mode(WIFI_STA); if (pass && strlen(pass)) { WiFi.begin(ssid, pass); } else { WiFi.begin(ssid); } while (WiFi.status() != WL_CONNECTED) { BlynkDelay(500); } BLYNK_LOG1(BLYNK_F("Connected to WiFi")); IPAddress myip = WiFi.localIP(); BLYNK_LOG_IP("IP: ", myip); } void config(const char* auth, const char* domain = BLYNK_DEFAULT_DOMAIN, uint16_t port = BLYNK_DEFAULT_PORT) { Base::begin(auth); this->conn.begin(domain, port); } void config(const char* auth, IPAddress ip, uint16_t port = BLYNK_DEFAULT_PORT) { Base::begin(auth); this->conn.begin(ip, port); } void begin(const char* auth, const char* ssid, const char* pass, const char* domain = BLYNK_DEFAULT_DOMAIN, uint16_t port = BLYNK_DEFAULT_PORT) { connectWiFi(ssid, pass); config(auth, domain, port); while(this->connect() != true) {} } void begin(const char* auth, const char* ssid, const char* pass, IPAddress ip, uint16_t port = BLYNK_DEFAULT_PORT) { connectWiFi(ssid, pass); config(auth, ip, port); while(this->connect() != true) {} } }; #if !defined(NO_GLOBAL_INSTANCES) && !defined(NO_GLOBAL_BLYNK) static WiFiClient _blynkWifiClient; static BlynkArduinoClient _blynkTransport(_blynkWifiClient); BlynkWifi Blynk(_blynkTransport); #else extern BlynkWifi Blynk; #endif #include #endif