This commit is contained in:
zogodo
2019-09-25 17:10:21 +08:00
parent 21a07a4d97
commit 3f2605cd78
8 changed files with 91 additions and 95 deletions

View File

@@ -38,7 +38,7 @@ void wifi_start_easylink()
user_led_set(1);
}
//easylink <EFBFBD><EFBFBD><EFBFBD>ɻص<EFBFBD>
//easylink 完成回调
void wifi_easylink_completed_handle(network_InitTypeDef_st *nwkpara, void * arg)
{
os_log("wifi_easylink_wps_completed_handle:");
@@ -51,7 +51,7 @@ void wifi_easylink_completed_handle(network_InitTypeDef_st *nwkpara, void * arg)
os_log("ssid:\"%s\",\"%s\"",nwkpara->wifi_ssid,nwkpara->wifi_key);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>wifi<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//保存wifi及密码
strcpy(sys_config->micoSystemConfig.ssid, nwkpara->wifi_ssid);
strcpy(sys_config->micoSystemConfig.user_key, nwkpara->wifi_key);
sys_config->micoSystemConfig.user_keyLength = strlen(nwkpara->wifi_key);
@@ -62,26 +62,26 @@ void wifi_easylink_completed_handle(network_InitTypeDef_st *nwkpara, void * arg)
micoWlanStopEasyLink();
}
//wifi<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD>ȡ<EFBFBD><EFBFBD>IP<EFBFBD><EFBFBD>ַ <20>ص<EFBFBD>
//wifi已连接获取到IP地址 回调
static void wifi_get_ip_callback(IPStatusTypedef *pnet, void * arg)
{
os_log("got IP:%s", pnet->ip);
wifi_status = WIFI_STATE_CONNECTED;
user_function_cmd_received(1,"{\"cmd\":\"device report\"}");
}
//wifi<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD>ı<EFBFBD><EFBFBD>ص<EFBFBD>
//wifi连接状态改变回调
static void wifi_status_callback(WiFiEvent status, void *arg)
{
if (status == NOTIFY_STATION_UP) //wifi<EFBFBD><EFBFBD><EFBFBD>ӳɹ<EFBFBD>
if (status == NOTIFY_STATION_UP) //wifi连接成功
{
//wifi_status = WIFI_STATE_CONNECTED;
} else if (status == NOTIFY_STATION_DOWN) //wifi<EFBFBD>Ͽ<EFBFBD>
} else if (status == NOTIFY_STATION_DOWN) //wifi断开
{
wifi_status = WIFI_STATE_NOCONNECT;
if (!mico_rtos_is_timer_running(&wifi_led_timer)) mico_rtos_start_timer(&wifi_led_timer);
}
}
//100ms<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>
//100ms定时器回调
static void wifi_led_timer_callback(void* arg)
{
static unsigned int num = 0;
@@ -124,7 +124,7 @@ static void wifi_led_timer_callback(void* arg)
void wifi_connect(char* wifi_ssid, char* wifi_key)
{
//wifi<EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ʼ<EFBFBD><EFBFBD>
//wifi配置初始化
network_InitTypeDef_st wNetConfig;
memset(&wNetConfig, 0, sizeof(network_InitTypeDef_st));
@@ -135,7 +135,7 @@ void wifi_connect(char* wifi_ssid, char* wifi_key)
wNetConfig.wifi_retry_interval = 6000;
micoWlanStart(&wNetConfig);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>wifi<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Flash
//保存wifi及密码到Flash
strcpy(sys_config->micoSystemConfig.ssid, wifi_ssid);
strcpy(sys_config->micoSystemConfig.user_key, wifi_key);
sys_config->micoSystemConfig.user_keyLength = strlen(wifi_key);
@@ -145,16 +145,16 @@ void wifi_connect(char* wifi_ssid, char* wifi_key)
void wifi_init(void)
{
//wifi״̬<EFBFBD><EFBFBD>led<EFBFBD><EFBFBD>˸<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
//wifi状态下led闪烁定时器初始化
mico_rtos_init_timer(&wifi_led_timer, 100, (void *) wifi_led_timer_callback, NULL);
//easylink <EFBFBD><EFBFBD><EFBFBD>ɻص<EFBFBD>
//easylink 完成回调
mico_system_notify_register(mico_notify_EASYLINK_WPS_COMPLETED, (void *) wifi_easylink_completed_handle, NULL);
//wifi<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD>ȡ<EFBFBD><EFBFBD>IP<EFBFBD><EFBFBD>ַ <20>ص<EFBFBD>
//wifi已连接获取到IP地址 回调
mico_system_notify_register(mico_notify_DHCP_COMPLETED, (void *) wifi_get_ip_callback, NULL);
//wifi<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD>ı<EFBFBD><EFBFBD>ص<EFBFBD>
//wifi连接状态改变回调
mico_system_notify_register(mico_notify_WIFI_STATUS_CHANGED, (void*) wifi_status_callback, NULL);
//sntp_init();
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>wifi<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//启动定时器开始进行wifi连接
if (!mico_rtos_is_timer_running(&wifi_led_timer)) mico_rtos_start_timer(&wifi_led_timer);
IPStatusTypedef para;