/** * @file BlynkSimpleEsp32.h * @author Volodymyr Shymanskyy * @license This project is released under the MIT License (MIT) * @copyright Copyright (c) 2015 Volodymyr Shymanskyy * @date Oct 2016 * @brief * */ #ifndef BlynkSimpleEsp32_h #define BlynkSimpleEsp32_h #ifndef ESP32 #error This code is intended to run on the ESP32 platform! Please check your Tools->Board setting. #endif #define BLYNK_SEND_ATOMIC #include #include #include #include typedef BlynkArduinoClientGen BlynkEsp32Client; class BlynkWifi : public BlynkProtocol { typedef BlynkProtocol Base; public: BlynkWifi(BlynkEsp32Client& 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(); (void)myip; // Eliminate warnings about unused myip 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 BlynkEsp32Client _blynkTransport(_blynkWifiClient); BlynkWifi Blynk(_blynkTransport); #else extern BlynkWifi Blynk; #endif #include #endif