第一、下载程序
esp8266示例程序:点击下载
esp32示例程序:点击下载
esp32注意:新版sdk的smartConfig和softap存在以下问题:
esp32解决办法:arduino ide中安装esp32库1.0.6版本.
示例程序是利用arduino IDE开发:
关于arduino IDE 的ESP8266环境配置可参考:环境配置: 点击跳转
关于arduino IDE 的ESP32环境配置可参考:环境配置: 点击跳转
第二、微信小程序配网
微信内搜索小程序 一键配网,切换到SoftAp配网协议,或者扫描下方ap配网的专用码,扫码进去的不需要手动切换配网协议:
第三、配网步骤说明
当单片机烧写进去配网程序后,应该就处在配网模式,
打开微信小程序ap配网:
第一步:选择路由器wifi,输入路由器密码,点击下一步
第二步:选择单片机热点,点击下一步,这时候手机会自动连接单片机热点,并发送配网信息,等待配网成功即可。
第四、配网协议说明
协议规范:设备通过 softAP 方式创建一个 Wi-Fi 热点,手机连接该热点,再通过 UDP 通讯,将目标 Wi-Fi 路由器的 SSID/PSW 传递该设备,设备获取后,即可连接 Wi-Fi 路由器从而连接互联网。
手机连接设备 softAP 热点成功后,小程序作为 UDP 客户端会连接 esp8266设备上面的 UDP 服务(默认 IP 为192.168.4.1,端口为8266)
小程序向设备的 UDP 服务,发送 路由器的 Wi-Fi 和WIFI密码,以及用户私钥Token,JSON 格式为:
{"cmdType":1,"ssid":"Home-WiFi","password":"abcd1234","token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","topic":"light001"}
cmdType: 小程序数据指令,默认为1。
ssid: 路由器wifi名称。
password:路由器wifi密码。
token: 巴法云用户私钥,如果使用过巴法云扫码登录,该私钥和微信扫码登录后的私钥一致,如果未使用过巴法云微信等相关功能,小程序则会自动创建账号并生成私钥,之后使用微信扫码登录可查看此私钥信息。
topic: 可选参数,发送到设备的附加信息。
发送完成后,等待设备 UDP 回复信息:
{"cmdType":2,"productId":"Hjgwhge002","deviceName":"dev_01","protoVersion":"3.0"}
cmdType: 设备回复指令,默认为2。
productId: 可选参数,设备主题值,即设备id,如果携带此参数返回到小程序,小程序会自动创建主题值为 productId 值的主题,主题类型为 protoVersion 类型,需要小程序自动创建主题时需返回该值。
deviceName: 可选参数,设备主题昵称,灯、插座、风扇暂不支持deviceName。
protoVersion: 可选参数,协议类型,1.0是MQTT设备云,2.0是tcp设备云,3.0是tcp创客云,需要小程序自动创建主题时需返回该值。