ESP8266模组SDK开发之Station和AP连接
WiFi是由无线接入点AP(Access Point) 、站点(Station)等组成的无线网络。
- STA:Station(站点),每个连接到无线网络中的终端
- AP:Access Point(接入点),无线网络的创建者,是网络的中心节点
下面将介绍如何使用ESP8266 SDK开发WiFi的Station和AP连接
1. Station连接
WiFi Station入网流程如下示:
实验步骤如下:
–> 在ESP8266_RTOS_SDK目录下新建station文件夹,把LED灯实验中的led目录下所有文件拷贝到该文件夹中
–> 使用Source Insight编辑器,编辑和浏览代码;新建工程,并将station和include文件夹下的文件添加到工程中;在led灯程序基础上,在user_main.c文件中的user_init()函数下添加如下代码
user_init(void)
{
printf("SDK version:%s\n", system_get_sdk_version());
Led_init();
wifi_set_opmode(STATION_MODE); //配置WiFi为Station模式
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_station_set_auto_connect(TRUE); //启动wifi的一键连接
xTaskCreate(ATaskLed, "LED", 256, NULL, 2, NULL);
}
–> 回到ESP8266编译器中,在station文件夹下,运行gen_misc.sh文件,依次确认配置(Y/1/2/3/4),编译完成
–> 烧写bin文件到ESP8266后,打开串口助手,模组复位后,串口输出相关信息后,模块显示连接到无线网络中,并获取到路由分配的IP
2. AP连接
WiFi AP入网流程如下示:
实验步骤如下:
–> 在ESP8266_RTOS_SDK目录下新建ap文件夹,把LED灯实验中的led目录下所有文件拷贝到该文件夹中
–> 使用Source Insight编辑器,编辑和浏览代码;新建工程,并将ap和include文件夹下的文件添加到工程中;在led灯程序基础上,在user_main.c文件中的user_init()函数下添加如下代码
user_init(void)
{
printf("SDK version:%s\n", system_get_sdk_version());
Led_init();
wifi_set_opmode(SOFTAP_MODE); //设置为AP模式
struct softap_config *config = (struct softap_config *)zalloc(sizeof(struct softap_config));
wifi_softap_get_config(config); //获取当前参数
sprintf(config->ssid,SSID); //传入自己定义的网络名称
sprintf(config->password,PASSWORD); //传入自己定义的网络密码
config->authmode = AUTH_WPA_WPA2_PSK;//授权加密方式
config->ssid_len = 0; //设置网络名称长度为0,表示网络名称字符串中遇到'\0'时结shu
config->max_connection = 4; //设置最大连接数
wifi_softap_set_config(config); //设置到寄存器
free(config); //释放动态存储
xTaskCreate(ATaskLed, "LED", 256, NULL, 2, NULL);
}
–> 回到ESP8266编译器中,在ap文件夹下,运行gen_misc.sh文件,依次确认配置(Y/1/2/3/4),编译完成
–> 烧写bin文件到ESP8266后,打开串口助手,模组复位后,串口输出相关信息,用手机连接AP,获取到AP分配的地址