電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1522|回復(fù): 0
收起左側(cè)

大學(xué)和嵌入式開發(fā)有關(guān)課程設(shè)計(jì)_RT-Thread社區(qū)上有哪些優(yōu)秀的軟件包?

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-7-23 12:07:17 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
大學(xué)和嵌入式開發(fā)有關(guān)課程設(shè)計(jì)_RT-Thread社區(qū)上有哪些優(yōu)秀的軟件包?,   

上一周我們開通了「軟件包大賞」欄目,第一期推薦的——LIBMODBUS軟件包(ps:點(diǎn)擊即可跳轉(zhuǎn)查看第一期)獲得了很多開發(fā)者的好評(píng),還有很多人留言表示libmodbus的代碼非常易懂,軟件包也非常好用他們很喜歡。在此,我們?yōu)閺V大開發(fā)者感謝一下libmodbus軟件包貢獻(xiàn)者——南京工程學(xué)院學(xué)生馬龍偉。也希望有余力者也可以積極的參與到軟件包貢獻(xiàn)中來(lái)。

本周,我們?yōu)榇蠹揖x的 SX12XX Lora芯片軟件包出自RT-Thread社區(qū)的老伙伴——樊曉杰之手,不久之后他還會(huì)推出下一版的軟件包哦~ 下面,就進(jìn)入正文吧:

RT-Thread新增の軟件包 / 2  

0130

軟件包貢獻(xiàn)者:樊曉杰

資深嵌入式工程師,RT-Thread 死忠粉

樊曉杰,RT-Thread 忠實(shí)粉絲,也是我們留言區(qū)的老面孔。搞嵌入式相關(guān)產(chǎn)品已有5年,目前從事IoT嵌入式設(shè)備信息安全相關(guān)開發(fā)工作。

在2014年時(shí)候,第一次聽說(shuō)了RT-Thread,當(dāng)時(shí)想利用業(yè)余時(shí)間DIY一個(gè)聯(lián)網(wǎng)的收音機(jī),在網(wǎng)絡(luò)上搜索相關(guān)信息,就加到了魔笛的那個(gè)網(wǎng)絡(luò)收音機(jī)的群里,嘗試著熟悉代碼,在stm32103上跑,但由于水平有限,當(dāng)時(shí)覺得入門的確有困難,然后就沒有下文了。

再一次聽說(shuō)RT-Thread是2017年,在北航的嵌入式專家何小慶老師舉辦的嵌入式聯(lián)誼會(huì)上。那年的聯(lián)誼會(huì)邀請(qǐng)到了慶科mico ,華為LiteOS,還有RT-Thread的大咖,共同探討IoT OS 的相關(guān)話題,我也是在那時(shí)候見到熊大真人,最后還向他咨詢了嵌入式AI相關(guān)の問題。也因?yàn)槟谴蔚臋C(jī)緣,開始持續(xù)關(guān)注RT-Thread 進(jìn)展,參見線下活動(dòng)、線上學(xué)習(xí)營(yíng)、做分享等,到現(xiàn)在成為忠實(shí)粉絲,成為開發(fā)者,積極貢獻(xiàn)代碼,想想也是緣分啊,挺有意思的。

在我眼里,RT-Thread 開源技術(shù)社區(qū),是一個(gè)真正可以提高開發(fā)者的水平的社區(qū),無(wú)論是源碼 ,還是開發(fā)文檔,都是絕好參考資料,都可以在反復(fù)的閱讀實(shí)踐中,有所收獲,有所提高。尤其是,這里聚集了國(guó)內(nèi)樂于分享的牛人,可以一起溝通交流?吹竭@么多厲害的榜樣,便也立志要和他們一樣,在技術(shù)領(lǐng)域深耕并成為在嵌入式系統(tǒng)研發(fā)領(lǐng)域的高手。(論壇地址:https://www.rt-thread.org/qa/forum.php)與此同時(shí),也愈發(fā)感覺學(xué)好、用好RT-Thread為它投入時(shí)間,值得!最后,再次感謝RT-Thread 團(tuán)隊(duì)為營(yíng)造這么好的開源技術(shù)社區(qū)所有的付出!你們就是我的榜樣!接下來(lái),就從應(yīng)用場(chǎng)景入手聊一聊這個(gè)軟件包吧

SX12XX Lora

  

圖片來(lái)源網(wǎng)絡(luò)

1、軟件包簡(jiǎn)介:

SX12XX 軟件包是基于 semtech 官網(wǎng) Firmware Drivers V2.1.0代碼庫(kù)的移植實(shí)現(xiàn),目前只支持 SX1278 LoRa設(shè)備。該軟件包在原代碼庫(kù)功能的基礎(chǔ)上,對(duì)接 RT-Thread SPI 設(shè)備驅(qū)動(dòng)框架,實(shí)現(xiàn)參數(shù)的配置和數(shù)據(jù)的讀取。

項(xiàng)目地址:http://packages.rt-thread.org/itemDetail.html?package=sx12xx(請(qǐng)復(fù)制至外部瀏覽器打開)

使用背景:

使用低功耗廣域網(wǎng) Lora 技術(shù)的場(chǎng)景越來(lái)越多,是物聯(lián)網(wǎng)時(shí)代不可或缺的無(wú)線傳輸技術(shù),功耗低,傳輸距離遠(yuǎn),組網(wǎng)方便,是它的顯著特點(diǎn)。使用這個(gè)軟件包,可以通過RT-Thread SPI設(shè)備驅(qū)動(dòng)框架將Semtech SX12XX 系列的 Lora 芯片快速驅(qū)動(dòng)起來(lái),后續(xù)可方便的驗(yàn)證兩個(gè)Lora 模塊的遠(yuǎn)通信距離及與Lora 網(wǎng)關(guān)之間的通信,也是這個(gè)軟件包下一個(gè)版本的目標(biāo)。

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ū)動(dòng):sx12xx 設(shè)備使用 SPI 進(jìn)行數(shù)據(jù)通訊,需要系統(tǒng) SPI 驅(qū)動(dòng)框架支持;

