上一篇分享了:小熊派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》。

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的内网穿透实例分享的更多相关文章

  1. 基于frp的内网穿透实例4-为本地的web服务实现HTTPS访问

    原文地址:https://wuter.cn/1932.html/ 一.想要实现的功能 目前已经实现将本地的web服务暴露到公网,现想要实现https访问.(前提:已经有相应的证书文件,如果没有就去申请 ...

  2. 基于frp的内网穿透实例1-通过SSH访问内网机器

    原文地址:https://wuter.cn/1804.html/ 老母鸡终于到了,作为一个能运行linux系统的四核1G硬件,它还是比较小巧的. FRP 全名:Fast Reverse Proxy.F ...

  3. 基于nginx负载均衡及frp的内网穿透实例3-多用户多网站共用80端口

    原文地址:点击跳转 最近frp用户量有点多,而且很多用户都是想把部署于本地或者内网的web服务暴露至公网,之前提到过,暴露到公网之后如果一般都需要用域名:端口的方法来访问,但是没有人会喜欢用这种方式访 ...

  4. 基于frp的内网穿透实例2-通过自定义域名访问部署于内网的 web 服务

    原文地址:https://wuter.cn/1837.html/ 一.想要实现的功能 1.将部署在自己电脑上的网站用于公网访问. 2.将未备案域名解析至国内服务器(即我宿舍的老母鸡上). 二.服务端配 ...

  5. NATAPP--实现SSH内网穿透

    NATAPP--实现SSH内网穿透 1. 关于Natapp 2. 使用Natapp 3. Natapp安装和配置 4. XShell连接 相关参考博文原文地址: CSDN:KevenPotter:NA ...

  6. frp + nginx 配置多人共用的http 内网穿透服务

    来源:简书   https://www.jianshu.com/p/c9d7527d607b 一. 前言 frp 是一个用Go语言开发的,可用于内网穿透的高性能的反向代理应用,支持 tcp, udp ...

  7. 基于Yarp的http内网穿透库HttpMouse

    简介 前几天发表了<基于Yarp实现内网http穿透>,当时刚刚从原理图变成了粗糙的代码实现,项目连名字都还没有,也没有开放源代码.在之后几天的时间,我不断地重构,朝着"可集成. ...

  8. 基于C#的内网穿透学习笔记(附源码)

    如何让两台处在不同内网的主机直接互连?你需要内网穿透!          上图是一个非完整版内外网通讯图由内网端先发起,内网设备192.168.1.2:6677发送数据到外网时候必须经过nat会转换成 ...

  9. frp实现基于反向代理的内网穿透

    个人博客主页: xzajyjs.cn frp是什么 简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP.TCP.UDP等众多协议 ...

随机推荐

  1. Java实现蓝桥杯互补二元组

    分三处 1.当差值为0并且只有一个二元组就不管他 2.当差值为0并且二元组个数>=1加上他并减去它本身 3.当差值为存在并且不为0时直接加上他 因为都计算了两次,所以最后ans/2 用了map的 ...

  2. java实现立方和等式

    考虑方程式:a^3 + b^3 = c^3 + d^3 其中:"^"表示乘方.a.b.c.d是互不相同的小于30的正整数. 这个方程有很多解.比如: a = 1,b=12,c=9, ...

  3. 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 ...

  4. 用my eclipse 新建hibernate 第一个程序

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 今天就来开始建我们的第一个hibernat ...

  5. 小程序 大转盘 抽奖 canvas animation

    项目需求运用到大转盘 可设置概率 可直接自定义结果 效果如下

  6. mysql 大表mysqldump迁移方案

    场景 一张历史表product_history 500万数据,凌晨的才会将正式表的数据迁移到历史表,此次需求将历史表迁移到一个更便宜的数据库实例进行存储. 条件 1.此表不是实时写,凌晨才会更新 2. ...

  7. 简单说维特比算法 - python实现

    动态规划求最短路径算法,与穷举法相比优点在于大大降低了时间复杂度; 假如从起点A到终点S的最短路径Road经过点B1,那么从起点A到B1的最短路径的终点就是B1,否则如果存在一个B2使得A到B2的距离 ...

  8. MATLAB作图之二

    "平滑"二维图像可以通过对图像进行插值实现.那么对于一条有大量"毛刺"的曲线,是不是也可以通过插值来平滑呢?答案是肯定的. "平滑"前 x ...

  9. 手写网页扫雷之css部分

    #ui{ text-align: center; } #saolei{ width: 500px; height: 500px; border: 1px solid #456345; margin: ...

  10. Pants On Fire(链式前向星存图、dfs)

    Pants On Fire 传送门:链接  来源:upc9653 题目描述 Donald and Mike are the leaders of the free world and haven't ...