ESA2GJK1DH1K基础篇: Android实现SmartConfig简单Demo

下载源码去

 百度安信可

 

 

 

 

 

 

导入源码

等待加载完

 

我的提示更新下软件 ,我就更新下

 

安装完成以后重新导入工程

安装到手机

注意,由于Android 9.0 以后的获取WIFI名称需要打开GPS,所以如果提示下图

需要自己手动打开GPS

输入密码,然后测试

测试准备工作

  一,下载单片机程序

  "测试APP使用SmartConfig绑定Wi-Fi 设备通过MQTT控制设备"

    

  二,调整波动开关位置,STM32和Wi-Fi通信

    

  

  三,短接STM32的PB2和Wi-Fi模块的RST引脚(为了做项目稳定可靠,请使用单片机硬件复位Wi-Fi)

    

开始测试

  一.长按PB5大约4S,等待指示灯快闪,松开PB5,Wi-Fi模块进入配网状态

    

  

  二.点击APP的"确认"按钮,开始搜索设备,配网成功以后,会获取到WIFI的MAC地址信息,还有WI-Fi当前分配的IP地址信息

      

结语

  SmartConfig呢,就是控制WI-Fi连接上路由器,同时获取到WI-Fi的MAC地址信息

  有些人可能会问,为什么需要WI-Fi的MAC地址.

  我的单片机程序订阅的主题是这样的

    

  我单片机

  订阅的主题是: user/WI-Fi的MAC地址

  发布的主题是:device/WI-Fi的MAC地址

  

  而APP在SmartConfig的时候获取到了这个MAC地址

  我设置的APP订阅的主题是:device/WI-Fi的MAC地址

  APP发布的主题是:user/WI-Fi的MAC地址

  这样APP和设备就完成了数据通信了...

  有人又会问,自己指定不可以吗???你自己想想会出什么问题吧!

  太麻烦了.......APP怎么做到动态绑定呢!!!!!!!

  我说说现在用MAC的好处.

  第一: 每个设备订阅和发布的主题唯一,各个设备不会冲突(MAC地址全球唯一)

  第二: 设备端的程序只需要程序获取MAC然后设置订阅和发布的主题就可以了

  第三: APP在SmartConfig的时候获取到设备的MAC,然后设置订阅和发布的主题就可以了

  现在厂商都是利用MAC地址绑定.....

原文地址:https://www.cnblogs.com/yangfengwu/p/11911992.html