ESP8266学习笔记——ESP8266如何设置AP模式
首先,我们要了解一下什么叫AP模式,其术语我就不介绍了,在我看来,就是我们让ESP8266创建一个WIFI,让它成为一个WiFi,我们用手机或者电脑去连接它,而不是让ESP8266去连接其它WiFi。
首先我们调用bool wifi_set_opmode (uint8 opmode)这个API,将ESP8266的wifi模式设置为softAP模式
API:wifi_set_opmode(uint8 opmode)
功能:设置 Wi-Fi ⼯作模式(Station, SoftAP 或者 Station+SoftAP),并保存到 Flash
参数:0x01(Station模式)、0x02(softAP模式)、0x03(Station + softAP模式)
然后我们要配置bool wifi_softap_set_config (struct softap_config *config)这个API,其参数为一个struct softap_config类型的结构体的指针
API:wifi_softap_set_config (struct softap_config *config)
功能:设置wifi SoftAP接口配置
参数:struct softap_config {
uint8 ssid[32]; //WIFI名称
uint8 password[64]; //密码
uint8 ssid_len; // WIFI名称长度
uint8 channel; //通道号
AUTH_MODE authmode; // 加密方式
uint8 ssid_hidden; // 是否隐藏密码,0为不隐藏
uint8 max_connection; // 最大连接数,就是允许几个人连入ESP8266创建的WIFI
uint16 beacon_interval; //信标间隔时槽,这个我不懂,有空问一问
};
所以我们首先要新建一个struct softap_config类型的结构体,然后配置其各个参数,值得注意的是其中的ssid和password是两个数组,应该使用os_strcpy()来赋值。我的赋值如下
struct softap_config AP_config;
wifi_set_opmode(0x02);//将8266设置为AP模式
os_memset(&AP_config, 0, sizeof(struct softap_config)); // AP参数结构体 = 0
AP_config.authmode = AUTH_WPA2_PSK;
AP_config.beacon_interval = 100;//信标间隔时槽
AP_config.channel = 1;
AP_config.max_connection = 2;
AP_config.ssid_hidden = 0;
AP_config.ssid_len = os_strlen(ESP8266_SSID);
os_strcpy(AP_config.ssid,ESP8266_SSID); // 设置SSID(将字符串复制到ssid数组)
os_strcpy(AP_config.password,ESP8266_PASSWORD); // 设置密码(将字符串复制到password数组)
wifi_softap_set_config(&AP_config);
其中为了防止我们使用的那段内存中本身存在一些值,使用了os_memset(&AP_config, 0, sizeof(struct softap_config))先将我们定义的struct softap_config类型结构体AP_config先清零
至此,ESP8266设置wifi模式就已将完成了。
其实现在看来,其实就是调用了两个API
wifi_set_opmode(uint8 opmode)
wifi_softap_set_config (struct softap_config *config)
- ESP8266开发笔记(三)SDK开发之AP、Station模式设置
- ubuntu共享wifi(AP)给安卓(Android)手机,如何查看ubuntu无线网卡是否支持AP(master )模式
- Android:如何将位置信息模式默认设置为高精确度
- <WIFI>wifi工作模式的获取和设置为AP模式(基于SDK)
- eclipse中xml文件设置如何变成可编辑模式
- WebBrowser与IE的关系,如何设置WebBrowser工作在IE9模式下?
- PhpCms系统设置:镜像下载模式 如何设置PhpCms镜像下载模式
- WebBrowser与IE的关系,如何设置WebBrowser工作在IE9模式下?
- weblogic10中如何设置开发模式
- 如何用代码设置控制自己网站的网页在360浏览器打开时强制优先使用极速模式,而非兼容模式
- Turn on/turn off BlueTooth Radio mode in Windows CE(如何在wince中设置蓝牙的无线模式,以使其可被查找到)
- 如何默认勾选“设置-情景模式”菜单下面的BesAudEnh选项?
- axis service没有配置namesapce 如何设置QName namesapce
- Android如何将第三方预装的AP安装在data/app下面,用户可以选择卸载,但是在用户恢复出厂设置后,会再次自动安装
- Discuz x2.5如何开启图片列表模式和封面设置失败的解决方法
- [LED]LCD背光设置为PWM模式的时候,config_data里面的参数如何使用
- egret如何设置调试模式
- 如何在XP系统中设置Win7才有的离开模式(应付下载)
- linux系统在命令行模式下如何设置使用代理上网
- 如何设置release模式