ESP8266 SDK 2.0 学习记录3

二次信任 提交于 2020-02-08 03:09:29

WIFI-Station&AP连接

1.功能分析

1.1配置Wifi为Station, 连接到本地wifi网络

本地wifi网络, 需要知道SSID和password

配置wifi为station->动态内存分配配置参数结构体->赋值SSID&PASSWORD到参数中->设置参数到寄存器中->释放内容->连接wifi

1.2配置wifi为AP模式,PC机连接到wifi的AP

需要设置SSID,密码,加密模式(我们这里设置WAP2_PSK)

配置为AP->动态内容分配->获取当前参数->赋值ssid和password到参数中->设置加密模式->配置SSID长度为0(自动判断)->配置最大站点连接数4->设置参数到寄存器

2.功能实现

2.1Station

	//设置为STATION模式
	wifi_set_opmode(STATION_MODE);
	//申请动态内容空间
	struct station_config *config = (struct station_config *) \
		zalloc(sizeof(struct station_config));
	//给变量赋值
	sprintf(config->ssid, SSID);
	sprintf(config->password, PASSWORD);
	//设置寄存器
	wifi_station_set_config(config);
	//释放内容
	free(config);
	//连接wifi
	wifi_station_set_auto_connect(TRUE);

2.2AP

    //设置为AP模式
	wifi_set_opmode(SOFTAP_MODE);
	printf("设置softap模式!");
	//申请动态内容空间
	struct softap_config *config = (struct softap_config *) \
		zalloc(sizeof(struct softap_config));
	printf("申请动态内存空间");
	//获取config参数
	wifi_softap_get_config(config);
	printf("获取参数");
	//给变量赋值
	sprintf(config->ssid, SSID);
	sprintf(config->password, PASSWORD);
	printf("设置名称和密码");
	//设置加密方式
	config->authmode = AUTH_WPA_WPA2_PSK;
	printf("设置加密方式");
	//设置ssid长度
	config->ssid_len = 0;
	printf("设置ssid长度:0");
	//设置最大连接数
	config->max_connection = 4;
	printf("设置最大连接数4");
	//设置寄存器
	wifi_softap_set_config(config);
	printf("写入寄存器");
	//释放内容
	free(config);
	printf("释放内存");

用手机搜索wifi可以看到有刚才新建的ssid

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!