簡介
RIL(Radio Interface Layer)是一款專門為嵌入式平臺開發(fā)的無線通信模組(GSM/GPRS/CatM1/NB-Iot)管理軟件。
它與其它大型框架(例如Android RIL、Wince RIL)不同的是,它被設計成應用于資源受限物聯(lián)網(wǎng)終端設備(單片機+無線模組的方案),并提供物聯(lián)網(wǎng)通信所需的基本功能,包含網(wǎng)絡注冊、連接管理、短信收發(fā)及Socket通信。
目前已支持EC21、BG96、 HL8518等模組,相關的應用也在持續(xù)更新中。
基本特性
包含網(wǎng)絡注冊、連接、短信收發(fā)及Socket通信管理等基本功能。
模組驅動使用插件化方式管理,同一個系統(tǒng)中能夠掛載適配多個模組,并能夠動態(tài)選擇模組驅動程序。
通過簡單的修改就能夠適用于不同的RTOS平臺。
內(nèi)置多種情況下的異常處理機制,保證模組穩(wěn)定運行。
內(nèi)置常用組件,如帶斷點續(xù)傳功能的HTTP文件下載、TFTP傳輸、MQTT等。
系統(tǒng)要求
為了使RIL能夠正常運行,目標系統(tǒng)必須滿足以下要求:
ROM 資源:至少 13.5K Bytes(取決于掛載的模組個數(shù)及使用的組件)
RAM 資源:至少 1.2K Bytes(取決于socket創(chuàng)建數(shù)量)
RTOS及堆棧: RIL需要運行在兩個任務中,每個任務的堆棧至少 256 Bytes
編譯器:由于RIL使用了一些C99的特性(柔性數(shù)組、內(nèi)聯(lián)),所以編譯器需要開啟對C99的支持。對于IAR,它默認是打開的,而Keil MDK需要手動增加編譯選項(--c99 --gnu) 。
軟件架構
上圖,軟件架構。
開發(fā)指南
#include "ril.h" //.... //創(chuàng)建RIL任務 ril_init(&adt, &cfg); //初始化RIL ril_use_device("EC21"); //選擇模組型號 ril_open(); //打開設備 ril_netconn(true); //啟動網(wǎng)絡連接 //...
審核編輯:湯梓紅
-
嵌入式
+關注
關注
5052文章
18909瀏覽量
300715 -
無線通信
+關注
關注
58文章
4451瀏覽量
143275 -
RTOS
+關注
關注
21文章
807瀏覽量
119287 -
模組
+關注
關注
6文章
1390瀏覽量
30160 -
RIL
+關注
關注
0文章
2瀏覽量
5590
原文標題:一個嵌入式無線通信模組RIL
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論