现在我们在购买很多智能设备的时候,需要让它联网,但它没有什么有效的输入手段,例如键盘屏幕啥的,于是就出现了所谓的一键联网,通过APP,将wifi名称和密码发送出来,走的是一种广播或者组播的手段,智能设备上电处于混杂模式,能够接收到这些数据,随后就可以联网了。

就是所谓的,通讯,基本靠喊。
搭建环境什么的可以参考这个《看这里》 然后就可以下载到最新的版本,里面就包含了一键联网的demo程序。

配置好工作路径,编译代码,就可以烧写进ESP8266开发板了。上电进入smartconfig模式

官网的教程无比详细,就喜欢这种产品

乐鑫提供了安卓版本的配置工具,《下载链接》

首先我们手机先接入目标wifi,然后输入密码,点击发送,就可以看到ESP8266自动联网了。下次重启还会再次自动连接。
APP的源码也可以在官网下载到。真是贴心。

代码中实现了MQTT的上行和下行。我们可以搭建一个MQTT服务,然后配置参数

使ESP8266自动连接进入MQTT,实现消息的发送和订阅。
这数据通道不就来了

代码还在IO4上增加了一个按键,实现了发送消息和清空链接状态。短接一下IO4和GND,就能发送一个状态到MQTT上。

同时,ESP8266订阅了消息,也能接收下行消息。

不过不知道为啥这么长的乱码。
代码中的核心函数,就是如何从广播中获取到SSID和密码,这个算法没有提供,不过这也算是人家的一种保密机制吧。

windows目前没有办法抓wifi的帧,所以等我随后尝试一下,看看到底如何将ssid和密码,发送出来的。
















