一 概述
LoRa技術(shù)具有遠(yuǎn)距離、低功耗、多節(jié)點、低成本和抗干擾的特點。另一方面,LoRa低速率支持較小的數(shù)據(jù)傳輸。
服務(wù)器、終端(內(nèi)置LoRa模塊)、網(wǎng)關(guān)(或基站)、云四部分組成了LoRa網(wǎng)絡(luò)。如圖
Lora技術(shù)可用于很多場合,例如隧道通信、電網(wǎng)監(jiān)視、電表、水表、智能農(nóng)業(yè)、智能水利、智能交通、智能社區(qū)、環(huán)境監(jiān)視、工業(yè)自動化測試、水產(chǎn)養(yǎng)殖等電表的數(shù)據(jù)收集等。
二 輪詢模式
輪詢的優(yōu)點在于其簡單性和能夠同時檢查多個設(shè)備的能力。它不需要復(fù)雜的中斷設(shè)置和管理,因此更容易實現(xiàn)和維護。輪詢的主要缺點是它可能無法及時處理快速變化的事件或數(shù)據(jù),因為它只在輪詢周期到達(dá)時才檢查設(shè)備狀態(tài)。
因此,必須注意,如果數(shù)據(jù)與信號有相關(guān)的截止時間(deadlines),那么輪詢時間加上響應(yīng)時間必須始終小于這些截止時間。如果數(shù)據(jù)到達(dá)的速度快于輪詢時間,那么數(shù)據(jù)將會丟失。這在許多應(yīng)用中可能不是問題,但在某些情況下可能是致命的。
相比之下,中斷處理可以立即響應(yīng)設(shè)備狀態(tài)的變化,因為它是由設(shè)備本身觸發(fā)的。但是,中斷處理需要更復(fù)雜的設(shè)置和管理,包括中斷向量的配置、中斷服務(wù)例程的編寫和中斷優(yōu)先級的設(shè)置等。此外,如果多個設(shè)備同時觸發(fā)中斷,還需要處理中斷嵌套和優(yōu)先級的問題。
因此,在選擇使用輪詢還是中斷處理時,需要根據(jù)具體的應(yīng)用場景和需求進行權(quán)衡。
輪詢模式:將網(wǎng)關(guān)設(shè)置為該模式后,連接到網(wǎng)絡(luò)的節(jié)點模塊將處于被動狀態(tài)。此時,網(wǎng)關(guān)將根據(jù)Web設(shè)置發(fā)出前導(dǎo)(前導(dǎo)期間與喚醒期間相同),喚醒網(wǎng)絡(luò)上的所有節(jié)點。將數(shù)據(jù)傳輸?shù)焦?jié)點發(fā)送數(shù)據(jù)后,當(dāng)網(wǎng)關(guān)收到來自模塊的數(shù)據(jù)響應(yīng)時,會立即發(fā)送下一個數(shù)據(jù)。否則,在接收時間到期之前不發(fā)送下一個數(shù)據(jù)。
功能說明:
1.在使用此模式之前,客戶必須設(shè)置與插座相關(guān)的參數(shù)。配置完成后,網(wǎng)關(guān)進入監(jiān)視狀態(tài),節(jié)點連接到網(wǎng)絡(luò)。網(wǎng)關(guān)響應(yīng)網(wǎng)絡(luò)信息,保存節(jié)點信息。如果網(wǎng)絡(luò)節(jié)點的數(shù)目超過0或者數(shù)據(jù)庫能夠訪問該網(wǎng)絡(luò),則該網(wǎng)關(guān)將基于設(shè)置的喚醒時間、輪詢時間和周期來輪詢喚醒數(shù)據(jù)并由用戶設(shè)置。
2.當(dāng)節(jié)點接收到數(shù)據(jù)時,節(jié)點采取適當(dāng)?shù)牟僮鞑㈨憫?yīng)相關(guān)數(shù)據(jù)來完成數(shù)據(jù)交換,然后節(jié)點進入睡眠狀態(tài),并且網(wǎng)關(guān)等待下一個周期中出現(xiàn)第二個喚醒數(shù)據(jù)。此模式最多可設(shè)置16個喚醒數(shù)據(jù)。一旦完成了對所有節(jié)點(存儲在數(shù)據(jù)庫中的網(wǎng)絡(luò)節(jié)點)的喚醒數(shù)據(jù)的輪詢,第二個輪詢數(shù)據(jù)將被替換,并重復(fù)上述步驟直到下一個輪詢周期。完成后,在輪詢周期結(jié)束之前,將重新開始輪詢,從數(shù)據(jù)庫中保存的第一個數(shù)據(jù)開始啟動。
輪詢數(shù)據(jù)設(shè)置:由已發(fā)布的條目數(shù)和輪詢數(shù)據(jù)組成,在被動喚醒模式下啟用。
發(fā)布的條目數(shù):確定下一輪詢數(shù)據(jù)的數(shù)量。例如,如果發(fā)布的條目數(shù)為4,則僅輪詢數(shù)據(jù)1~4的數(shù)據(jù),最多對應(yīng)16個命令數(shù)據(jù),數(shù)據(jù)格式為“十六進制”,因此請嚴(yán)格以數(shù)據(jù)格式填寫。
輪詢數(shù)據(jù):用戶必須輪詢發(fā)出的數(shù)據(jù)或命令?!笆M制”輸入,最多64字節(jié)。請務(wù)必以十六進制格式輸入。
三 使用場景
輪詢模式適合設(shè)備一直在線的情況下,就像是教室里老師挨個點名,學(xué)生挨個回答一樣,這樣子每個人都會在點名的時候進行回答,不會沖突。
四 輪詢組件的使用
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 組件功能介紹
主機按照設(shè)置的間隔輪詢從機,從機收到主機輪詢消息后再上報。
3 代碼講解
1 dtu_lora_call_task_init
功能:該函數(shù)用于,初始化輪詢?nèi)蝿?wù)。
參數(shù):無
返回值:無
示例:
dtu_lora_call_task_init();
2 dtu_lora_call_task
功能:該函數(shù)用于,輪詢主任務(wù)。
參數(shù):無
返回值:無
示例:
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ù):無
返回值:無
示例:
dtu_lora_call_task_init();
4 dtu_lora_call_interval_timer_start
功能:該函數(shù)用于,開始輪詢定時器。
參數(shù):無
返回值:無
示例:
dtu_lora_call_interval_timer_start();
5 dtu_lora_call_interval_timer_init
功能:該函數(shù)用于,輪詢定時器初始化。
參數(shù):無
返回值:無
示例:
dtu_lora_call_task_init();
6 dtu_lora_call_interval_timer_callback
功能:該函數(shù)用于,輪詢定時器回調(diào)函數(shù)。
參數(shù):無
返回值:無
示例:
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ù)用于,定時器超時給主任務(wù)發(fā)送消息,驅(qū)動主任務(wù)通過lora模塊發(fā)送消息。
參數(shù):無
返回值:無
示例:
dtu_lora_call_task_send_msgq(&uart_send);
4 Demo實戰(zhàn)
參考開源項目Lora網(wǎng)關(guān)
本文章源自奇跡物聯(lián)開源的物聯(lián)網(wǎng)應(yīng)用知識庫Cellular IoT Wiki,更多技術(shù)干貨歡迎關(guān)注收藏Wiki:Cellular IoT Wiki 知識庫(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)
歡迎同學(xué)們走進AmazIOT知識庫的世界!
這里是為物聯(lián)網(wǎng)人構(gòu)建的技術(shù)應(yīng)用百科,以便幫助你更快更簡單的開發(fā)物聯(lián)網(wǎng)產(chǎn)品。
Cellular IoT Wiki初心:
在我們長期投身于蜂窩物聯(lián)網(wǎng) ODM/OEM 解決方案的實踐過程中,一直被物聯(lián)網(wǎng)技術(shù)碎片化與產(chǎn)業(yè)資源碎片化的問題所困擾。從產(chǎn)品定義、芯片選型,到軟硬件研發(fā)和測試,物聯(lián)網(wǎng)技術(shù)的碎片化以及產(chǎn)業(yè)資源的碎片化,始終對團隊的產(chǎn)品開發(fā)交付質(zhì)量和效率形成制約。為了減少因物聯(lián)網(wǎng)碎片化而帶來的重復(fù)開發(fā)工作,我們著手對物聯(lián)網(wǎng)開發(fā)中高頻應(yīng)用的技術(shù)知識進行沉淀管理,并基于 Bloom OS 搭建了不同平臺的 RTOS 應(yīng)用生態(tài)。后來我們發(fā)現(xiàn),很多物聯(lián)網(wǎng)產(chǎn)品開發(fā)團隊都面臨著相似的困擾,于是,我們決定向全體物聯(lián)網(wǎng)行業(yè)開發(fā)者開放奇跡物聯(lián)內(nèi)部沉淀的應(yīng)用技術(shù)知識庫 Wiki,期望能為更多物聯(lián)網(wǎng)產(chǎn)品開發(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)基地分布在深圳、石家莊、北京三個工廠,滿足不同區(qū)域&不同量產(chǎn)規(guī)模&不同產(chǎn)品開發(fā)階段的生產(chǎn)制造任務(wù)。跟傳統(tǒng)PCBA工廠最大的區(qū)別是我們只服務(wù)物聯(lián)網(wǎng)行業(yè)客戶。
連接我們,和10000+物聯(lián)網(wǎng)開發(fā)者一起降低技術(shù)和成本門檻
讓蜂窩物聯(lián)網(wǎng)應(yīng)用更簡單~~
哈哈你終于滑到最重要的模塊了,
千萬不!要!劃!走!忍住沖動!~
歡迎加入飛書“開源技術(shù)交流群”,隨時找到我們哦~
點擊鏈接如何加入奇跡物聯(lián)技術(shù)話題群(https://rckrv97mzx.feishu.cn/docx/Xskpd1cFQo7hu9x5EuicbsjTnTf)可以獲取加入技術(shù)話題群攻略
Hey 物聯(lián)網(wǎng)從業(yè)者,
你是否有了解過奇跡物聯(lián)的官方公眾號“eSIM物聯(lián)工場”呢?
這里是奇跡物聯(lián)的物聯(lián)網(wǎng)應(yīng)用技術(shù)開源wiki主陣地,歡迎關(guān)注公眾號,不迷路~
及時獲得最新物聯(lián)網(wǎng)應(yīng)用技術(shù)沉淀發(fā)布
審核編輯 黃宇
-
數(shù)據(jù)傳輸
+關(guān)注
關(guān)注
9文章
1928瀏覽量
64723 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2911文章
44828瀏覽量
375160 -
組網(wǎng)
+關(guān)注
關(guān)注
1文章
358瀏覽量
22396 -
LoRa
+關(guān)注
關(guān)注
349文章
1699瀏覽量
232112
發(fā)布評論請先 登錄
相關(guān)推薦
評論