void ICACHE_FLASH_ATTR dhconnector_init(dhconnector_command_json_cb cb) { dhrequest_load_settings(); mCommandCallback = cb; mConnectionState = CS_DISCONNECT; dhrequest_create_info(&mInfoRequest); dhrequest_create_register(&mRegisterRequest); mPollRequest.len = mPollRequest.data[0] = 0; wifi_set_opmode(STATION_MODE); wifi_station_set_auto_connect(1); wifi_station_set_reconnect_policy(true); struct station_config stationConfig; wifi_station_get_config(&stationConfig); wifi_set_phy_mode(PHY_MODE_11N); os_memset(stationConfig.ssid, 0, sizeof(stationConfig.ssid)); os_memset(stationConfig.password, 0, sizeof(stationConfig.password)); snprintf(stationConfig.ssid, sizeof(stationConfig.ssid), "%s", dhsettings_get_wifi_ssid()); snprintf(stationConfig.password, sizeof(stationConfig.password), "%s", dhsettings_get_wifi_password()); wifi_station_set_config(&stationConfig); static esp_tcp tcp; os_memset(&tcp, 0, sizeof(tcp)); os_memset(&mDHConnector, 0, sizeof(mDHConnector)); mDHConnector.type = ESPCONN_TCP; mDHConnector.state = ESPCONN_NONE; mDHConnector.proto.tcp = &tcp; mDHConnector.proto.tcp->local_port = espconn_port(); wifi_set_event_handler_cb(wifi_state_cb); }
static void ICACHE_FLASH_ATTR client_connection_setup(void) { wifi_set_opmode(STATIONAP_MODE); wifi_station_set_reconnect_policy(true); wifi_station_set_config(&s_station_config); wifi_station_dhcpc_start(); }
void ICACHE_FLASH_ATTR user_init(void) { stdout_init(); gpio_init(); wifi_station_disconnect(); wifi_station_set_auto_connect(false); wifi_station_set_reconnect_policy(false); system_init_done_cb(&initDone_cb); }
void user_init(void) { gpio_init(); stdout_init(); easygpio_pinMode(LCD_Light, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(LCD_SCE, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(LCD_clk, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(LCD_Data, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(LCD_D_C, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(LCD_RST, EASYGPIO_NOPULL, EASYGPIO_OUTPUT); easygpio_pinMode(SWITCH, EASYGPIO_PULLUP, EASYGPIO_INPUT); easygpio_outputDisable(SWITCH); lcdReset(); lightOn(); wifi_station_set_auto_connect(false); wifi_station_set_reconnect_policy(true); system_init_done_cb(&initDone_cb); }
void ICACHE_FLASH_ATTR init_wifi(void) { char ssid[32] = SSID; char password[64] = SSID_PASSWORD; struct station_config config; //wifi_station_set_hostname("ds18b20"); wifi_set_opmode(STATION_MODE); wifi_station_set_reconnect_policy(false); config.bssid_set = 0; os_memcpy(&config.ssid, ssid, sizeof ssid); os_memcpy(&config.password, password, sizeof password); wifi_station_set_config(&config); wifi_set_event_handler_cb(wifi_callback); IP4_ADDR(&dnsserver, 8,8,8,8); espconn_dns_setserver(0, &dnsserver); os_printf("%s : init_wifi OK.\n", __FUNCTION__); }
void WIFI_Connect(uint8_t* ssid, uint8_t* pass, WifiCallback cb) { struct station_config stationConf; INFO("WIFI_INIT\r\n"); wifi_set_opmode(STATION_MODE); wifi_station_set_auto_connect(FALSE); wifiCb = cb; os_memset(&stationConf, 0, sizeof(struct station_config)); os_sprintf(stationConf.ssid, "%s", ssid); os_sprintf(stationConf.password, "%s", pass); wifi_station_set_config(&stationConf); os_timer_disarm(&WiFiLinker); os_timer_setfn(&WiFiLinker, (os_timer_func_t *)wifi_check_ip, NULL); os_timer_arm(&WiFiLinker, 1000, 0); wifi_station_set_auto_connect(TRUE); wifi_station_set_reconnect_policy(TRUE); wifi_station_connect(); }
/** * Set whether reconnect or not when the ESP8266 station is disconnected from AP. * @param autoReconnect * @return */ bool ESP8266WiFiSTAClass::setAutoReconnect(bool autoReconnect) { return wifi_station_set_reconnect_policy(autoReconnect); }
/****************************************************************************** * FunctionName : user_init * Description : entry of user application, init user function here * Parameters : none * Returns : none *******************************************************************************/ void user_init(void) { #ifdef DOUBLE_CLK_FREQ system_update_cpu_freq(160); #endif #ifdef DEV //system_uart_swap(); #endif uart_init_new(BAUD, uart_rx); DBG("WILOC-MASTER"); printf("SDK version:%s\n", system_get_sdk_version()); unsigned char mac[6]; wifi_get_macaddr(STATION_IF, mac); printf("MAC-STA:"); printmac(mac, 0); printf("\n"); wifi_get_macaddr(SOFTAP_IF, mac); printf("MAC- AP:"); printmac(mac, 0); printf("\n"); DBG(" ---- set opmode"); if (!wifi_set_opmode(STATIONAP_MODE)) { DBG(" ---- > failed to set opmode"); } DBG(" ---- done"); // wifi_softap_set_config(&softapConf); os_delay_us(300); char *ssid = SSID; char *password = PASSWORD; struct station_config stationConf; stationConf.bssid_set = 0; //need not check MAC address of AP memcpy(&stationConf.ssid, ssid, strlen(ssid) + 1); memcpy(&stationConf.password, password, strlen(password) + 1); wifi_station_set_config(&stationConf); wifi_station_set_reconnect_policy(true); wifi_station_connect(); DBG(" --- trying to connect to AP"); tx_queue = xQueueCreate(1, sizeof(int)); ringbuf_mutex = xSemaphoreCreateMutex(); ringbuf_init(&ringbuf_m, tx_buffer_m, sizeof(tx_buffer_m)); ringbuf_init(&ringbuf_t, tx_buffer_t, sizeof(tx_buffer_t)); synchronize_dev_id(); // wait until wifi is connected user_wifi_init(connect_to_server); }
static void _esp_wifi_setup(void) { esp_wifi_netdev_t* dev = &_esp_wifi_dev; ESP_WIFI_DEBUG("%p", dev); if (dev->netdev.driver) { ESP_WIFI_DEBUG("early returning previously initialized device"); return; } /* initialize netdev data structure */ dev->rx_len = 0; dev->state = ESP_WIFI_DISCONNECTED; dev->event = EVENT_MAX; /* set the netdev driver */ dev->netdev.driver = &_esp_wifi_driver; #ifndef MODULE_ESP_NOW /* set the WiFi interface mode */ if (!wifi_set_opmode_current(ESP_WIFI_MODE)) { ESP_WIFI_LOG_ERROR("could not set WiFi working mode"); return; } /* set the WiFi SoftAP configuration */ if (!wifi_softap_set_config_current((struct softap_config *)&softap_cfg)) { ESP_WIFI_LOG_ERROR("could not set WiFi configuration"); return; } #endif /* set the WiFi station configuration */ if (!wifi_station_set_config_current((struct station_config *)&station_cfg)) { ESP_WIFI_LOG_ERROR("could not set WiFi configuration"); return; } /* get station mac address and store it in device address */ if (!wifi_get_macaddr(ESP_WIFI_STATION_IF, dev->mac)) { ESP_WIFI_LOG_ERROR("could not get MAC address of WiFi interface"); return; } ESP_WIFI_DEBUG("own MAC addr is " MAC_STR, MAC_STR_ARG(dev->mac)); /* set auto reconnect policy */ wifi_station_set_reconnect_policy(true); wifi_station_set_auto_connect(true); /* register callbacks */ wifi_set_event_handler_cb(_esp_wifi_handle_event_cb); /* reconnect timer initialization */ _esp_wifi_reconnect_timer.callback = &_esp_wifi_reconnect_timer_cb; _esp_wifi_reconnect_timer.arg = dev; /* set the the reconnect timer */ xtimer_set(&_esp_wifi_reconnect_timer, ESP_WIFI_RECONNECT_TIME); /* avoid the WiFi modem going into sleep mode */ wifi_set_sleep_type(NONE_SLEEP_T); /* connect */ wifi_station_connect(); _esp_wifi_dev.state = ESP_WIFI_CONNECTING; return; }