上一篇分享了:小熊派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
- 花生壳
- NATAPP
我们这里使用ngrok来进行内网穿透实验。具体步骤可阅读《BearPi-4G实战开发指南_V1.0》。
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
所在的路径:
最后,编译、生成固件、下载验证:
以上就是本次的实践分享。如有错误,欢迎指出。谢谢