esp32的官方SDK配网

配网的方式很多,今天进行3个方面的研究,app配网、微信配网和web配网。

一、app配网

手机App端发送包含WIFI用户名以及密码的UDP广播包,智能终端(开启了sniffer混杂模式)的WIFI芯片可以接收到该UDP包,只要知道UDP包的组织形式,就可以通过接收到的UDP包解密出WIFI用户名密码,然后智能硬件配置收到的用户名密码到指定的WIFI AP上。

1.esp32端作为station,进入smartconfig, 等待手机端发出的用户名和密码。
2.手机端把填写当前网络的密码通过UDP广播;
3.esp32获取到信息之后推出smartconfig配置,连接网络;

这是最智能的配网方式。但是缺点也很明显,那就是配网成功率未达到100%,同时SmartConfig还得另外安装一个app。SmartConfig最佳的应用场景就是开发的产品需要搭配App来使用。
微信配网官网是有例程的,examples/wifi/下面有smart_config,这就是官方的例程,可以直接使用。注意,需要修改一个东西。

esp_smartconfig_set_type(SC_TYPE_ESPTOUCH_AIRKISS);

官方代码没有指定配网类型为airkiss。这是需要修改的东西,另外app需要用到的一个东西叫ESPTouch,在github上面可以有下载(EspressifApp/EsptouchForAndroid),右边的releases里面有编译好的apk版本,觉得下的慢的可以科学上网。
编译通过直接就可以运行了,注意一个问题:要运行首先你得用手机连上一个可用的wifi,然后执行就ok,还有一个问题就是wifi可以是热点,也可以是路由器,但是对这个wifi有要求就是不能是11ac的路由器或者5g网络开的热点,esp32会不支持,对于这个11ac,其实就是最新的协议(最快可以达到千兆网络),一般的路由器都没有问题。

二、微信配网

其实微信配网跟app配网的原理都是一样的同样也是用的官方的例程smartconfig,就是app变成 了微信小程序,如关注安信可科技公众号里面就可以微信配网,步骤同app配网。

三、web配网

提供一个AP热点,手机连上这个热点,然后通过手机把家里的WiFi的SSID和密码配置到设备上,最后手机再切换回家里的WiFi,这种配网成功率可以说是100%。在网上看到的这个举的例子是不是通俗易懂,就跟家里路由器设置一样,同样的这种方法很多人也在arduino上写了程序,github上有开源的程序WebConfig,就是用的arduino,至于这个第三方库的安装,就自己百度了。
但是如果我想用官方的SDK呢。方法看起来很简单

1.配置成ap模式
2.手机连接ap热点,发送WiFi账号密码
3.设为sta模式,连接WiFi

虽然原理简单,但是难以操作,一是没有例程,二是资料太少。提供一个思路,官方例程里有如何配置成ap模式和station模式,在examples\wifi\getting_started里面。首先配置成ap模式,这样就有了一个wifi热点,然后进入web网页设计,通过提交按钮然后获取到用户名和密码,最后通过station模式进行连接。参考下面链接。

https://blog.csdn.net/xh870189248/article/details/102805659

上面使用了dns服务器进行域名的改变,我们这里删掉dns的部分就可以了。

四、第三方库配网

如果想使用非sdk配网也可以,使用第三方库如arduino等,在上面进行配网操作要简单一些,在gitub上也有些资料好像叫webconfig,可以自行查阅资料。当然需要添加一些库等等

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值