void WifiConnection::begin(void){

// Only ESP8266 has softAP
#if defined(ESP8266)

	WiFi.setAutoReconnect(true);

	uint8_t status = waitForConnectResult();

	if(status == WL_CONNECTED){ // need wait..
		Logger.debug("WiFi", "Conneted");
	}else {
		Logger.debug("WiFi", "FAIL");
	}

	WiFiMode mode = WiFi.getMode();
	if(mode == WIFI_AP || mode == WIFI_AP_STA){
		WiFi.softAP(Config.moduleName);
		Logger.debug("SoftAP", "OK");
	}

#endif

	server.begin();

	Udp.begin(DISCOVERY_PORT);

	Logger.debug("TCPServer", "OK");

    if(Config.debugMode) WiFi.printDiag(Serial);

    // Print the IP address
	Logger.debug("IP STA: ");
    if(Config.debugMode) Serial.println(WiFi.localIP());

    Logger.debug("IP softAP: ");
    if(Config.debugMode) Serial.println(WiFi.softAPIP());

    isStartup = false;

    if(status == WL_CONNECTED){
		#if defined(ESP8266)
    	enableOTA(); // Configure OTA
    	#endif
    }

}
示例#2
0
int ThremWifiPlugin::connectWifi(const char* ssid, const char* pass) {
#ifdef LOG
	LOG << "wifi connecting... " << endl;
#endif
	if (ssid) {
		WiFi.begin(ssid, pass);
	}
	else {
#ifdef LOG
		LOG << "Using last saved values." << endl;
#endif
		WiFi.begin();
	}

	int connRes = waitForConnectResult();
#ifdef LOG
	LOG << "Connection result: ";
	LOG << connRes << endl;
#endif
	//todo: wps from wifimanager
	return connRes;
}