STM32 + 4G 模块 PPP 拨号上网,体验不错

2019-12-10 18:16发布

本帖最后由 xiangxistu 于 2019-9-27 15:06 编辑

PPP 拨号上网是一种有别于解析 AT 命令实现联网的一种新的联网方式。

最近看在折腾 4G 模块 Air720,网上一查,发现在RT-Thread已经实现了它的适配,项目地址是:packages.rt-thread.org/itemDetail.html?package=ppp_device (复制到浏览器打开)
TIM截图20190927150546.jpg (230.46 KB, 下载次数: 0) 下载附件 2019-9-27 15:05 上传

整体用下来资源占用还是不错的,速度比直接使用 AT 命令透传上网快多了,跟大家简单分享下:

-----------------------------------------------------

PPP 实现的原理,还有应用场景

1. PPP 连接的五个阶段

1.1 PPP链路建立准备阶段
使RF射频模块接入指定的APN,并且配置PDP上下文,并拨号;接入无线信号
物理连接,UART<->UART ETH<->ETH USB<->USB;准备进行初始化,并准备发送LCP数据包
1.2 链路建立阶段
  LCP控制连接,LCP协议相互交换配置数据建立连接,一旦一个配置成功信息包(Configure-Ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。
  此阶段之前,所有的非LCP数据包都将被丢弃。而重复接收LCP配置数据包将忽略当前状态,直接返回到链路建立阶段;
1.3 认证阶段
认证不缺省的话,认证是不可缺少的分为PAP方式和CHAP方式。
1.4 网络层协议阶段
  此阶段确认网络协议,每一个网络层协议(例如IP协议、IPX协议、Appletalk)必须单独由相应的NCP配置。
1.5 链路终止阶段
  PPP连接可以随时终止,原因可能是载波丢失、认证失败、连接质量失败、超时计数器溢出,或者网络管理员关闭连接。
  LCP通过交换连接终止包来终止连接。

所以在实现 PPP 连接方便需要借助 lwIP 里 ppp 相关协议的帮助,来实现链路的创建和连接。以及监控链路状态,设置链路状态回调函数,数据的收发。

2. 对于想使用 PPP 方式连接网络的需求,是针对满足 PPP 协议的 GPRS 模块。

由于GPRS 模块都会支持 AT 命令,所以使模块进入 PPP 模式 这段过程仍然需要少量 AT 命令的帮助,这些 AT 命令的作用一般是:
+++ 从数据模式退出进入命令模式 ATH 挂断拨号 AT 测试命令 ATE0 关闭回显 ATD*99# 拨号命令 AT+CGDCONT=1,"IP","CMNET" ISP 的接入点名称,主要指 "CMNET"的更改
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。