基于4G Cat.1的内网穿透实践
点击上方「嵌入式大杂烩」,选择「置顶公众号」第一时间查看嵌入式笔记!
上一篇分享了:《小熊派4G开发板初体验》,对小熊派4G开发板进行了一个简要的介绍及进行简单的实验体验。
这一篇继续BearPi-4G开发板实践:内网穿透实践。
基本TCP的socket通信测试
之前我们学习WiFi模块时,与PC进行TCP协议的socket通信测试我们只要在我们的PC上通过网络助手建立一个TCP Server就可以进行测试,我们的开发板当作客户端与网络助手进行通信。
WiFi模组能直接与我们的PC通信(前提是两者能互ping得通)是因为它们两个在同一个局域网内,我们的路由器给我们的WiFi模组与电脑各动态分配一个内网IP。场景大概如下:
而我们这里要使用4G模组与我们的PC进行通信,需要进行内网穿透
。因为4G模组用的是公网/外网IP地址,而我们的PC用得是一个内网IP地址。
所以需要借助一台具有公网IP的服务器进行中转。场景大概如下:
可见,我们的4G模组要与我们的PC机进行一个TCP的socket通信测试的话,必须要进行一个内网穿透
。进行内网穿透可借用一些内网穿透的产品及工具。网络上大家常用的有:
ngrok
http://www.ngrok.cc/
花生壳
https://www.oray.com/
NATAPP
https://natapp.cn/
我们这里使用ngrok来进行内网穿透实验。具体步骤可阅读《BearPi-4G实战开发指南_V1.0.pdf》。
1、开通隧道
2、配置隧道
查看本地IP的方法:
3、查看隧道
查看隧道,记录隧道ID、赠送域名及端口等信息。
4、下载Ngrok客户端并启动
上面是搭建一个内网穿透的条件。搭建好了内网穿透环境之后,我们就可以进行一个socket通信测试实验了。
4G模组sdk开发包已经有给我们准备了一个tcp_client的demo,我们直接使用这个demo进行测试。
相关代码在路径:ql-sdk\ql-application\threadx\interface\network\sockets\example
下的example_sockets_tcp_client.c
:
我们需要打开最后一行的注释,启动相关tcp_client测试任务。
同时,需要修改ql-sdk\ql-application\threadx
下的Makefile文件,添加example_sockets_tcp_client.c
所在的路径:
最后,编译、生成固件、下载验证:
最后
以上就是本次的实践分享,感谢阅读与支持。如有错误,欢迎指出。谢谢!
若觉得文章不错,转发分享、在看,也是我们继续更新的动力。
在公众号内回复更多资源,可免费获取嵌入式资料。期待你的关注~