基于LoRa MESH技術(shù)研發(fā)的EWD95M系列微型導(dǎo)軌式數(shù)傳電臺(tái),前文主要介紹了EWD95M系列基于LoRa MESH協(xié)議的微型導(dǎo)軌數(shù)傳電臺(tái)產(chǎn)品功能特點(diǎn)、上位機(jī)配置簡(jiǎn)、遠(yuǎn)程配置教程、鏈接示意圖等功能簡(jiǎn)介,本文主要介紹LoRa MESH組網(wǎng)數(shù)傳電臺(tái)基礎(chǔ)通訊功能以及相關(guān)教程案例。
相關(guān)產(chǎn)品型號(hào):
EWD95M-400NW22(485)系列433頻段微型數(shù)傳電臺(tái):http:///product/2407.html
EWD95M-900NW22(485)系列868、915頻段微型數(shù)傳電臺(tái):http:///product/2408.html
模塊主要參數(shù)可通過(guò)“AT+INFO=?”AT指令進(jìn)行獲取,它主要用于串口顯示,如下圖所示。
若使用MCU對(duì)其進(jìn)行解析難度較大,MCU正確的操作應(yīng)該使用單獨(dú)的AT指令進(jìn)行獲取,如下圖所示。
單播通訊方式需要提前得知目標(biāo)模塊的地址(模塊B的地址),基本參數(shù)獲取具體步驟可參考產(chǎn)品手冊(cè)。
首次發(fā)起單播請(qǐng)求需要等待路由建立(不同的空速下等待的時(shí)間不同),待路由建立完成之后模塊會(huì)自動(dòng)再次發(fā)送用戶數(shù)據(jù)1234567890。路由建立完成后再次訪問不需要等待路由重新建立,直到和某個(gè)節(jié)點(diǎn)連續(xù)通訊失敗次數(shù)超過(guò)3次。
路由表可通過(guò)“AT+ROUTER_CLR=?”指令進(jìn)行查詢。
數(shù)據(jù)幀頭可以使用“AT+HEAD=0”指令進(jìn)行關(guān)閉。
用戶數(shù)據(jù)不能為模塊內(nèi)部AT指令,否則會(huì)被模塊識(shí)別為AT指令,導(dǎo)致無(wú)法用戶數(shù)據(jù)發(fā)送。
EWD95M系列LoRa MESH數(shù)傳電臺(tái)單播基本操作步驟如下所示:
第一步:模塊A使用“AT+DST_ADDR=26034,0”指令將目標(biāo)地址配置為模塊B的地址;
第二步:模塊A使用“AT+OPTION=1,0”指令將通訊方式改為單播模式(Unicast);
第三步:模塊A發(fā)送用戶數(shù)據(jù)1234567890。發(fā)送成功會(huì)返回SUCCESS;若發(fā)送失敗則會(huì)返回NOROUTE或NOACK。NOROUTE代表路由建立失??;NOACK代表路由建立成功但是未收到應(yīng)答。若出現(xiàn)3次NOACK后,則需要重新建立路由表。
第四步:模塊B收到了來(lái)自模塊A發(fā)送的(ASCII碼)1234567890轉(zhuǎn)換為HEX格式為31323334353637383930(顯示編碼不同),并且添加了額外的數(shù)據(jù)幀頭。
不同空速下首次發(fā)起單播請(qǐng)求的時(shí)間不同,至少為1.5個(gè)路由請(qǐng)求超時(shí)時(shí)間:
62.5K空速下首次發(fā)起單播請(qǐng)求需要等待約4秒,
21.875K空速下首次發(fā)起單播請(qǐng)求需要等待約8秒,
7K空速下首次發(fā)起單播請(qǐng)求需要等待約25秒。
多播(組播)通訊方式需要提前對(duì)目標(biāo)模塊進(jìn)行分組管理,所有目標(biāo)模塊都需要使用“AT+GROUP_ADD=<group>”提前進(jìn)行分組。
<group>可以理解為公共地址,每個(gè)模塊最多可設(shè)置8個(gè)組地址。
在多播模式下,每次都需要重新建立路由,連續(xù)發(fā)起多播間隔建議在5秒左右。
“AT+GROUP_DEL=<group>”可以刪除公共地址為group的組地址,同時(shí)會(huì)將新的組信息保存到Flash中。
“AT+GROUP_CLR=1”可以清除所有組地址,同時(shí)會(huì)將清除Flash中的組信息。
路由表可通過(guò)“AT+ROUTER_CLR=?”指令進(jìn)行查詢。
數(shù)據(jù)幀頭可以使用“AT+HEAD=0”指令進(jìn)行關(guān)閉。
用戶數(shù)據(jù)不能為模塊內(nèi)部AT指令,否則會(huì)被模塊識(shí)別為AT指令,導(dǎo)致無(wú)法用戶數(shù)據(jù)發(fā)送。
EWD95M系列LoRa MESH數(shù)傳電臺(tái)多播(組播)基本操作步驟如下所示:
第一步:提前對(duì)模塊B使用“AT+GROUP_ADD=123”進(jìn)行分組設(shè)定;
第二步:模塊A使用“AT+OPTION=2,0”指令修改通訊模式為多播模式(Multicast);
第三步:模塊A使用“AT+DST_ADDR=123,0”指令修改通訊模式為多播模式,并設(shè)定目標(biāo)組地址;
第四步:模塊A發(fā)送用戶數(shù)據(jù)1234567890。發(fā)送成功會(huì)返回SUCCESS;若發(fā)送失敗則會(huì)返回NOROUTE或NOACK。NOROUTE代表路由建立失??;NOACK代表路由建立成功但是未收到應(yīng)答。若出現(xiàn)3次NOACK后,則需要重新建立路由表。
第五步:模塊B收到了來(lái)自模塊A發(fā)送的(ASCII碼)1234567890轉(zhuǎn)換為HEX格式為31323334353637383930(顯示編碼不同),并且添加了額外的數(shù)據(jù)幀頭。
不同空速下首次發(fā)起單播請(qǐng)求的時(shí)間不同,至少為1.5個(gè)路由請(qǐng)求超時(shí)時(shí)間:
62.5K空速下首次發(fā)起單播請(qǐng)求需要等待約4秒,
21.875K空速下首次發(fā)起單播請(qǐng)求需要等待約8秒,
7K空速下首次發(fā)起單播請(qǐng)求需要等待約25秒。
廣播通訊方式不需要得知目標(biāo)模塊的地址。
廣播模塊下不會(huì)發(fā)送超時(shí),也不需要建立路由,但所有接收模塊收到數(shù)據(jù)后都會(huì)再次進(jìn)行轉(zhuǎn)發(fā)。模塊內(nèi)置的CSMA避讓機(jī)制和廣播過(guò)濾機(jī)制可以有效的防止數(shù)據(jù)碰撞和二次轉(zhuǎn)發(fā)。
用戶數(shù)據(jù)不能為模塊內(nèi)部AT指令,否則會(huì)被模塊識(shí)別為AT指令,導(dǎo)致無(wú)法用戶數(shù)據(jù)發(fā)送。
EWD95M系列LoRa MESH數(shù)傳電臺(tái)廣播基本操作步驟如下所示:
第一步:模塊A使用“AT+OPTION=3,0”指令將通訊方式改為廣播模式(Broadcast);
第二步:模塊A發(fā)送用戶數(shù)據(jù)1234567890。發(fā)送成功會(huì)返回SUCCESS,用戶可以等待SUCCESS來(lái)判斷數(shù)據(jù)是否發(fā)送完成;
第三步:模塊B收到了來(lái)自模塊A發(fā)送的(ASCII碼)1234567890轉(zhuǎn)換為HEX格式為31323334353637383930(顯示編碼不同),并且添加了額外的數(shù)據(jù)幀頭。
泛播通訊一般用于不同網(wǎng)絡(luò)間的通訊,不同網(wǎng)絡(luò)的網(wǎng)絡(luò)識(shí)別碼不同,采用單播、多播、廣播通訊方式無(wú)法直接進(jìn)行網(wǎng)絡(luò)間數(shù)據(jù)交互,此時(shí)可采用泛播對(duì)不同網(wǎng)絡(luò)間進(jìn)行數(shù)據(jù)交互。
泛播通訊可跟根據(jù)設(shè)定的目標(biāo)地址不同,將數(shù)據(jù)發(fā)送到單跳覆蓋范圍內(nèi)的單個(gè)或者所有節(jié)點(diǎn)。
泛播模式下數(shù)據(jù)無(wú)法被中繼和響應(yīng)。
泛播無(wú)法保證數(shù)據(jù)傳輸?shù)目煽啃?,類似于?jiǎn)單數(shù)據(jù)透?jìng)鳌?/span>
用戶數(shù)據(jù)不能為模塊內(nèi)部AT指令,否則會(huì)被模塊識(shí)別為AT指令,導(dǎo)致無(wú)法用戶數(shù)據(jù)發(fā)送。
EWD95M系列LoRa MESH數(shù)傳電臺(tái)泛播基本操作步驟如下所示:
第一步:模塊A使用“AT+DST_ADDR=26034,0”指令將目標(biāo)地址配置為模塊B的地址;
第二步:模塊A或者使用“AT+DST_ADDR=65535,0”指令將目標(biāo)地址配置為所有模塊;
第三步:模塊A使用“AT+OPTION=4,0”指令將通訊方式改為泛播模式(Anycast);
第四步:模塊A發(fā)送用戶數(shù)據(jù)1234567890。發(fā)送成功會(huì)返回SUCESS,用戶可以等待SUCCESS來(lái)判斷數(shù)據(jù)是否發(fā)送完成;
第五步:模塊B收到了來(lái)自模塊A發(fā)送的(ASCII碼)1234567890轉(zhuǎn)換為HEX格式為31323334353637383930(顯示編碼不同),并且添加了額外的數(shù)據(jù)幀頭。
路由表由路由請(qǐng)求自動(dòng)建立,無(wú)法手動(dòng)修改,保存在RAM中,若模塊重啟則會(huì)丟失。路由表僅供查看路徑,用戶可無(wú)須理會(huì),不需要對(duì)路由表進(jìn)行AT指令解析。
路由表可以通過(guò)“AT+ROUTER_SAVE=1”指令保存到Flash中,再次上電時(shí)可通過(guò)“AT+ROUTER_READ=1”指令進(jìn)行加載。
若要清除保存在Flash中的路由信息,則可以通過(guò)“AT+ROUTER_SAVE=0”指令進(jìn)行清除。
若只想清除RAM中的路由信息,則可以通過(guò)“AT+ROUTER_CLR=1”指令進(jìn)行清除。
路由表可通過(guò)“AT+ROUTER_CLR=?”、“AT+ROUTER_SAVE=?”、“AT+ROUTER_READ=?”三條指令進(jìn)行讀取。
路由表包含了目標(biāo)地址、下級(jí)地址、分?jǐn)?shù)、信號(hào)強(qiáng)度等參數(shù)。
當(dāng)路由表中的DST和HOP不相同時(shí),代表模塊需要通過(guò)路由節(jié)點(diǎn)才能到達(dá)目標(biāo)模塊。
下圖中NO.03和NO.04的路由信息,共同組成一條通往目標(biāo)地址為59020的路徑:
NO.04的路由信息告訴模塊如果要發(fā)送數(shù)據(jù)給59020的模塊,下一級(jí)應(yīng)該通過(guò)給26017的路由節(jié)點(diǎn)發(fā)送數(shù)據(jù)。
NO.03的路由信息告訴模塊如果要發(fā)送數(shù)據(jù)給26111的模塊,下一級(jí)可以直接將數(shù)據(jù)傳輸?shù)?6111的路由節(jié)點(diǎn)。
當(dāng)模塊收到來(lái)自其他模塊的數(shù)據(jù)時(shí),串口輸出數(shù)據(jù)會(huì)添加額外幀頭信息。
LoRa MESH數(shù)傳電臺(tái)幀頭含義:
幀類型:C1代表單播幀、C2代表多播幀、C3代表廣播幀、C4代表泛播幀;
數(shù)據(jù)長(zhǎng)度:用戶數(shù)據(jù)長(zhǎng)度,最大值200字節(jié);
網(wǎng)絡(luò)識(shí)別碼:不同的網(wǎng)絡(luò)的網(wǎng)絡(luò)識(shí)別碼不同,此信息可以得知來(lái)源是哪個(gè)網(wǎng)絡(luò);
地址:規(guī)定了數(shù)據(jù)的來(lái)源和去向;
用戶數(shù)據(jù):用戶數(shù)據(jù)區(qū),最大200字節(jié)。
數(shù)據(jù)幀頭中地址和網(wǎng)絡(luò)識(shí)別低位在前,像網(wǎng)絡(luò)識(shí)別3412,實(shí)際上應(yīng)該是0x1234,方便使用結(jié)構(gòu)體對(duì)其進(jìn)行解析。
數(shù)據(jù)幀頭可以通過(guò)“AT+HEAD=0”指令進(jìn)行關(guān)閉。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多無(wú)線數(shù)傳電臺(tái)產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(hào)(微信號(hào):cdebyte)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!
相關(guān)閱讀:
1、基于LoRa MESH協(xié)議的微型導(dǎo)軌數(shù)傳電臺(tái)及其上位機(jī)簡(jiǎn)介
2、EWD95M系列LoRa MESH組網(wǎng)數(shù)傳電臺(tái)遠(yuǎn)程配置教程
3、LORA MESH網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)通信原理詳解
4、LoRa MESH網(wǎng)絡(luò):一種高效、可靠、低功耗的物聯(lián)網(wǎng)通訊方案