WiFi站点(Station)和接入点(Access Point)
WiFi是由无线接入点AP(Access Point) 、站点(Station)等组成的无线网络。 Station (STA)是指每个连接到无线网络中的终端; 接入点 (AP)是无线网络的创建者,是网络的中心节点
ESP8266模组支持STA、AP、STA+AP三种工作模式
下面将介绍如何使用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;//授权加密方式
//设置网络名称长度为0,表示网络名称字符串中遇到'\\0'时结束
config->ssid_len = 0;
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
烧写bin文件到ESP8266后,打开串口助手,模组复位后,串口输出相关信息,用手机连接AP,获取到AP分配的地址
全部0条评论
快来发表一下你的评论吧 !