大家好,今天分享一個開源框架RIL(Radio Interface Layer),嵌入式平臺的無線通信模塊管理框架。
簡介
RIL是一款專門為嵌入式平臺開發(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)絡連接 //...
審核編輯:湯梓紅
-
嵌入式
+關注
關注
5082文章
19104瀏覽量
304796 -
無線通信
+關注
關注
58文章
4564瀏覽量
143496 -
編譯器
+關注
關注
1文章
1623瀏覽量
49108
原文標題:一個嵌入式平臺的無線通信模塊管理框架
文章出處:【微信號:玩轉單片機與嵌入式,微信公眾號:玩轉單片機與嵌入式】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論