概述
在通信領(lǐng)域,存在點(diǎn)到點(diǎn)通信和點(diǎn)到多點(diǎn)通信兩種方式,兩種方式都有其應(yīng)用場(chǎng)景。相比點(diǎn)到點(diǎn)通信,點(diǎn)到多點(diǎn)通信的優(yōu)勢(shì)是能夠提高通信效率和信息擴(kuò)散速度,信源方發(fā)送一次消息,能夠傳送給多個(gè)信宿方,達(dá)到批量管理的效果,點(diǎn)到多點(diǎn)通信即組播通信。
LoRaWAN®協(xié)議也定義了組播的規(guī)范。在使用組播功能時(shí),節(jié)點(diǎn)設(shè)備和網(wǎng)絡(luò)服務(wù)器需同時(shí)支持組播功能。下面用網(wǎng)關(guān)內(nèi)置NS和Chirpstack兩個(gè)例子來介紹組播功能的配置與應(yīng)用。
準(zhǔn)備
- 星縱物聯(lián)LoRaWAN®網(wǎng)關(guān)
- LoRaWAN®終端節(jié)點(diǎn)
步驟
1. 網(wǎng)關(guān)下發(fā)
星縱物聯(lián)LoRaWAN®網(wǎng)關(guān)擁有內(nèi)置網(wǎng)絡(luò)服務(wù)器(NS),支持在網(wǎng)關(guān)上直接下發(fā)組播指令批量管理節(jié)點(diǎn)設(shè)備。如下以UG67網(wǎng)關(guān)與WS515節(jié)點(diǎn)為例介紹組播功能的配置使用。配置之前請(qǐng)先參考手冊(cè)激活節(jié)點(diǎn)。
1.1 節(jié)點(diǎn)配置
- 開啟節(jié)點(diǎn)設(shè)備的組播功能,根據(jù)節(jié)點(diǎn)設(shè)備要求配置組播地址、組播網(wǎng)絡(luò)會(huì)話密鑰、組播應(yīng)用會(huì)話密鑰(需與網(wǎng)絡(luò)服務(wù)器組播參數(shù)一致)。

- 節(jié)點(diǎn)工作方式選擇Class C,組播接收窗口為RX2窗口(速率與頻率默認(rèn)為DR0,505.3MHz)。

1.2 網(wǎng)關(guān)配置
- 進(jìn)入網(wǎng)關(guān)“Network Server> 組播列表”添加新的組播組,組播參數(shù)需與節(jié)點(diǎn)設(shè)備一致,配置好后點(diǎn)擊保存。


1.3 下發(fā)組播指令
- 進(jìn)入網(wǎng)關(guān)“Network Server > 數(shù)據(jù)流”,選擇上一步創(chuàng)建的組播組,輸入設(shè)備控制指令,點(diǎn)擊發(fā)送,即可批量控制組播組內(nèi)的所有節(jié)點(diǎn)設(shè)備。

2. Chirpstack下發(fā)
ChirpStack為L(zhǎng)oRaWAN®網(wǎng)絡(luò)提供了開源組件,在Chirpstack上使用組播功能時(shí),請(qǐng)先參考指導(dǎo)文檔將網(wǎng)關(guān)和節(jié)點(diǎn)接入到ChirpStack,并驗(yàn)證是否可以正常收發(fā)數(shù)據(jù)。
節(jié)點(diǎn)組播配置請(qǐng)參考2.1章節(jié)。
2.1 創(chuàng)建組播組
- 進(jìn)入“Multicast-groups”菜單,點(diǎn)擊“+CREATE”創(chuàng)建廣播組,配置組播參數(shù)(需與節(jié)點(diǎn)設(shè)備一致)。

- 添加節(jié)點(diǎn)設(shè)備到組播組內(nèi)。


2.2 創(chuàng)建API key
- 進(jìn)入“Org. API keys”菜單,點(diǎn)擊“+CREATE”創(chuàng)建API key,復(fù)制生成的Token值,用于API接口請(qǐng)求時(shí)的鑒權(quán)。


2.3 下發(fā)組播指令
Chirpstack通過API接口實(shí)現(xiàn)組播功能。
- 進(jìn)入Chirpstack API接口頁(yè)面: (localhost為NS服務(wù)器IP),將上一步創(chuàng)建API key的Token值粘貼在右上角的方框中,以此實(shí)現(xiàn)API鑒權(quán)。

- 找到組播API接口,點(diǎn)擊接口展開配置頁(yè)面。

- 配置組播內(nèi)容,在參數(shù)欄Value位置輸入組播ID,根據(jù)右側(cè)的示例填寫請(qǐng)求body。然后點(diǎn)擊Try it out下發(fā)組播指令。
Body示例:
{
“multicastQueueItem”: {
“data”: “CAAA/w==”,
“fCnt”: 0,
“fPort”: 86,
“multicastGroupID”: “4e87060c-4a91-4511-80c9-19afb8080e09”
}
}
