一、 方案议题综述
移动互联网的普及以及智能家居的发展,物联网的发展,越来越多的小设备,脱机设备亟待接入互联网形成互联互通,与服务提供商连接,提供更新更强服务。但是普通小设备都是低成本非常简单的单片机为主控芯片的,不具备上网功能,更不可能在单片机里面跑TCP/IP协议栈,由此,3G模块具备嵌入式TCP/IP协议栈并提供串口供单片机收发数据,单片机只需提供一路串口,并且把要发送的数据通过串口发送出去,3G模块负责把数据传输到公网的指定主机上,这样单片机就接入互联网了。
今天的课题,我们选用IM506P作为核心元素,IM506P是由睿联通信出品,在车载/移动终端/POS支付等工业领域应用相当广泛的一款模块,性能稳定,接口和业务功能齐全,是我们选择它作为客体主元素的原因。
此课题,意在引导更多互联网因子加入互联网,激发更多实用的业务应用,促进行业发展。
阅者如需了解此模块规格参数,可自行到其官网下载或者网上搜索下载。
二、 主要特性
具备嵌入式TCP/IP的IM506,通过串口和单片机相连作为收发整体,B/S架构下面,单片机既可用作为普通客户端连接云端服务器,与服务器收发数据,并且保持到云服务区的心跳,链接协议支持TCP和UDP,同时支持最大5路socket链接,可以同时和5个服务器保持通信;单片机还可以作为TCP服务器或者UDP服务器,其他客户端可以连接它,进行收费数据,功能非常强大。
下面验证过程将一一呈现出来。
三、 测试拓扑图
四、 TCP&UDP服务器主机环境搭建
本测试环境是一个路由器建立局域网内主机和公网的连接,通过设置路由器的NAT将公网端口映射到局域网端口,从而公网主机可以访问局域网内部的TCP&UDP服务器主机。
1. 获得本机局域网IP信息
2. 增加NAT端口映射
telecomadmin 密码nE7jA%5m
3. 运行服务管理程序
运行TCP-UDP服务管理 V1.03.exe,如果出现下面警告点否。
4. TCP服务器主机设置
其中自动回复勾选框和透明回复/数据回复 必须在第一次收到数据后才允许选择。当第有一次收到数据后可以根据自己需要进行设置。
5. UDP服务器主机设置
设置好后点击侦听,如下。其中自动回复勾选框和透明回复/数据回复可以根据自己需要进行设置。
6. 获取服务器主机公网IP
获取TCP&UDP服务器主机所在局域网的公网IP,最简单的方式就是直接Baidu ip。
五、 3G模块客户端准备
1. 将RELINK 3G模块扣入开发板
2. 插入联通3G 卡到开发板
3. 串口线把开发板和上位机电脑相连
给3G模块上电,发AT查看联网状态,如下则为OK
六、 TCP协议测试
(一) 正常模式
1. 3G模块发送数据到TCP主机
2. TCP服务器主机接收到3G模块发送过来的数据
此时可对自动回复和透明回复等选项进行操作
(二) 透传模式
3. 设置为透传模式
透传/正常模式必须在+ENETINIT建立网络链接前配置,UDP同样。
4. 透传模式的数据发送与接收
5. 服务器的数据接收与发送
6. 发送”+++”退出透传模式
7. 关闭网络
(三) 多客户端模式
8. 启动多个TCP服务器。
如下图,端口为6801和6802。
9. 客户端SOCKET连接建立
最大支持0~9个客户端SOCKET。
10. 客户端0发送和接收TCP数据
11. TCP服务器主机接收到客户端0的TCP数据并回复
12. 客户端1发送和接收TCP数据
13. TCP服务器主机接收到客户端1的TCP数据并回复
14. 关闭SOCKET并关闭网络
七、 UDP协议测试
(一) 正常模式
1. 3G模块发送数据到UDP主机
2. UDP服务器主机接收到3G模块发送来的数据
3. 关闭链接
(二) 多客户端模式
4. 启动多个UDP服务器。
如下图,端口为7001和7002。
5. 客户端SOCKET链接建立
最大支持0~9个客户端SOCKET。
6. 客户端0发送和接收UDP数据
7. UDP服务器主机接收到客户端0的UDP数据并回复
8. 客户端1发送和接收UDP数据
9. UDP服务器主机接收到客户端1的UDP数据并回复
10. 关闭SOCKET并关闭网络链接
八、 TCP&UDP协议混合测试
该场景存在于多客户端模式。
1. 启动多个TCP&UDP服务器。
如下图,端口分别为6801和7001。
2. 客户端SOCKET连接建立
最大支持0~9个客户端SOCKET。
3. 客户端0发送和接收TCP数据
4. TCP服务器主机接收到客户端0的TCP数据并回复
5. 客户端1发送和接收UDP数据
6. UDP服务器主机接收到客户端1的UDP数据并回复
7. 关闭SOCKET连接并关闭网络
九、 结束语
这次课题,我们验证了具备嵌入式TCP/IP的IM506,通过串口和单片机相连作为收发整体,B/S架构下面,单片机既可用作为普通客户端连接云端服务器,与服务器收发数据,并且保持到云服务区的心跳,链接协议支持TCP和UDP,同时支持最大5路socket链接,可以同时和5个服务器保持通信;单片机还可以作为TCP服务器或者UDP服务器,其他客户端可以连接它,进行收费数据,功能非常强大。
非常适合做物联网接入点,去扩展突破传统形态的产品,开发更多更实用业务功能,促进行业发展,提供人民生活水平。
此课题的成功完成,得到了模块原厂睿联通信的大力支持,特别是组网和收发流程上面,使得我们少走了很多弯路,特别特别感谢技术支持黄工,每次当我们遇到瓶颈困难的时候,黄工远程过来非常迅速就把问题搞定,我们的课题继续往下走,黄工深厚的技术功底,扎实的通信技术令人佩服。