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); }
void ICACHE_FLASH_ATTR dhserial_commands_config(const char *args) { uart_send_str("Wi-Fi SSID: "); uart_send_line(dhsettings_get_wifi_ssid()); uart_send_str("DeviceHive Server: "); uart_send_line(dhsettings_get_devicehive_server()); uart_send_str("DeviceHive DeviceId: "); uart_send_line(dhsettings_get_devicehive_deviceid()); }
void ICACHE_FLASH_ATTR dhterminal_configure_start() { dhuart_send_line("Welcome to the DeviceHive setup utility. Use Ctrl+C to interrupt."); dhuart_send_line("Enter Wi-Fi network SSID."); dhterminal_set_mode(SM_INPUT_MODE, get_ssid_cb, 0, 0, DHSETTINGS_SSID_MAX_LENGTH); dhterminal_set_input(dhsettings_get_wifi_ssid()); }