Exemple #1
0
void ICACHE_FLASH_ATTR wifiInit(int wifiMode)
{
INFO("\r===== WiFi Init =====\r");

wifi_set_opmode(0); // Clear all modes
INFO("\r\nSetting WiFI\r\n");

if(wifiMode & SOFTAP_MODE)
	{
	INFO("\rSetting SOFTAP Mode\r\n");
	setup_wifi_ap_mode();
	INFO("Done\r\n");
	}

if(wifiMode & STATION_MODE)
	{
	INFO("\rSetting Station Mode \r\n");
	setup_wifi_st_mode();
	INFO("Done\r\n");
	}

if(wifi_get_phy_mode() != PHY_MODE_11N)
	wifi_set_phy_mode(PHY_MODE_11N);
if(wifi_station_get_auto_connect() == 0)
	wifi_station_set_auto_connect(1);

INFO("Wi-Fi mode: %s\r\n", WiFiMode[wifi_get_opmode()]);
if(wifiMode & SOFTAP_MODE)
	{
	struct softap_config apConfig;
	if(wifi_softap_get_config(&apConfig))
		{
		INFO("AP config: SSID: %s, PASSWORD: %s\r\n",
			apConfig.ssid,
			apConfig.password);
		}
	}
if(wifiMode & STATION_MODE)
	{
	struct station_config stationConfig;
	if(wifi_station_get_config(&stationConfig))
		{
		INFO("STA config: SSID: %s, PASSWORD: %s\r\n",
			stationConfig.ssid,
			stationConfig.password);
		}
	}
}
Exemple #2
0
bool ICACHE_FLASH_ATTR hap_init()
{
    settings_load();
    httpd_register(index_httpd_request);
    static ETSTimer upTimeTimer;
	os_timer_disarm(&upTimeTimer);
	os_timer_setfn(&upTimeTimer, (os_timer_func_t *)uptimeIncrement, NULL);
	os_timer_arm(&upTimeTimer, 1000, 1);

	wifi_set_event_handler_cb(onWifiEvent);

    bool result;

    if (!settings_valid())
    {
        DEBUG_PRINT("[HAP]Settings not valid, using defaults, starting AP\n");

        settings.password[0] = 0;
        settings.ssid[0] = 0;

        strcpy(settings.serverName, "hap_server");
        strcpy(settings.mqttUser, "user");
        strcpy(settings.mqttPassword, "password");
        strcpy(settings.mqttTopic, "topic");
        settings.udpPort = 5100;

        char aux[20];
        os_sprintf(aux, "hap_%d", system_get_chip_id());
        result = setup_wifi_ap_mode(aux);
    }
    else
    {
        DEBUG_PRINT("[HAP]Settings valid, connecting to AP %s\n", settings.ssid);

        udp_init();
        result = setup_wifi_st_mode(settings.ssid, settings.password);
    }

    if (result) httpd_init(80);

    return result;
}
Exemple #3
0
void ICACHE_FLASH_ATTR wifiInit()
{
	//if(wifi_get_opmode() != USE_WIFI_MODE)
	{
		#ifdef PLATFORM_DEBUG
		os_printf("ESP8266 not in %s mode, restarting in %s mode...\r\n", WiFiMode[USE_WIFI_MODE], WiFiMode[USE_WIFI_MODE]);
		#endif
		if(USE_WIFI_MODE & SOFTAP_MODE)
			setup_wifi_ap_mode();
		if(USE_WIFI_MODE & STATION_MODE)
			setup_wifi_st_mode();
	}
	if(wifi_get_phy_mode() != PHY_MODE_11N)
		wifi_set_phy_mode(PHY_MODE_11N);
	if(wifi_station_get_auto_connect() == 0)
		wifi_station_set_auto_connect(1);

	#ifdef PLATFORM_DEBUG
	os_printf("Wi-Fi mode: %s\r\n", WiFiMode[wifi_get_opmode()]);
	if(USE_WIFI_MODE & SOFTAP_MODE)
	{
		struct softap_config apConfig;
		if(wifi_softap_get_config(&apConfig)) {
			os_printf("AP config: SSID: %s, PASSWORD: %s\r\n",
				apConfig.ssid,
				apConfig.password);
		}
	}
	if(USE_WIFI_MODE & STATION_MODE)
	{
		struct station_config stationConfig;
		if(wifi_station_get_config(&stationConfig)) {
			os_printf("STA config: SSID: %s, PASSWORD: %s\r\n",
				stationConfig.ssid,
				stationConfig.password);
		}
	}
	#endif
}
Exemple #4
0
void ICACHE_FLASH_ATTR wifi_check_ip(void *arg)
{
	char IP[15];
	char IP_temp[3];
	uint8_t wifi_opmode;

	system_soft_wdt_feed();
	os_timer_disarm(&WiFiLinker);

	wifi_opmode = wifi_get_opmode();
	if(wifi_opmode==STATION_MODE){
		switch(wifi_station_get_connect_status())
		{
		case STATION_GOT_IP:

			wifi_get_ip_info(STATION_IF, &ipConfig);
			if(ipConfig.ip.addr != 0 && connState !=WIFI_CONNECTED) {
				connState = WIFI_CONNECTED;
				ets_uart_printf("%d.%d.%d.%d",p[0],p[1],p[2],p[3]);
				uart0_sendStr("\r");
				itoa(p[0],IP_temp);
				IP[0]=IP_temp[0];
				IP[1]=IP_temp[1];
				IP[2]=IP_temp[2];
				IP[3]='.';
				itoa(p[1],IP_temp);
				IP[4]=IP_temp[0];
				IP[5]=IP_temp[1];
				IP[6]=IP_temp[2];
				IP[7]='.';
				itoa(p[2],IP_temp);
				IP[8]=IP_temp[0];
				IP[9]='.';
				itoa(p[3],IP_temp);
				IP[10]=IP_temp[0];
				IP[11]=IP_temp[1];
				IP[12]=IP_temp[2];
				IP[13]=0;
				IP[14]=0;
				stringDraw(3, 1, "IP:");
				stringDraw(3, 18, IP);
				serverInit(23);
			}
			break;
		case STATION_WRONG_PASSWORD:
			connState = WIFI_CONNECTING_ERROR;
			ets_uart_printf("WiFi connecting error, wrong password\n");
			break;
		case STATION_NO_AP_FOUND:
			connState = WIFI_CONNECTING_ERROR;
			ets_uart_printf("WiFi connecting error, ap not found\n");
			setup_wifi_ap_mode();
			break;
		case STATION_CONNECT_FAIL:
			connState = WIFI_CONNECTING_ERROR;
			ets_uart_printf("WiFi connecting fail\n");

			break;
		default:
			connState = WIFI_CONNECTING;
			ets_uart_printf("WiFi connecting...\n");
			stringDraw(3, 1, "WiFi connecting");
		}
		if(wifi_station_get_connect_status()!=STATION_GOT_IP){
			os_timer_setfn(&WiFiLinker, (os_timer_func_t *)wifi_check_ip, NULL);
			os_timer_arm(&WiFiLinker, 2000, 0);
		}

	}else{
		ets_uart_printf("Conectar na rede SSID: %s\n",WIFI_CLIENTSSID_AP);
	}

}