欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ESP8266链接WiFi

程序员文章站 2024-03-23 09:44:28
...

写了一个非常简单的链接WiFi的例子

uint8 *ssid = "qwerty";//wifi名字
uint8 *passwd = "123456789";//wifi密码
os_timer_t wifi_link_t;

void ICACHE_FLASH_ATTR
wifi_status(void *arg)
{
	static count = 0;

	os_timer_disarm(&wifi_link_t);

	if(wifi_station_get_connect_status() == STATION_GOT_IP)//WiFi链接成功
	{//链接成功
		count = 0;
		os_printf("\n链接成功\n");
		return;
	}else if(count >= 7)//WiFi链接失败
	{//链接失败
		wifi_station_disconnect();//关闭连接
		count = 0;
		os_printf("\n链接失败\n");
		return;
	}

	os_timer_arm(&wifi_link_t,2000,0);
}

void ICACHE_FLASH_ATTR
sys_init_cb(void)
{
	struct station_config stationConf;

	os_memcpy(&stationConf.ssid, ssid, strlen(ssid));
	os_memcpy(&stationConf.password, passwd,strlen(passwd));

	wifi_station_disconnect();//断开链接的路由
	wifi_station_set_config(&stationConf);//设置参数
	wifi_station_connect();//连接ap

	//初始化WiFi status定时器
	os_timer_disarm(&wifi_link_t);
	os_timer_setfn(&wifi_link_t,wifi_status,NULL);
}

void ICACHE_FLASH_ATTR
user_init(void)
{
	uart_init(115200,115200);
	wifi_set_opmode_current(STATIONAP_MODE);//设置WiFi工作模式
	system_init_done_cb(sys_init_cb);//创建初始化完成后回调函数
}

源码下载
相关标签: ESP8266 wifi