Android开发—智能家居系列:用手机对WIFI模块进行配置

Posted kekeoutlook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发—智能家居系列:用手机对WIFI模块进行配置相关的知识,希望对你有一定的参考价值。

android开发—智能家居系列】(二):用手机对WIFI模块进行配置

http://blog.csdn.net/u010924834/article/details/49496729

 

【IP地址】

广播地址:X.X.X.255(如:255.255.255.255)
WIFI模块默认IP:10.10.100.254
接入路由器之后,由路由器动态分配的IP。

技术分享图片

 

【实现过程描述】

使用UDP广播方式搜索wifi模块

  • 第一阶段是在WIFI模块处于AP模式下,对其进行搜索。
  • 第二阶段是在WIFI模块处于STA模式下,对其进行搜索。

第一阶段
  模块工作在AP模式下时,会开启一个用于接收“快速联网协议命令”的UDP端口,端口号为48999(出厂设置默认IP为10.10.100.254)

  1. 通过UDP广播(广播地址:x.x.x.255,端口48899),发送HF-A11ASSISTHREAD(该口令可用AT+ASWD命令设置)
    (这里也可以用单播的形式搜索,目的地址:10.10.10.254,端口48899,命令不变)
  2. 模块收到指令后,如果口令正确,向源地址(单播:端口48899)发送IP地址、Mac地址和模块名称。
  3. 收到模块返回的IP地址及MAC地址后,立即回送一个“+ok”,模块收到后进入连接状态。
  4. 进入连接状态后,模块可以正常接收网络AT指令。 如:设置网络协议参数:AT+NETP=TCP,CLIENT,30000,X.X.X.X 设置STA的网络参数:AT+WANN=DHCP

过渡阶段:

  1. UDP广播(端口:49000)发送指令ff 00 01 01 02(十六进制)
  2. 模块收到指令后返回路由列表
  3. 将用户选择的SSID(路由名称)和密钥发送给模块(端口:49000),模块连入此路由,转化成STA模式,并回送一个指令ff 00 03 82 01 01 87

第二阶段:
  
  在STA模式下,我们要找到此WIFI模块,并对其发送开、关等操作指令。步骤同第一阶段,但是返回的IP地址会不一样。模块作为STA链接到路由中,以为此时模块的IP地址是由路由器分配的,不是确定IP地址,所以手机无法与模块建立连接,故需要采用广播搜索,获取到模块在STA模式下的地址。

以上是关于Android开发—智能家居系列:用手机对WIFI模块进行配置的主要内容,如果未能解决你的问题,请参考以下文章

Android开发—智能家居系列:UDP通信发送指令

Android开发—智能家居系列:手机连接WIFI模块

最简单DIY基于ESP8266的智能彩灯⑥(Android开发通过WIFI控制彩灯实现表白神器)

Android WiFi开发教程——WiFi热点的创建与关闭

android 如何获取wifi密码?非root

用YourAPP开发网络状态提醒应用