ESP8266开发笔记(三)SDK开发之AP、Station模式设置
2018-12-22 11:28
721 查看
版权声明:转载请注明作者及来源 https://blog.csdn.net/qq_41619856/article/details/85176819
下面简单说下其中的一些函数目的,使用wifi_get_macaddr,是为了读取ESP8266模块的MAC地址,用来命名WIFI,MAC地址具有唯一性,所以我们就可以避免同一个固件烧录到不同模块时,WIFI名一样的问题。
wifi_set_opmode则是选择哪种模式,AP、Station或者AP-Station。其他也不多说了,编译好后就烧录到模块,看看实际效果。
在前两篇博客中,已经讲了开发环境的搭建,怎样导入项目和项目编译后如何烧录到芯片中以及可能出现的问题。现在我们这篇就来讲讲不用AT指令,在SDK中如何将ESP8266配置为AP或者Station模式。
1、何为AP、Station模式
AP模式:提供无线网络接入服务,允许其他无线设备连接其网络,类似无线路由器。
Station模式:本身不提供无线接入服务,可以连接AP,类似无线终端设备。
2、AP模式配置
在SDK中,我们主要在其官方提供的初始化接口函数void user_init(void)中来编程,实现我们想要的功能。这个函数就位于文件夹app->user里的user_main.c文件里。
官方在SDK里提供了很多函数,方便用户进行操作,所以我们先下载其提供的API文档:API文档
提取码:he2d
一切都准备好了,就可以开始敲代码了 。
uint8 macaddr[6]; struct softap_config config; uint8 macID[16] = {0} ; //os_delay_us(2000); wifi_set_opmode(0x02); wifi_get_macaddr(SOFTAP_IF,macaddr); os_sprintf(macID,"ESP%x%x%x%x%x%x",macaddr[0],macaddr[1],macaddr[2],macaddr[3],macaddr[4],macaddr[5]); os_memcpy(config.ssid,macID,strlen(macID)); //os_memcpy(config.password,"123456",strlen("123456"));//如果要进行加密,加上这句 config.ssid_len = strlen(macID); //config.authmode = AUTH_WPA2_PSK; //选择加密方式,如果要进行加密,加上这句 config.max_connection = 5; wifi_softap_set_config(&config);
AP模式的配置代码都在上面了,如果加入串口打印,那么可以再加上一句串口初始化
uart_init(115200,115200);
下面简单说下其中的一些函数目的,使用wifi_get_macaddr,是为了读取ESP8266模块的MAC地址,用来命名WIFI,MAC地址具有唯一性,所以我们就可以避免同一个固件烧录到不同模块时,WIFI名一样的问题。
wifi_set_opmode则是选择哪种模式,AP、Station或者AP-Station。其他也不多说了,编译好后就烧录到模块,看看实际效果。
3、Station模式设置
上面我们已经说了如何配置AP模式,Station模式的配置也跟它差不多。
struct station_config stationCon; uint8 AP_SSID[] = "ESP827d3a338cd0"; //要连接的WIFI名 //uint8 password[] = "123456"; //要连接的WIFI密码 wifi_set_opmode(STATION_MODE); stationCon.bssid_set = 0; os_memcpy(&stationCon.ssid,AP_SSID,strlen(AP_SSID)); //os_memcpy(&stationCon.password,passwordstrlen(password)); //有密码的话加上这句 wifi_station_set_config(&stationCon); wifi_station_connect();
这样,再把这个烧录到另一个模块,我们就能实现ESP8266的连接了
相关文章推荐
- ESP8266-SDK开发入坑(四)- STATION模式
- ESP8266 无线网卡AP模式和station模式
- <WIFI>wifi工作模式的获取和设置为AP模式(基于SDK)
- Android开发笔记(一百零五)社会化分享SDK
- Android 高级开发笔记 第二章 Activity的启动模式
- 【学习笔记javascript设计模式与开发实践(迭代器模式)----7】
- 用S60操作系统SDK开发NOKIA手机应用程序-学习笔记(1)
- 海康SDK开发笔记(一)
- CentOS 7运维管理笔记(1)----设置默认启动模式为GUI模式或命令行模式
- 描述一下iOS SDK中如何实现MVC的开发模式
- iOS开发笔记--将视图或者按钮设置为圆形
- 用S60操作系统SDK开发NOKIA手机应用程序-学习笔记(1)
- 开发笔记 - 设置NSZombieEnabled调试EXC_BAD_ACCESS
- iOS开发笔记之设置self.view原点为导航栏左下角
- 奇舞javaScript 常用设计模式和组件化开发 -笔记
- ESP8266_RTOS_SDK学习笔记之 FreeRTOS移植浅析
- iOS开发笔记-两种单例模式的写法
- C#开发学习笔记:GridView设置满足条件的单元格变色
- Android Ap 开发 设计模式第四篇:工厂方法模式
- 用S60操作系统SDK开发NOKIA手机应用程序-学习笔记(2)