基于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实现 蓝桥杯VIP 算法提高 数的划分
算法提高 数的划分 时间限制:1.0s 内存限制:256.0MB 问题描述 一个正整数可以划分为多个正整数的和,比如n=3时: 3:1+2:1+1+1: 共有三种划分方法. 给出一个正整数,问有多少种 ...
- Java实现 蓝桥杯VIP 算法提高 栅格打印问题
算法提高 栅格打印问题 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,输入两个整数,作为栅格的高度和宽度,然后用"+"."-"和&quo ...
- Java实现 洛谷 P1738 洛谷的文件夹
题目描述 kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现. 洛谷的网页端,有很多文件夹,文件夹还套着文件夹. 例如:/luogu/application/c ...
- java中装箱和拆箱的详细使用(详解)
一.什么是装箱?什么是拆箱? 在前面的文章中提到,Java为每种基本数据类型都提供了对应的包装器类型,至于为什么会为每种基本数据类型提供包装器类型在此不进行阐述,有兴趣的朋友可以查阅相关资料.在Jav ...
- Linux文件搜索命令locate、which、grep详解
命令locate详解 命令locate,其基本功能是在文件资料库中可以快速的搜索系统文件,占用系统资源很少,例如:locate my.cnf 还可以使用locate -i [文件名],不区分大小写进行 ...
- svg 贝塞尔曲线图解(记录)
path路径绘制中,绘制贝塞尔曲线的命令包括: Q 二次贝赛尔曲线 x1,y1 x,y T 平滑二次贝塞尔曲线 x,y C 曲线(curveto) x1,y1 x2,y2 x,y S 平滑曲线 x2, ...
- 小程序-你不得不知的Promise封装请求
放在开头 这是一个小程序的轮播图,但是为我们在请求api数据时,将请求wx.request代码封装调用 效果展示 代码篇 页面wxml 这里需要注意的是我们设置swiper和image标签时,有默认属 ...
- 05-IntentFilter的匹配规则
IntentFilter的匹配规则 原则上一个Intent不应该既是显示调用又是隐式调用,如果二者共存的话以显式调用为主 隐式调用需要Intent能够匹配目标组件的IntentFilter中所设置的过 ...
- golang连接达梦数据库的一个坑
golang连接达梦数据库的一个坑 有一次项目中用到了达梦数据库,后端语言使用的golang,达梦官方并未适配专门的golang连接方式,正一筹莫展的时候发现达梦提供了odbc的连接,这样可以使用类似 ...
- springmvc无法进入controller,且报错404
今天搭建一个springmvc项目时,前台一直报错404,在controller中调试发现程序没有进入controller. 通过多次刷新前台页面,发现第一次进入是会弹出错误提示,第二次之后就直接40 ...