一 概述
LoRa技術(shù)具有遠(yuǎn)距離、低功耗、多節(jié)點(diǎn)、低成本和抗干擾的特點(diǎn)。另一方面,LoRa低速率支持較小的數(shù)據(jù)傳輸。
服務(wù)器、終端(內(nèi)置LoRa模塊)、網(wǎng)關(guān)(或基站)、云四部分組成了LoRa網(wǎng)絡(luò)。如圖

Lora技術(shù)可用于很多場(chǎng)合,例如隧道通信、電網(wǎng)監(jiān)視、電表、水表、智能農(nóng)業(yè)、智能水利、智能交通、智能社區(qū)、環(huán)境監(jiān)視、工業(yè)自動(dòng)化測(cè)試、水產(chǎn)養(yǎng)殖等電表的數(shù)據(jù)收集等。
二 輪詢模式
輪詢的優(yōu)點(diǎn)在于其簡(jiǎn)單性和能夠同時(shí)檢查多個(gè)設(shè)備的能力。它不需要復(fù)雜的中斷設(shè)置和管理,因此更容易實(shí)現(xiàn)和維護(hù)。輪詢的主要缺點(diǎn)是它可能無(wú)法及時(shí)處理快速變化的事件或數(shù)據(jù),因?yàn)樗辉谳喸冎芷诘竭_(dá)時(shí)才檢查設(shè)備狀態(tài)。
因此,必須注意,如果數(shù)據(jù)與信號(hào)有相關(guān)的截止時(shí)間(deadlines),那么輪詢時(shí)間加上響應(yīng)時(shí)間必須始終小于這些截止時(shí)間。如果數(shù)據(jù)到達(dá)的速度快于輪詢時(shí)間,那么數(shù)據(jù)將會(huì)丟失。這在許多應(yīng)用中可能不是問(wèn)題,但在某些情況下可能是致命的。
相比之下,中斷處理可以立即響應(yīng)設(shè)備狀態(tài)的變化,因?yàn)樗怯稍O(shè)備本身觸發(fā)的。但是,中斷處理需要更復(fù)雜的設(shè)置和管理,包括中斷向量的配置、中斷服務(wù)例程的編寫和中斷優(yōu)先級(jí)的設(shè)置等。此外,如果多個(gè)設(shè)備同時(shí)觸發(fā)中斷,還需要處理中斷嵌套和優(yōu)先級(jí)的問(wèn)題。
因此,在選擇使用輪詢還是中斷處理時(shí),需要根據(jù)具體的應(yīng)用場(chǎng)景和需求進(jìn)行權(quán)衡。
輪詢模式:將網(wǎng)關(guān)設(shè)置為該模式后,連接到網(wǎng)絡(luò)的節(jié)點(diǎn)模塊將處于被動(dòng)狀態(tài)。此時(shí),網(wǎng)關(guān)將根據(jù)Web設(shè)置發(fā)出前導(dǎo)(前導(dǎo)期間與喚醒期間相同),喚醒網(wǎng)絡(luò)上的所有節(jié)點(diǎn)。將數(shù)據(jù)傳輸?shù)焦?jié)點(diǎn)發(fā)送數(shù)據(jù)后,當(dāng)網(wǎng)關(guān)收到來(lái)自模塊的數(shù)據(jù)響應(yīng)時(shí),會(huì)立即發(fā)送下一個(gè)數(shù)據(jù)。否則,在接收時(shí)間到期之前不發(fā)送下一個(gè)數(shù)據(jù)。
功能說(shuō)明:
1.在使用此模式之前,客戶必須設(shè)置與插座相關(guān)的參數(shù)。配置完成后,網(wǎng)關(guān)進(jìn)入監(jiān)視狀態(tài),節(jié)點(diǎn)連接到網(wǎng)絡(luò)。網(wǎng)關(guān)響應(yīng)網(wǎng)絡(luò)信息,保存節(jié)點(diǎn)信息。如果網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)目超過(guò)0或者數(shù)據(jù)庫(kù)能夠訪問(wèn)該網(wǎng)絡(luò),則該網(wǎng)關(guān)將基于設(shè)置的喚醒時(shí)間、輪詢時(shí)間和周期來(lái)輪詢喚醒數(shù)據(jù)并由用戶設(shè)置。
2.當(dāng)節(jié)點(diǎn)接收到數(shù)據(jù)時(shí),節(jié)點(diǎn)采取適當(dāng)?shù)牟僮鞑㈨憫?yīng)相關(guān)數(shù)據(jù)來(lái)完成數(shù)據(jù)交換,然后節(jié)點(diǎn)進(jìn)入睡眠狀態(tài),并且網(wǎng)關(guān)等待下一個(gè)周期中出現(xiàn)第二個(gè)喚醒數(shù)據(jù)。此模式最多可設(shè)置16個(gè)喚醒數(shù)據(jù)。一旦完成了對(duì)所有節(jié)點(diǎn)(存儲(chǔ)在數(shù)據(jù)庫(kù)中的網(wǎng)絡(luò)節(jié)點(diǎn))的喚醒數(shù)據(jù)的輪詢,第二個(gè)輪詢數(shù)據(jù)將被替換,并重復(fù)上述步驟直到下一個(gè)輪詢周期。完成后,在輪詢周期結(jié)束之前,將重新開(kāi)始輪詢,從數(shù)據(jù)庫(kù)中保存的第一個(gè)數(shù)據(jù)開(kāi)始啟動(dòng)。
輪詢數(shù)據(jù)設(shè)置:由已發(fā)布的條目數(shù)和輪詢數(shù)據(jù)組成,在被動(dòng)喚醒模式下啟用。
發(fā)布的條目數(shù):確定下一輪詢數(shù)據(jù)的數(shù)量。例如,如果發(fā)布的條目數(shù)為4,則僅輪詢數(shù)據(jù)1~4的數(shù)據(jù),最多對(duì)應(yīng)16個(gè)命令數(shù)據(jù),數(shù)據(jù)格式為“十六進(jìn)制”,因此請(qǐng)嚴(yán)格以數(shù)據(jù)格式填寫。
輪詢數(shù)據(jù):用戶必須輪詢發(fā)出的數(shù)據(jù)或命令?!笆M(jìn)制”輸入,最多64字節(jié)。請(qǐng)務(wù)必以十六進(jìn)制格式輸入。
三 使用場(chǎng)景
輪詢模式適合設(shè)備一直在線的情況下,就像是教室里老師挨個(gè)點(diǎn)名,學(xué)生挨個(gè)回答一樣,這樣子每個(gè)人都會(huì)在點(diǎn)名的時(shí)候進(jìn)行回答,不會(huì)沖突。
四 輪詢組件的使用
1 Gitee鏈接地址
Demo位于amaziot_bloom_os_sdkproductsam-lora-gatewaylora_gateway
Gitee源碼地址:https://gitee.com/ning./hongdou
Github源碼地址:https://github.com/ayumid/hongdou
編譯指令:.build.bat -l .amaziot_bloom_os_sdkproductsam-lora-gatewaylora_gateway
2 組件功能介紹
主機(jī)按照設(shè)置的間隔輪詢從機(jī),從機(jī)收到主機(jī)輪詢消息后再上報(bào)。
3 代碼講解
1 dtu_lora_call_task_init
功能:該函數(shù)用于,初始化輪詢?nèi)蝿?wù)。
參數(shù):無(wú)
返回值:無(wú)
示例:
dtu_lora_call_task_init();
2 dtu_lora_call_task
功能:該函數(shù)用于,輪詢主任務(wù)。
參數(shù):無(wú)
返回值:無(wú)
示例:
status = OSATaskCreate(&dtu_lora_call_msgq_task_ref, dtu_lora_call_task_stack, DTU_LORA_CALL_TASK_STACK_SIZE, 151, "dtu_lora_call_task", dtu_lora_call_task, NULL);
3 dtu_lora_call_interval_timer_stop
功能:該函數(shù)用于,定時(shí)器停止。
參數(shù):無(wú)
返回值:無(wú)
示例:
dtu_lora_call_task_init();
4 dtu_lora_call_interval_timer_start
功能:該函數(shù)用于,開(kāi)始輪詢定時(shí)器。
參數(shù):無(wú)
返回值:無(wú)
示例:
dtu_lora_call_interval_timer_start();
5 dtu_lora_call_interval_timer_init
功能:該函數(shù)用于,輪詢定時(shí)器初始化。
參數(shù):無(wú)
返回值:無(wú)
示例:
dtu_lora_call_task_init();
6 dtu_lora_call_interval_timer_callback
功能:該函數(shù)用于,輪詢定時(shí)器回調(diào)函數(shù)。
參數(shù):無(wú)
返回值:無(wú)
示例:
OSATimerStart(st_dtu_lora.lora_call_ref, dtu_file_ctx->lora.interval * 200, dtu_file_ctx->lora.interval * 200 , dtu_lora_call_interval_timer_callback, 0);
7 dtu_lora_call_task_send_msgq
功能:該函數(shù)用于,定時(shí)器超時(shí)給主任務(wù)發(fā)送消息,驅(qū)動(dòng)主任務(wù)通過(guò)lora模塊發(fā)送消息。
參數(shù):無(wú)
返回值:無(wú)
示例:
dtu_lora_call_task_send_msgq(&uart_send);
4 Demo實(shí)戰(zhàn)
參考開(kāi)源項(xiàng)目Lora網(wǎng)關(guān)
本文章源自奇跡物聯(lián)開(kāi)源的物聯(lián)網(wǎng)應(yīng)用知識(shí)庫(kù)Cellular IoT Wiki,更多技術(shù)干貨歡迎關(guān)注收藏Wiki:Cellular IoT Wiki 知識(shí)庫(kù)(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)
歡迎同學(xué)們走進(jìn)AmazIOT知識(shí)庫(kù)的世界!
這里是為物聯(lián)網(wǎng)人構(gòu)建的技術(shù)應(yīng)用百科,以便幫助你更快更簡(jiǎn)單的開(kāi)發(fā)物聯(lián)網(wǎng)產(chǎn)品。
Cellular IoT Wiki初心:
在我們長(zhǎng)期投身于蜂窩物聯(lián)網(wǎng) ODM/OEM 解決方案的實(shí)踐過(guò)程中,一直被物聯(lián)網(wǎng)技術(shù)碎片化與產(chǎn)業(yè)資源碎片化的問(wèn)題所困擾。從產(chǎn)品定義、芯片選型,到軟硬件研發(fā)和測(cè)試,物聯(lián)網(wǎng)技術(shù)的碎片化以及產(chǎn)業(yè)資源的碎片化,始終對(duì)團(tuán)隊(duì)的產(chǎn)品開(kāi)發(fā)交付質(zhì)量和效率形成制約。為了減少因物聯(lián)網(wǎng)碎片化而帶來(lái)的重復(fù)開(kāi)發(fā)工作,我們著手對(duì)物聯(lián)網(wǎng)開(kāi)發(fā)中高頻應(yīng)用的技術(shù)知識(shí)進(jìn)行沉淀管理,并基于 Bloom OS 搭建了不同平臺(tái)的 RTOS 應(yīng)用生態(tài)。后來(lái)我們發(fā)現(xiàn),很多物聯(lián)網(wǎng)產(chǎn)品開(kāi)發(fā)團(tuán)隊(duì)都面臨著相似的困擾,于是,我們決定向全體物聯(lián)網(wǎng)行業(yè)開(kāi)發(fā)者開(kāi)放奇跡物聯(lián)內(nèi)部沉淀的應(yīng)用技術(shù)知識(shí)庫(kù) Wiki,期望能為更多物聯(lián)網(wǎng)產(chǎn)品開(kāi)發(fā)者減輕一些重復(fù)造輪子的負(fù)擔(dān)。
Cellular IoT Wiki沉淀的技術(shù)內(nèi)容方向如下:

