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) 。
软件架构
软件架构图
开发指南
#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”,或扫描下方二维码进行关注,更多干货等着你 !