PIN 驅(qū)動(dòng):用于處理設(shè)備復(fù)位和中斷引腳;

2、獲取軟件包

使用 SX12XX 軟件包需要在 RT-Thread 的包管理中選中它,具體路徑如下:

1RT-Thread online packages2    peripheral libraries and drivers  --->3        sx12xx: Semtech LoRa RF chip driver library --->

進(jìn)入 sx12xx 軟件包的配置菜單按自己的需求進(jìn)行具體的配置

1sx12xx: Semtech LoRa RF chip driver library ---> 2        SX12XX device type(SX1278 LSD4RF-2F717N30)  ---> 3        SX12XX device configure  ---> 4            (spi10) SPI device name 5            (10)  Reset PIN number 6            (103) DO0 PIN number 7            (104) DO1 PIN number 8            (105) DO2 PIN number 9            (106) DO3 PIN number10            (107) DO4 PIN number11            (108) DO5 PIN number            12  [ ]   Enable sx12xx sample13        Version (latest)  --->

SX12XX device type :配置支持的設(shè)備類型(目前只支持 SX1278 利爾達(dá) LSD4RF-2F717N30 LoRa 模塊 )

SX12XX device configure :配置使用設(shè)備的參數(shù)

SPI device name:配置使用 SPI 的設(shè)備名稱(注意需設(shè)置為非 SPI 總線設(shè)備)

Reset PIN number:配置設(shè)備連接的復(fù)位引腳號(hào)(根據(jù)實(shí)際使用引腳號(hào)修改)

DO0~5 PIN number:配置設(shè)備連接的中斷引腳號(hào)(同上)

Enable sx12xx sample: 配置使用示例代碼

Version:軟件包版本選擇

3、使用 軟件包:

3.1 SX12XX 軟件包初始化函數(shù)如下所示:

1int sx12xx_init(void);

該函數(shù)不支持組件初始化,函數(shù)主要完成功能有,

設(shè)置 LoRa 調(diào)制模式 ;

設(shè)備配置和引腳初始化(配置 SPI 設(shè)備,配置復(fù)位和中斷引腳);

LoRa 參數(shù)配置和初始化(RFFrequency , Power, SignalBw, SpreadingFactor,ErrorCoding 等);

3.2 MSH 測(cè)試命令

如果開啟 sx12xx 軟件包示例程序,就會(huì)導(dǎo)出 sx12xx_test 命令到控制臺(tái)。設(shè)備上電初始化完成,在控制臺(tái)調(diào)用測(cè)試命令,將會(huì)打印如下所示:

1msh />sx12xx_test2sx12xx init succeed             ## 獲取設(shè)備句柄 ,初始化Lora 成功3version code of the chip is 12  ## chip code 信息4SX1278 Lora parameters are :    ## 如下為主要 Lora 設(shè)置參數(shù) 信息 5RFFrequency is 870000000        ## 頻率6RFPower is 14                   ## 發(fā)射功率7SignalBw is 9                   ## 信號(hào)帶寬8SpreadingFactor is 7            ## 擴(kuò)頻因子9sx12xx spi check ok!            ## SPI 測(cè)試完成

4、常見問題

SPI 設(shè)備初始化時(shí)找不到設(shè)備問題

1spi sample run failed! cant\“t find spi12 device!

出現(xiàn)上述問題,可能原因是 ENV 中配置 SX12XX 使用的 SPI 設(shè)備類型不正確,可以在添加 SX12XX 軟件包之前在 FinSH 中使用 list_device 查看當(dāng)前可用 SPI 設(shè)備名稱,如果 BSP 工程中沒有 SPI 設(shè)備或者只有 SPI 總線設(shè)備,需要手動(dòng)在驅(qū)動(dòng)中添加 SPI 設(shè)備,并正確配置 SX12XX 軟件包中使用的 SPI 設(shè)備名稱。

5、注意事項(xiàng)

獲取軟件包時(shí),需要注意正確配置使用的 SPI 設(shè)備名稱、復(fù)位引腳號(hào)和中斷引腳號(hào);

軟件包目前處于 beta 測(cè)試階段, 推薦在 menuconfig 選項(xiàng)中選擇 latest 版本

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表