<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/product/audioCamera.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
<iframe frameborder="0" height="1500" name="ifd" scrolling="auto" src="https://mnifdv.cn/resource/cnblogs/product/audioCamera.html" width="100%"></iframe>
说明
这节测试下控制设备连接无线路由器和本身开热点的程序;
提示
如果用户想把这个功能移植到别的工程里面,可以把对应的.c和.h文件放到和 main.c文件同一目录
然后先清理工程再编译就可以使用了;
测试
1,把这节工程放到开发环境的下面的目录,并打开工程
所有基础功能都在这一个工程里面,每个功能有独立的源文件和头文件
2,在文件中更改连接的路由器和设备热点
3,主函数包含下头文件
4,调用
wifi_init();//WiFi初始化 errCnt=0;okCnt=0; while (1) { if (wifi_struct.sta_state==2)//连接上路由器 { ESP_LOGI(TAG, "connect wifi success"); ESP_LOGI(TAG, "got ip:%d.%d.%d.%d",//连接路由器分配的IP地址 (((wifi_struct.event->ip_info.ip.addr)>>24)&0xff), (((wifi_struct.event->ip_info.ip.addr)>>16)&0xff), (((wifi_struct.event->ip_info.ip.addr)>>8)&0xff), (((wifi_struct.event->ip_info.ip.addr)>>0)&0xff) ); break; } else { errCnt++; if (errCnt>=100)//超过10S还没连接上路由器 { errCnt=0; ESP_LOGE(TAG, "connect wifi failed"); } } vTaskDelay(pdMS_TO_TICKS(100)); }
5,编译下载到设备
设备连接上路由器以后日志上将会打印连接路由器后分配的IP地址(默认是断线重连)
如果开启了设备热点,也可以使用手机或者电脑看到设备的热点
程序说明
1,程序是这边封装好的,用户只需要设置完参数以后,调用wifi_init();
2,这个函数是先把设置的参数放到对应的变量里面,然后调用wifi_init_softap_sta
3,用户可以通过wifi_struct变量获取连接状态和连接路由器后的地址信息
.
标签:WiFi,struct,ip,wifi,0xff,图传,连接,路由器 From: https://www.cnblogs.com/yangfengwu/p/18662962