上一篇分享了:小熊派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实现第三届蓝桥杯火柴游戏

    火柴游戏 [编程题](满分34分) 这是一个纵横火柴棒游戏.如图[1.jpg],在3x4的格子中,游戏的双方轮流放置火柴棒.其规则是: 不能放置在已经放置火柴棒的地方(即只能在空格中放置). 火柴棒的 ...

  2. 原生js ajax 封装

    首先我们先了解ajax的get和post请求分别是怎样请求数据的 get请求 let ajx = new XMLHttpRequest() //创建ajax实例 /*打开需要请求的地址,可以有三个参数 ...

  3. 一文了解Docker容器技术的操作

    一文了解Docker容器技术的操作 前言一.Docker是什么二.Docker的安装及测试Docker的安装Docker的Hello world测试三.Docker的常见操作镜像的基本操作容器的基本操 ...

  4. iOS - 多线程——GCD

    什么是GCD           Grand Central Dispatch(强大的调度器),是一个C语言API:           作用:多核并行运算的解决方案:  GCD中有2个核心概念    ...

  5. GPIO功能框图

    (1)保护二极管 引脚内部加上这两个保护二级管可以防止引脚外部过高或过低的电压输入, 当引脚电压高于 VDD_FT 或 VDD 时,上方的二极管导通吸收这个高电压,当引脚 电压低于 VSS 时,下方的 ...

  6. 使用PyQtGraph绘制数据滚动图形(4)

    app = pg.QtGui.QApplication([]) win = pg.GraphicsWindow(title="数据滚动") win.resize(600,300) ...

  7. Quartz SpringBoot 简单整合一下

    一次简单的代码整合记录. 数据库准备 如果是MySQL可能出现一些小问题.比如联合主键长度超限制,已经记录解决办法了. CREATE TABLE QRTZ_JOB_DETAILS ( SCHED_NA ...

  8. abp-CMS模块-广告

    无论是开发app还是网站,可能都需要一个广告功能,比如我们常见的在首页有个轮播广告,里面会轮播显示多个图片.还有比如一个新闻门户网站 很常见的 banner横幅广告,还有js特效广告等.本篇说说在ab ...

  9. 自己动手实现深度学习框架-8 RNN文本分类和文本生成模型

    代码仓库: https://github.com/brandonlyg/cute-dl 目标         上阶段cute-dl已经可以构建基础的RNN模型.但对文本相模型的支持不够友好, 这个阶段 ...

  10. 其他函数-web_get_int_property

    用于记录http响应的信息.这个函数在调试脚本的常用,但是在实际压力测试中请将这些注释 使用这个函数可以获取到的信息有: 1.HTTP_INFO_RETURN_CODE:返回HTTP响应码 2.HTT ...