《开源精选》是我们分享Github、Gitee等开源 区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的RIL是一款专门为嵌入式平台开发的无线通信模组(GSM/GPRS/CatM1/NB-Iot)管理软件。它与其它大型框架(例如Android RIL、Wince RIL)不同的是,它被设计成应用于资源受限物联 终端设备(单片机+无线模组的方案),并提供物联 通信所需的基本功能,包含 络注册、连接管理、短信收发及Socket通信。
基本特性
系统要求
为了使RIL能够正常运行,目标系统必须满足以下要求:
软件架构
环境准备
下面demo工程使用的平台及软硬件环境:
工程配置
下面视图展示了所有RIL子目录的内容,其中ril子文件夹包含ril服务相关功能,模组驱动,使用案例。demo用于ril演示工程。
ril│|───docs 使用文档|───demo 演示工程│ │───driver 驱动文件│ │───lib MCU外设库文件│ │───misc 常用功能库| |───os 操作系统相关| |───project 工程文件| └───user │ └─── samples 演示案例(TCP/UDP/HTTP/SMS)│ └─── tasks 系统任务└───ril │───build 工程文件,用于输出RIL库文件 │───case 内置组件(HTTP/TFTP/MQTT) │───modules 模组驱动文件(ec21,bg96,hl8518 ...) │───common 通用库文件 |───core ril内核服务相关 └───port RTOS相关移植接口
项目用到.h头文件
在使用时您应确保工程头文件路径含有以下目录:
项目用到.c源文件
一般而言,需要包含RIL的内核 c 文件、通用库文件、要使用的模组驱动文件以及可选的内置组件。
生成库文件
为了加快你所在的项目编译速度,可以预先将RIL源码包编译成库形式,ril/build目录提供了IAR及MDK库编译工程,进入工程之前需要先选择对应的目标平台(如Cotext-M4),然后点击build或者make按钮,这样就在ril/output目录下生成了对应的库文件。
启动RIL
一个无线模组连接服务器前需要先经过开机、检测SIM卡、频段及制式配置(如果有需要)、 络注册、建立PDP并激活等一系列复杂步骤, 大致流程图如下所示:
上面的流程读者只需要做一个大概的了解,这些过程已经由RIL内部的状态机自动完成,用户只需要按下面的步骤进行操作即可。
更多内容:https://gitee.com/moluo-tech/ril
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!