良许Linux教程网 干货合集 一个嵌入式平台的无线通信模块管理框架

一个嵌入式平台的无线通信模块管理框架

RIL(无线通信接口层)

简介

RIL是一种专为嵌入式平台开发的软件,用于管理无线通信模块(如GSM/GPRS/CatM1/NB-IoT)。

相对于其他大型框架(如Android RIL、Wince RIL),RIL的设计目标是用于资源受限的物联网终端设备(采用单片机+无线模块的解决方案),并提供物联网通信所需的基本功能,包括网络注册、连接管理、短信收发和Socket通信。

目前,RIL已支持EC21、BG96、HL8518等多种模块,并且相关的应用程序也在持续更新中。

基本特性

  • 提供网络注册、连接、短信收发和Socket通信等基本功能。
  • 模块驱动采用插件化管理,同一系统可以支持多个模块,并能够动态选择模块驱动程序。
  • 可以通过简单的修改适用于不同的RTOS平台。
  • 内置多种异常处理机制,保证模块的稳定运行。
  • 内置常用组件,如具有断点续传功能的HTTP文件下载、TFTP传输、MQTT等。

系统要求

为了使RIL能够正常运行,目标系统必须满足以下要求:

  • ROM 资源:至少 13.5K Bytes(取决于挂载的模组个数及使用的组件)
  • RAM 资源:至少 1.2K Bytes(取决于socket创建数量)
  • RTOS及堆栈: RIL需要运行在两个任务中,每个任务的堆栈至少 256 Bytes
  • 编译器:由于RIL使用了一些C99的特性(柔性数组、内联),所以编译器需要开启对C99的支持。对于IAR,它默认是打开的,而Keil MDK需要手动增加编译选项(–c99 –gnu) 。

软件架构

image-20240113195207917
image-20240113195207917

软件架构图

开发指南

#include "ril.h"
//....
//创建RIL任务

ril_init(&adt, &cfg);     //初始化RIL

ril_use_device("EC21");   //选择模组型号

ril_open();               //打开设备

ril_netconn(true);        //启动网络连接
//...

更多详细的使用说明,请参考:

 

http://moluo-tech.gitee.io/ril/#/

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部