上一周我們開通了「軟件包大賞」欄目,第一期推薦的——LIBMODBUS軟件包(ps:點擊即可跳轉(zhuǎn)查看第一期)獲得了很多開發(fā)者的好評,還有很多人留言表示libmodbus的代碼非常易懂,軟件包也非常好用他們很喜歡。在此,我們?yōu)閺V大開發(fā)者感謝一下libmodbus軟件包貢獻者——南京工程學(xué)院學(xué)生馬龍偉。也希望有余力者也可以積極的參與到軟件包貢獻中來。
本周,我們?yōu)榇蠹揖x的SX12XX Lora芯片軟件包出自RT-Thread社區(qū)的老伙伴——樊曉杰之手,不久之后他還會推出下一版的軟件包哦~ 下面,就進入正文吧:
RT-Thread新增の軟件包 / 2
0130
軟件包貢獻者:樊曉杰
樊曉杰,RT-Thread 忠實粉絲,也是我們留言區(qū)的老面孔。搞嵌入式相關(guān)產(chǎn)品已有5年,目前從事IoT嵌入式設(shè)備信息安全相關(guān)開發(fā)工作。
在2014年時候,第一次聽說了RT-Thread,當時想利用業(yè)余時間DIY一個聯(lián)網(wǎng)的收音機,在網(wǎng)絡(luò)上搜索相關(guān)信息,就加到了魔笛的那個網(wǎng)絡(luò)收音機的群里,嘗試著熟悉代碼,在stm32103上跑,但由于水平有限,當時覺得入門的確有困難,然后就沒有下文了。
再一次聽說RT-Thread是2017年,在北航的嵌入式專家何小慶老師舉辦的嵌入式聯(lián)誼會上。那年的聯(lián)誼會邀請到了慶科mico ,華為LiteOS,還有RT-Thread的大咖,共同探討IoT OS 的相關(guān)話題,我也是在那時候見到熊大真人,最后還向他咨詢了嵌入式AI相關(guān)の問題。也因為那次的機緣,開始持續(xù)關(guān)注RT-Thread 進展,參見線下活動、線上學(xué)習(xí)營、做分享等,到現(xiàn)在成為忠實粉絲,成為開發(fā)者,積極貢獻代碼,想想也是緣分啊,挺有意思的。
在我眼里,RT-Thread 開源技術(shù)社區(qū),是一個真正可以提高開發(fā)者的水平的社區(qū),無論是源碼 ,還是開發(fā)文檔,都是絕好參考資料,都可以在反復(fù)的閱讀實踐中,有所收獲,有所提高。尤其是,這里聚集了國內(nèi)樂于分享的牛人,可以一起溝通交流。看到這么多厲害的榜樣,便也立志要和他們一樣,在技術(shù)領(lǐng)域深耕并成為在嵌入式系統(tǒng)研發(fā)領(lǐng)域的高手。(★論壇地址:https://www.rt-thread.org/qa/forum.php)與此同時,也愈發(fā)感覺學(xué)好、用好RT-Thread為它投入時間,值得!最后,再次感謝RT-Thread 團隊為營造這么好的開源技術(shù)社區(qū)所有的付出!你們就是我的榜樣!接下來,就從應(yīng)用場景入手聊一聊這個軟件包吧
SX12XX Lora
圖片來源網(wǎng)絡(luò)
1、軟件包簡介:
SX12XX 軟件包是基于 semtech 官網(wǎng)Firmware Drivers V2.1.0代碼庫的移植實現(xiàn),目前只支持 SX1278 LoRa設(shè)備。該軟件包在原代碼庫功能的基礎(chǔ)上,對接 RT-Thread SPI 設(shè)備驅(qū)動框架,實現(xiàn)參數(shù)的配置和數(shù)據(jù)的讀取。
項目地址:http://packages.rt-thread.org/itemDetail.html?package=sx12xx(請復(fù)制至外部瀏覽器打開)
使用背景:
使用低功耗廣域網(wǎng) Lora 技術(shù)的場景越來越多,是物聯(lián)網(wǎng)時代不可或缺的無線傳輸技術(shù),功耗低,傳輸距離遠,組網(wǎng)方便,是它的顯著特點。使用這個軟件包,可以通過RT-Thread SPI設(shè)備驅(qū)動框架將Semtech SX12XX 系列的 Lora 芯片快速驅(qū)動起來,后續(xù)可方便的驗證兩個Lora 模塊的遠通信距離及與Lora 網(wǎng)關(guān)之間的通信,也是這個軟件包下一個版本的目標。
1.1 目錄結(jié)構(gòu):
SX12XX 軟件包目錄結(jié)構(gòu)如下所示:
1.2許可證:
SX12XX 軟件包遵循 Apache-2.0 許可,詳見 LICENSE 文件。
1.3依賴:
RT-Thread 3.1.1+
SPI 驅(qū)動:sx12xx 設(shè)備使用 SPI 進行數(shù)據(jù)通訊,需要系統(tǒng) SPI 驅(qū)動框架支持;
PIN 驅(qū)動:用于處理設(shè)備復(fù)位和中斷引腳;
2、獲取軟件包
使用 SX12XX 軟件包需要在 RT-Thread 的包管理中選中它,具體路徑如下:
1RT-Threadonlinepackages2peripherallibrariesanddrivers--->3sx12xx:SemtechLoRaRFchipdriverlibrary--->
進入 sx12xx 軟件包的配置菜單按自己的需求進行具體的配置
1sx12xx:SemtechLoRaRFchipdriverlibrary---> 2SX12XXdevicetype(SX1278LSD4RF-2F717N30)---> 3SX12XXdeviceconfigure---> 4(spi10)SPIdevicename 5(10)ResetPINnumber 6(103)DO0PINnumber 7(104)DO1PINnumber 8(105)DO2PINnumber 9(106)DO3PINnumber10(107)DO4PINnumber11(108)DO5PINnumber12[]Enablesx12xxsample13Version(latest)--->
SX12XX device type:配置支持的設(shè)備類型(目前只支持 SX1278 利爾達 LSD4RF-2F717N30 LoRa 模塊 )
SX12XX device configure:配置使用設(shè)備的參數(shù)
SPI device name:配置使用 SPI 的設(shè)備名稱(注意需設(shè)置為非 SPI 總線設(shè)備)
Reset PIN number:配置設(shè)備連接的復(fù)位引腳號(根據(jù)實際使用引腳號修改)
DO0~5 PIN number:配置設(shè)備連接的中斷引腳號(同上)
Enable sx12xx sample: 配置使用示例代碼
Version:軟件包版本選擇
3、使用 軟件包:
3.1 SX12XX 軟件包初始化函數(shù)如下所示:
1intsx12xx_init(void);
該函數(shù)不支持組件初始化,函數(shù)主要完成功能有,
設(shè)置 LoRa 調(diào)制模式 ;
設(shè)備配置和引腳初始化(配置 SPI 設(shè)備,配置復(fù)位和中斷引腳);
LoRa 參數(shù)配置和初始化(RFFrequency , Power, SignalBw, SpreadingFactor,ErrorCoding 等);
3.2 MSH 測試命令
如果開啟 sx12xx 軟件包示例程序,就會導(dǎo)出 sx12xx_test 命令到控制臺。設(shè)備上電初始化完成,在控制臺調(diào)用測試命令,將會打印如下所示:
1msh/>sx12xx_test2sx12xxinitsucceed##獲取設(shè)備句柄,初始化Lora成功3versioncodeofthechipis12##chipcode信息4SX1278Loraparametersare:##如下為主要Lora設(shè)置參數(shù)信息5RFFrequencyis870000000##頻率6RFPoweris14##發(fā)射功率7SignalBwis9##信號帶寬8SpreadingFactoris7##擴頻因子9sx12xxspicheckok!##SPI測試完成
4、常見問題
SPI 設(shè)備初始化時找不到設(shè)備問題
1spisamplerunfailed!cant'tfindspi12device!
出現(xiàn)上述問題,可能原因是 ENV 中配置 SX12XX 使用的 SPI 設(shè)備類型不正確,可以在添加 SX12XX 軟件包之前在 FinSH 中使用list_device查看當前可用 SPI 設(shè)備名稱,如果 BSP 工程中沒有 SPI 設(shè)備或者只有 SPI 總線設(shè)備,需要手動在驅(qū)動中添加 SPI 設(shè)備,并正確配置 SX12XX 軟件包中使用的 SPI 設(shè)備名稱。
5、注意事項
獲取軟件包時,需要注意正確配置使用的 SPI 設(shè)備名稱、復(fù)位引腳號和中斷引腳號;
軟件包目前處于beta測試階段, 推薦在 menuconfig 選項中選擇latest版本
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3570瀏覽量
129251 -
軟件包
+關(guān)注
關(guān)注
0文章
102瀏覽量
11586 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1274瀏覽量
39941
原文標題:軟件包大賞第2期| SX12XX Lora芯片軟件包
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論