本文章由网友:邓工 投稿,VX:A18665908735  
欢迎大家加技术大拿好友。

问题描述

起因:最近公司要做一个4G模块带GNSS(全球导航卫星系统)定位功能的产品,上传传感器数据和设备定位数据到服务器上,我们选择了simcom7600G一个支持全球通的4G模块,首先在阿里云的远程桌面搭建了一个TCP服务器,完成了服务器和4G模块的TCP通信。
但是服务器毕竟是要收费的,于是就想到在自己在电脑上搭建一个本地服务器测试平台,方便与4G模块通过公网进行数据通信。

软件环境:

windows 10
  1. 花生壳内网穿透客户端
  2. SocketTool
  3. 串口调试助手

实现步骤

下面是具体操作步骤,图文并茂:

第一步

先到花生壳的官网下载花生壳内网穿透客户端,链接是,https://hsk.oray.com/download/
如上图,点击免费下载。

第二步

如上图我们选择安装到D盘,接下来依次按步骤安装完成,安装完成后,
点击立即进入
扫码注册
点击立即注册会弹出网页:
注册账号
填写信息,通过手机获取验证码。选择个人用户,点击注册即可。
注册成功
【注意上述注册的域名和后续的截图上的域名有所差异,后续操作以下面的信息为准】
然后登录进入,如下图:

第三步

如上图所示,这是我已经创建好了的一个TCP测试例程。

第四步

如上图所示,如果已经创建好了测试例程,则可点编辑可以修改测试具体细节,如果是第一次使用,则点击右下角的+号,进入创建页面:

第五步

如上图所示,名字随便取,这里我们取名为TCP测试1,应用类型选择TCP,别的可以自己尝试,但是HTTP好像是要收几元认证费用的。
选择不使用模块,外网域名是软件自动生成的,外网端口我们选择随机端口,固定端口要收费的。
内网端口就是你创建的服务器绑定的端口,这里我事先用TCP/UDP socket测试工具在IP地址为192.168.1.112的主机上创建了一个端口为20000的TCP服务器,内网IP地址可通过cmd行工具查看。
如上图,在命令行输入 ipconfig  显示出本机内网IP地址是 192.168.1.112,将其复制到内网主机方框。然后点击保存,创建完成。

第六步

接下来下载TCP/UDP socket测试工具,下载链接是:http://www.xitongzhijia.net/soft/110847.html 这是一个绿色软件,解压后,直接打开软件。
TCP/UDP socket测试工具

第七步

如上图,先选中TCP Server,然后监听端口我们选择20000,然后点击确定,就创建完成,非常简单。

第八步

如上图在创建完TCP测试的花生壳客户端上点击诊断:
花生壳做了两件事情:
  1. 将无线路由器的WAN口地址103.46.128.45和域名x3720160v0.wicp.vip进行了绑定
  2. 所有发送给wlan的wan口目的端口号为30854的数据包全部转发给ip地址为192.168.1.112的内网的pc,交给该pc上绑定端口号为20000的进程

第九步

如上图所示:必须要显示连接转发服务器成功和局域网服务器连接成功后,才算真正的可用,如果本地服务器没有搭建好,局域网服务器会显示连接失败。

第十步

如上图:第一次创建好测试项目,客户端会提示你进入后面网页管理页面,这个更好用,后台管理链接是https://console.hsk.oray.com/forward,

第十一步

如上图,接连接好simcom7600g 4G模块,打开串口调试助手,波特率选择为115200,具体不同的4G模块会有不同,串口调试助手网上也有很多个,自己选择合适自己的就行.
首先让4G模块注册到基站网络,然后打开4G模块网络,查询分配到的IP地址,接下来就可以创建TCP连接了, 输入AT命令
AT+CIPOPEN=
0
,
"TCP"
,
"x3720160v0.wicp.vip"
,
30854
  • 0 表示创建的套接字序号,本模块支持0-9共10个进程。
  • 通信协议选择TCP,
  • 域名选择花生壳生成的免费送的域名,
  • 端口号选择花生壳生成30854,
特别注意端口号不能写自己创建的服务器端口号20000,因为花生壳可能进行了端口重映射的,目的可能是为了安全。

第十二步

如上图所示,我们先用4G模块给服务器发送1234754321,服务接收正常,接着服务器向4G模块发送ABCDEF,串口助手显示
RECV FROM:
103.46.128.45
:
30854
+IPD6

ABCDEF

至此,测试完成!!

总结

组网环境图
实际组网图
如上图所示,详细访问步骤:
  1. 4G模块通过AT指令,访问域名x3720160v0.wicp.vip,目的端口号是30854
  2. DDNS这个协议会将该域名对应的IP地址102.46.128.45返回给该4G模块,4G模块就可以访问到家里的无线路由器的wan口
  3. 4G模块发送的所有的数据包最终会到达家用无线路由器
  4. 无线路由器会把目的端口号是30854的所有数据包转发给内网IP地址为
    192.168.1.112这个pc的绑定了20000端口号的进程
  5. 于是TCP/UDP Socket测试工具就会收到4G模块发送的数据
进群,请加一口君个人微信,带你嵌入式入门进阶。
在公众号内回复「1024」,即可免费获取学习资料,期待你的关注~
继续阅读
阅读原文