Приветствую здешних обитателей.
С МК я вроде как уже давно не начинающий, но вот с ESP начал разбираться совсем недавно, а потому имею вопросы, ради которых решил зарегистрироваться здесь, ибо в Интернетах ответов на них не нашел. Беглый поиск по форуму дал только решения на основе Ардуино, коим я не пользуюсь по религиозным и психологическим соображениям.
Собственно, проблема моя состоит в том, что мне не удается поднять точку доступа. В режиме STATION все уже более-менее получается, и даже получилось некое подобие веб-интерфейса сделать на основе espconn. А вот в режимах SOFTAP и STATIONAP тупик. Сеть появляется, в консоль в первом случае выводится следующее:
Однако попытка подключиться телефоном ни к чему не приводит. В консоль выводится сообщение "Max connection!", а телефон даже не пытается получить ip-адрес. Подозреваю, что я просто что-то не до конца сделал, но ни одного конкретного примера для Non-OS SDK я так и не смог найти. Собственно, прошу волшебного пенделя в правильном направлении)
С МК я вроде как уже давно не начинающий, но вот с ESP начал разбираться совсем недавно, а потому имею вопросы, ради которых решил зарегистрироваться здесь, ибо в Интернетах ответов на них не нашел. Беглый поиск по форуму дал только решения на основе Ардуино, коим я не пользуюсь по религиозным и психологическим соображениям.
Собственно, проблема моя состоит в том, что мне не удается поднять точку доступа. В режиме STATION все уже более-менее получается, и даже получилось некое подобие веб-интерфейса сделать на основе espconn. А вот в режимах SOFTAP и STATIONAP тупик. Сеть появляется, в консоль в первом случае выводится следующее:
Код:
mode : softAP(5e:cf:7f:17:53:d4)
add if1
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
bcn 100
Код:
void ICACHE_FLASH_ATTR wifi_callback(System_Event_t *evt)
{
switch (evt->event)
{
case EVENT_SOFTAPMODE_STACONNECTED:
break;
case EVENT_SOFTAPMODE_STADISCONNECTED:
break;
case EVENT_SOFTAPMODE_PROBEREQRECVED:
break;
case EVENT_STAMODE_CONNECTED:
os_printf("Connected to ssid %s, channel %d\n",
evt->event_info.connected.ssid,
evt->event_info.connected.channel);
break;
case EVENT_STAMODE_DISCONNECTED:
os_printf("Disconnected from ssid %s, reason %d\n",
evt->event_info.disconnected.ssid,
evt->event_info.disconnected.reason);
deep_sleep_set_option( 0 );
system_deep_sleep( 60 * 1000 * 1000 ); // 60 seconds
break;
case EVENT_STAMODE_GOT_IP:
os_printf("Got IP:" IPSTR ", mask:" IPSTR ", gw:" IPSTR,
IP2STR(&evt->event_info.got_ip.ip),
IP2STR(&evt->event_info.got_ip.mask),
IP2STR(&evt->event_info.got_ip.gw));
os_printf("\n");
webserver_init(80);
registerActionHandler((ActionHandler *)serverActionHandler);
break;
default:
break;
}
}
void ICACHE_FLASH_ATTR user_init(void)
{
system_timer_reinit();
static struct station_config config;
static struct softap_config ap_config;
uart_div_modify(0, UART_CLK_FREQ / 115200);
wifi_set_opmode_current(SOFTAP_MODE);
gpio_init();
ap_config.ssid_len = 10;
ap_config.channel = 5;
ap_config.authmode = AUTH_WPA2_PSK;
os_memcpy(&ap_config.ssid, "ESP softAP", 32);
os_memcpy(&ap_config.password, "password", 64);
wifi_softap_set_config(&ap_config);
char ssid[32] = "MyWiFi";
char pass[64] = "MyPassWd";
config.bssid_set = 0;
os_memcpy(&config.ssid, ssid, 32);
os_memcpy(&config.password, pass, 64);
wifi_station_set_config(&config);
wifi_set_event_handler_cb(wifi_callback);
}