基于4G Cat.1的内网穿透实例分享
上一篇分享了:小熊派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所在的路径:

最后,编译、生成固件、下载验证:

以上就是本次的实践分享。如有错误,欢迎指出。谢谢
基于4G Cat.1的内网穿透实例分享的更多相关文章
- 基于frp的内网穿透实例4-为本地的web服务实现HTTPS访问
原文地址:https://wuter.cn/1932.html/ 一.想要实现的功能 目前已经实现将本地的web服务暴露到公网,现想要实现https访问.(前提:已经有相应的证书文件,如果没有就去申请 ...
- 基于frp的内网穿透实例1-通过SSH访问内网机器
原文地址:https://wuter.cn/1804.html/ 老母鸡终于到了,作为一个能运行linux系统的四核1G硬件,它还是比较小巧的. FRP 全名:Fast Reverse Proxy.F ...
- 基于nginx负载均衡及frp的内网穿透实例3-多用户多网站共用80端口
原文地址:点击跳转 最近frp用户量有点多,而且很多用户都是想把部署于本地或者内网的web服务暴露至公网,之前提到过,暴露到公网之后如果一般都需要用域名:端口的方法来访问,但是没有人会喜欢用这种方式访 ...
- 基于frp的内网穿透实例2-通过自定义域名访问部署于内网的 web 服务
原文地址:https://wuter.cn/1837.html/ 一.想要实现的功能 1.将部署在自己电脑上的网站用于公网访问. 2.将未备案域名解析至国内服务器(即我宿舍的老母鸡上). 二.服务端配 ...
- NATAPP--实现SSH内网穿透
NATAPP--实现SSH内网穿透 1. 关于Natapp 2. 使用Natapp 3. Natapp安装和配置 4. XShell连接 相关参考博文原文地址: CSDN:KevenPotter:NA ...
- frp + nginx 配置多人共用的http 内网穿透服务
来源:简书 https://www.jianshu.com/p/c9d7527d607b 一. 前言 frp 是一个用Go语言开发的,可用于内网穿透的高性能的反向代理应用,支持 tcp, udp ...
- 基于Yarp的http内网穿透库HttpMouse
简介 前几天发表了<基于Yarp实现内网http穿透>,当时刚刚从原理图变成了粗糙的代码实现,项目连名字都还没有,也没有开放源代码.在之后几天的时间,我不断地重构,朝着"可集成. ...
- 基于C#的内网穿透学习笔记(附源码)
如何让两台处在不同内网的主机直接互连?你需要内网穿透! 上图是一个非完整版内外网通讯图由内网端先发起,内网设备192.168.1.2:6677发送数据到外网时候必须经过nat会转换成 ...
- frp实现基于反向代理的内网穿透
个人博客主页: xzajyjs.cn frp是什么 简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP.TCP.UDP等众多协议 ...
随机推荐
- Java实现蓝桥杯互补二元组
分三处 1.当差值为0并且只有一个二元组就不管他 2.当差值为0并且二元组个数>=1加上他并减去它本身 3.当差值为存在并且不为0时直接加上他 因为都计算了两次,所以最后ans/2 用了map的 ...
- java实现立方和等式
考虑方程式:a^3 + b^3 = c^3 + d^3 其中:"^"表示乘方.a.b.c.d是互不相同的小于30的正整数. 这个方程有很多解.比如: a = 1,b=12,c=9, ...
- TZOJ Find the Spy
描述 Whoooa! There is a spy in Marjar University. All we know is that the spy has a special ID card. P ...
- 用my eclipse 新建hibernate 第一个程序
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 今天就来开始建我们的第一个hibernat ...
- 小程序 大转盘 抽奖 canvas animation
项目需求运用到大转盘 可设置概率 可直接自定义结果 效果如下
- mysql 大表mysqldump迁移方案
场景 一张历史表product_history 500万数据,凌晨的才会将正式表的数据迁移到历史表,此次需求将历史表迁移到一个更便宜的数据库实例进行存储. 条件 1.此表不是实时写,凌晨才会更新 2. ...
- 简单说维特比算法 - python实现
动态规划求最短路径算法,与穷举法相比优点在于大大降低了时间复杂度; 假如从起点A到终点S的最短路径Road经过点B1,那么从起点A到B1的最短路径的终点就是B1,否则如果存在一个B2使得A到B2的距离 ...
- MATLAB作图之二
"平滑"二维图像可以通过对图像进行插值实现.那么对于一条有大量"毛刺"的曲线,是不是也可以通过插值来平滑呢?答案是肯定的. "平滑"前 x ...
- 手写网页扫雷之css部分
#ui{ text-align: center; } #saolei{ width: 500px; height: 500px; border: 1px solid #456345; margin: ...
- Pants On Fire(链式前向星存图、dfs)
Pants On Fire 传送门:链接 来源:upc9653 题目描述 Donald and Mike are the leaders of the free world and haven't ...