奇跡物聯(lián)的業(yè)務(wù)服務(wù)范圍:基于自研的NB-IoT、Cat1、Cat4等物聯(lián)網(wǎng)模組,為客戶物聯(lián)網(wǎng)ODM/OEM解決方案服務(wù)。我們的研發(fā)技術(shù)中心在石家莊,PCBA生產(chǎn)基地分布在深圳、石家莊、北京三個(gè)工廠,滿足不同區(qū)域&不同量產(chǎn)規(guī)模&不同產(chǎn)品開(kāi)發(fā)階段的生產(chǎn)制造任務(wù)。跟傳統(tǒng)PCBA工廠最大的區(qū)別是我們只服務(wù)物聯(lián)網(wǎng)行業(yè)客戶。
連接我們,和10000+物聯(lián)網(wǎng)開(kāi)發(fā)者一起降低技術(shù)和成本門檻
讓蜂窩物聯(lián)網(wǎng)應(yīng)用更簡(jiǎn)單~~
哈哈你終于滑到最重要的模塊了,
千萬(wàn)不!要!劃!走!忍住沖動(dòng)!~
歡迎加入飛書(shū)“開(kāi)源技術(shù)交流群”,隨時(shí)找到我們哦~
點(diǎn)擊鏈接如何加入奇跡物聯(lián)技術(shù)話題群(https://rckrv97mzx.feishu.cn/docx/Xskpd1cFQo7hu9x5EuicbsjTnTf)可以獲取加入技術(shù)話題群攻略
Hey 物聯(lián)網(wǎng)從業(yè)者,
你是否有了解過(guò)奇跡物聯(lián)的官方公眾號(hào)“eSIM物聯(lián)工場(chǎng)”呢?
這里是奇跡物聯(lián)的物聯(lián)網(wǎng)應(yīng)用技術(shù)開(kāi)源wiki主陣地,歡迎關(guān)注公眾號(hào),不迷路~
及時(shí)獲得最新物聯(lián)網(wǎng)應(yīng)用技術(shù)沉淀發(fā)布
審核編輯 黃宇
-
數(shù)據(jù)傳輸
+關(guān)注
關(guān)注
9文章
2071瀏覽量
67159 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2939文章
47276瀏覽量
407169 -
組網(wǎng)
+關(guān)注
關(guān)注
1文章
419瀏覽量
23267 -
LoRa
+關(guān)注
關(guān)注
354文章
1849瀏覽量
237142
發(fā)布評(píng)論請(qǐng)先 登錄
Lora技術(shù)應(yīng)用領(lǐng)域
lora通信技術(shù)的特點(diǎn)
RF無(wú)線射頻通信設(shè)備在工業(yè)物聯(lián)網(wǎng)中的應(yīng)用與選型指南
LORA無(wú)線通信模塊怎么組網(wǎng)
學(xué)習(xí)物聯(lián)網(wǎng)可以做什么工作?
基于LoRa的智能窗簾控制系統(tǒng)物聯(lián)網(wǎng)解決方案
物聯(lián)網(wǎng)藍(lán)牙模塊有哪些優(yōu)勢(shì)?
LoRa6100Pro-mini 1W 串口Lora無(wú)線組網(wǎng)模塊V1
物聯(lián)網(wǎng)的應(yīng)用范圍有哪些?
物聯(lián)網(wǎng)未來(lái)發(fā)展趨勢(shì)如何?
LORA無(wú)線溫度采集模塊:擴(kuò)頻通訊+自組網(wǎng)
LoRa模塊通信距離優(yōu)化:如何實(shí)現(xiàn)低功耗覆蓋30公里無(wú)線傳輸要求
道生物聯(lián)公司介紹及TurMass?物聯(lián)網(wǎng)通信技術(shù)介紹
智慧農(nóng)業(yè)LoRa遠(yuǎn)程監(jiān)控物聯(lián)網(wǎng)解決方案

物聯(lián)網(wǎng)系統(tǒng)中Lora組網(wǎng)中的輪詢模式實(shí)現(xiàn)
評(píng)論