概述
隨著物聯(lián)網(wǎng)應(yīng)用的不斷發(fā)展,傳統(tǒng)的傳輸技術(shù)在各個物聯(lián)網(wǎng)行業(yè)應(yīng)用方面漸漸不能滿足我們的需求,傳統(tǒng)的局域網(wǎng)技術(shù),如2.4GHz的WiFi,藍牙、Zigbee等,以及傳統(tǒng)廣域網(wǎng)技術(shù)2G/3G/4G等無線技術(shù),不能同時兼顧遠距離和低功耗。直到在低功耗廣域網(wǎng)(Low Power Wide Area Network, LPWAN)技術(shù)出現(xiàn)后,能在保證更遠距離的通信傳輸?shù)耐瑫r,最大限度的降低功耗,節(jié)約傳輸成本。
本應(yīng)用使用ART-PI開發(fā)板,NUCLEO-L452開發(fā)板以及本人自制的擴展板,組成LORA采集端和接收轉(zhuǎn)發(fā)端,即使在條件惡略的環(huán)境下也能采集數(shù)據(jù)并通過LORA傳送接收并轉(zhuǎn)發(fā)至云平臺.
開發(fā)環(huán)境
硬件:ART-PI開發(fā)板 NUCLEO-L452開發(fā)板 LORA采集擴展板(安信可Ra-02,DHT11) LORA接收擴展板(安信可Ra-02,W5500,sp485)
RT-Thread版本:RT-Thread4.03(ART-PI開發(fā)板) RT-Thread4.02(NUCLEO-L452開發(fā)板)
開發(fā)工具及版本:RT-Thread Studio V2.0 STM32CuBeMx V6.1.0
RT-Thread使用情況概述
內(nèi)核部分:主要使用了線程管理 時鐘管理
組件部分:FinSH 控制臺,netdev 網(wǎng)卡,SAL 套接字抽象層,ulog 日志
軟件包部分:cjson webclient,pahomqtt,fal,wiznet,dhtxx
硬件框架
采集端:簡單的LORA模組,通過SPI跟板卡通信,以及一個可控LDO和AHT10和BH1750,以LDO控制AHT10和BH1750以達到低功耗的效果.
接收端:一個LORA模組,一個W5500芯片,SPI通信,以及一個SP485.
主要部分就是LORA模組以及W5500,本設(shè)計使用立創(chuàng)EDA設(shè)計,W5500參考自立創(chuàng)官方團隊.
軟件框架說明
ART-PI
NUCLEO-L452
軟件模塊說明
ART-PI(接收端),上電自動初始化LORA和W5500,等待W5500連接上網(wǎng)絡(luò),這里通過判斷網(wǎng)卡的狀態(tài),當(dāng)link_up 狀態(tài)后,開始連接mqtt服務(wù)器,就可以把LORA接受的數(shù)據(jù)通過MQTT發(fā)送至平臺.
NUCLEO-L452(采集端),上電初始化軟件IIC,直接采集同一總線下AHT10和BH1750的數(shù)據(jù),并通過LORA直接發(fā)送出去.(備注:因時間關(guān)系,采集端的低功耗并沒有做,年前估計沒時間完善了,以后有時間繼續(xù)完善)
演示效果
視頻展示:
比賽感悟
這次比賽又學(xué)到了不少東西,最主要的就是I2C總線設(shè)備和netdev 網(wǎng)卡,剛開始板載WIFI使用時無法使用W5500,因為默認網(wǎng)卡的原因,后來查詢RT-Thread 文檔中心,看看API和示例,輕松解決.還有就是使用I2C總線設(shè)備,剛開始一直想要使用硬件IIC和軟件包去驅(qū)動AHT10和BH1750,后來發(fā)現(xiàn)軟件IIC加PIN設(shè)備輕松解決,對著文檔中心的例子,輕松舉一反三出BH1750的程序.所以感覺RT-Thread的文檔是真的全乎,所有自己解決不了的東西文檔中心都有.但很遺憾的是這次由于出差的原因并沒能很完美的展現(xiàn)出來作品,其中ART-PI擴展板上的485并沒寫到程序中,IWIFI也沒應(yīng)用到(現(xiàn)在是以太網(wǎng)),采集端的低功耗也沒有做,年后一定把晚上出來!