PPP_DEVICE | 为 GSM 模块提供新的连网方式

2020/05/30 16:52
阅读数 729

 1 . 背 景

PPP (Piont to Piont Protocl) 是一种点对点传输协议,PPP 协议为传输多协议数据包提供了一个标准方法,为两个对等节点之间提供 IP 流量传输的功能,广泛使用于接入Internet 网络的场景下,例如 GSM 模块拨号上网。

下面是 PPP 协议连接的大致流程图,主要分为如下五个步骤: 准备 - > 建立 - > 认证 - > 网络 - > 终止


目前,市场上的 GSM 模块基本都是支持 AT 命令方式和 PPP 方式实现网络连接;相比于 AT 命令联网方式, PPP 协议连接方式使用更加简单,并且数据传输更加稳定,因此 RT-Thead 推出 PPP_DEVICE 软件包用于 PPP 协议拨号上网。


2. 为什么选用 PPP 方式

PPP 与 AT 都使用通用串口传输数据,下面是 AT 模式与 PPP 模式的比较:


AT 命令方式 PPP 方式
差错检测 不支持 支持
链路检测 不支持 支持
流量控制 不支持 支持
数据压缩 不支持 支持
网络模式支持 客户端 客户端 / 服务器
BSD Socket 支持 支持 支持
AT 命令解析 较复杂 简单 / 较少
模块移植性 较复杂 简单
模块类型支持 GSM / WIFI 模块 GSM 模块
资源占用 正常 较大

3. PPP_DEVICE 软件包介

PPP_DEVICE 是一款为 GSM 模块实现联网功能而制作的软件包,它使 GSM 模块不再需要解析 AT 命令实现网络通讯,也可以使用 PPP 方式实现网络数据传输。

3.1 框架图

  • 软件包对上依赖 lwIP 协议栈,并且已经对接 netdev 和 SAL 等网络框架,该软件包是 lwIP PPP 协议针对不同设备的移植实现;
  • 软件包对下直接对接 GSM 模块,现已支持 Air720、M6312、SIM800 ;


3.2 功能特点

  • 秀的网络稳定性
  • PPP 协议拥有差错检测机制,可以检测数据帧的完整性并丢弃差错帧,缓解对网络资源的占用
  • PPP 协议拥有链路检测机制,检测链路的正常,实时报告链路异常状态
  • PPP 协议可以经过协商压缩 PPP 帧数据,缓解网络压力
  • 支持多种 GSM 模块
  • 现已经支持 Luat Air720,China Moblie M6312,SIMCOM SIM800 模块
  • 后续还将支持更多 GSM 模块,例如 Quectel EC20,SIMCOM SIM7600 等
  • 针对模块移植简单
  • 提供 CHAT 方式拨号入网,移植时只需少量 AT 命令配置即可完成 PPP 拨号上网

  • 无缝兼容上层网络功能
  • PPP_DEVICE 实现对接了 netdev 框架,支持经常使用的 ifconfig、ping、netstat 调试功能
  • 无缝兼容 RT-Thread 大部分网络功能和软件包,例如 Iperf、MQTT,HTTP,ONENET 等

4. 相关资料

  • 使用 PPP_DEVICE 软件包需要在 ENV 工具中配置,具体路径为

RT-Thread online packagesIoT - internet of things →  PPP DEVICE: lwIP PPP porting for GSM modem(like sim800)

  • PPP_DEVICE 软件包地址:
    https://github.com/RT-Thread-packages/ppp_device.git
  • PPP_DEVICE 介绍文档地址:
    https://github.com/RT-Thread-packages/ppp_device/blob/master/README.md
  • PPP_DEVICE 发布帖:
    https://www.rt-thread.org/qa/thread-421996-1-1.html


以上链接请复制至外部浏览器打开


  • PPP_DEVICE 软件包交流讨论 QQ 群,群号 <749347156> ,欢迎加群讨论


5.致谢

感谢网友 @xfan1024 的贡献及建议,在制作PPP DEVICE 时给与的帮助,提出了很多宝贵的意见,也提供了代码来一同完善PPP DEVICE 软件包。


END


RT-Thread线上活动


1、RT-Thread软件包应用开发赛】本次大赛的唯一要求就是在作品中使用RT-Thread及软件包开发相关应用,不限定硬件平台,自备硬件,代码和文档开源。共设18名奖励,一等奖还可获得价值3499元的RoboMaster S1一台!报名参赛请先仔细阅读以下参赛须知(点击即可跳转):

重磅!参加RT-Thread软件包应用开发赛,赢RoboMaster S1!

立即报名


2、RT-Thread能力认证考前线上培训,将于2019年10月21号正式开始,如果您有晋升、求职、寻找更好机会的需要,有深入学习和掌握RT-Thread的需求,请尽快垂询/报考!学生优惠价:168/人 


学生专属报名通道


能力认证官网链接:https://www.rt-thread.org/page/rac.html(在外部浏览器打开)


立即报名(非学生)



#题外话# 喜欢RT-Thread不要忘了在GitHub上留下你的STAR哦,你的star对我们来说非常重要!链接地址:https://github.com/RT-Thread/rt-thread


你可以添加微信17775983565为好友,注明:公司+姓名,拉进 RT-Thread 官方微信交流群

RT-Thread


让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。Apache2.0协议,可免费在商业产品中使用,不需要公布源码,无潜在商业风险。

长按二维码,关注我们


点击“阅读原文”进入RT-Thread官网

本文分享自微信公众号 - RTThread物联网操作系统(RTThread)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部