admin 管理员组文章数量: 887017
在过去的接近两个月,接了两个小小的物联网项目外包,所以对WiFi模块配置以及开发有了一定的研究。那么今天来说一下物联网WIFI模块配置。研究是基于STM32 智能家居开发的。
一、背景知识
1、WiFi模块
本开发板默认已经烧写了手机WIFI的测试软件,wifi模块工作在AP模式,TCP server ,ip是10.10.100.254,端口是8899。
综合测试
手机WIFI综合 android手机通过WIFI与开发板互相通讯,发送数据。
二、WiFi模块底板功能介绍
1、重置系统参数:(开发模式一:AP模式)
通电以后,按 按键 > 3秒,Ready和Link灯灭,随后Ready灯亮。系统恢复到出厂参数。
工作于AP模式,IP:10.10.100.254,端口:8899, TCP Server。
2、smart Link智能接入已有wi-fi网络:(开发模式二:
STA模式
)
通电以后,按 按键 < 3秒,Ready灯灭,Link灯快闪,这时候手机操作SmartLink软件,推送
现有wi-fi网络的配置信息(SSID,密码等)到wi-fi模块,完成智能配置。配置成功后,wi-fi模块
采用dhcp的方式获得现有wi-fi网络的ip, Ready灯和Link灯亮,进入 STA模式 工作状态。
3、通过互联网局域网中WiFi模块的方法(这点也是和第2点开发一起的)
开发板硬件作为服务器,设有固定的IP,通过无线 连接到 无线路由器,在路由器上设置转发规则,内容为这个固定的IP和端口20108,同时在路由器的DDNS中设置启动动态域名系统,这样手机程序就可以通过3G网络输入动态域名连接到局域网内的开发板上就行通讯了。
4、实物图
三、WiFi模块AP模式
AP模式:是不用配置路由器的,用WiFi模块发出的热点,用手机连上去就行了。这个模式密码一般都为空的。也是出厂模式吧。
开发建议:很简单的。因为默认IP:10.10.100.254,端口8899。部分代码如下
socket = new Socket();
SocketAddress socketAddress = new InetSocketAddress("10.10.100.254.",8899);
socket.connect(socketAddress,2000);
socket.setSoTimeout(2000);
socket.setTcpNoDelay(true);
dis = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
dos = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
这样写好其他代码,Android手机与WiFi模块之间就可以数据的双向通信了。
四、
WiFi模块
STA模式
这个模式要一系列的配置,实现手机通过路由器转发数据到WiFi模块,所以基于这种情况,要把WiFi模块配置到你的局域网路由器上,只要那里有你的WiFi模块配置的IP地址了。就可以转发了,这时你的手机就可以连接路由器的WiFi或者手机网络来进行通信了。
接下来先用手机配置WiFi模块,就是连上WiFi模块,然后打开手机上的浏览器输入10.10.100.254;然后输入用户名和密码都是admin。然后搜索路由,找到你的路由,连接,输入平时你和搜集WiFi上网路由器的密码。重启就成功。最后用电脑登陆你的路由器配置,可以查看是否连接成功。以及配置成功后的WiFi模块在路由器上的IP地址。
1、打开你的手机WiFi列表
2、连接WiFi模块的WiFi,是第二个没有密码的。
3、打开手机上的浏览器输入10.10.100.254
4、登陆后看到界面是
5、点击搜索,找到我的路由器,名称MA那个。点击,确定
6、输入你平时在激励WiFi上网的密码,重启就可以。
在这里说明一下,为什么只输入上网的WiFi密码,没有配置端口。因为没有配置端口,到时开发还是默认端口8899。 第4那个步骤可以看到,还有其他选项,例如sta设置,ap设置,网络设置,串口设置等等都可默认,有兴趣可以去设置一下。
7、在电脑查看你路由器配置,是否有WiFi模块
在上面可以看出来,最后一个就是我配置WiFi模块在路由器上了吧,第二个是我手机连接的。
那么开放时候输入连接的ip地址就是:192.168.0.103,之前说了,还是默认端口8899,因为我没有重新配置端口。
开放代码跟上一样,改一下IP地址,通信也一样,输出流输入流,高度哦socket开发的都知道了。
socket = new Socket();
SocketAddress socketAddress = new InetSocketAddress("192.168.0.103",8899);
socket.connect(socketAddress,2000);
socket.setSoTimeout(2000);
socket.setTcpNoDelay(true);
dis = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
dos = new DataOutputStream(new BufferedOutputStream(socket.getOutputStream()));
到这里就结束,如果反应有需要的。我就再写一篇电脑用串口助手与手机端数据收发调试文章。
对于我在大学学过硬件,搞过。还是有研究的。
版权声明:本文标题:Android 物联网WIFI模块配置 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1729000058h1305263.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论