DLS11 網(wǎng)關(guān)中繼器(LTE-LoRA) 數(shù)據(jù)發(fā)送機(jī)制
河北穩(wěn)控科技DLS11 網(wǎng)關(guān)中繼器(LTE-LoRA) 數(shù)據(jù)發(fā)送機(jī)制
DLS11 是 LoRA-LTE 網(wǎng)關(guān)設(shè)備,專用于接收其它 LoRA 設(shè)備發(fā)來(lái)的數(shù)據(jù)包存儲(chǔ)并在預(yù)定的時(shí)間間隔后統(tǒng)一發(fā)送(目前支持 VSxxx、NLM3、NLM5、NLM6 的 LoRA 數(shù)據(jù)包格式)。發(fā)送的方式有:UART、TCP、EMAIL、FTP、RF,通過(guò)設(shè)置寄存器 SEND_WAY 的值來(lái)選擇。在發(fā)送數(shù)據(jù)時(shí),還可以通過(guò)修改寄存器 DAT_PRO 來(lái)選擇數(shù)據(jù)包的格式,當(dāng)發(fā)送方式為 UART、TCP、RF 時(shí)建議使用 HEX 或者 STR1.0 格式,當(dāng)為 EMAIL、FTP 時(shí)僅可使用 STR2.0 格式。當(dāng)使用 TCP、EMAIL、FTP 方式發(fā)送數(shù)據(jù)時(shí),使用 UDID 來(lái)區(qū)分不同的設(shè)備。UDID 是 15 個(gè)字符組成的字符串,每臺(tái)設(shè)備均有唯一的 UDID。
DLS11 本身的 UDID 最后兩個(gè)字符恒為“00”。DLS11 發(fā)送的是多臺(tái)設(shè)備的數(shù)據(jù),為了區(qū)分不同的設(shè)備,DLS 在讀取接收到的數(shù)據(jù)包時(shí)會(huì)使用數(shù)據(jù)包中包含的發(fā)送方(某臺(tái) LoRA 設(shè)備)地址(IDn)動(dòng)態(tài)的生成一個(gè)唯一 UDID,UDID 碼的生成規(guī)則為:將 DLS11自身 UDID 最后兩個(gè)字符替換為 IDn 的 16 進(jìn)制字符串。
例如:DLS11 的 UDID 為“123456789012300”,當(dāng)它讀取某個(gè)接收到的數(shù)據(jù)包時(shí),會(huì)檢測(cè)數(shù)據(jù)包格式并解 析 出 其 中 的 “ 發(fā) 送 方 設(shè) 備 地 址 IDn” , 若 IDn 為 0x01 , 則 會(huì) 為 這 條 數(shù) 據(jù) 動(dòng) 態(tài) 的 生 成UDID“123456789012301”,使用此 UDID 將讀取到的數(shù)據(jù)發(fā)送到服務(wù)器。即:它發(fā)送的這條數(shù)據(jù)是由它代理發(fā)送的 1 號(hào)設(shè)備的數(shù)據(jù)。
TCP 數(shù)據(jù)的可靠傳輸
為了確保 TCP 數(shù)據(jù)包發(fā)送的可靠性,可修改寄存器 NEED_TCP_RETURN 為 1,當(dāng) DLS11 向服務(wù)器發(fā)送數(shù)據(jù)后會(huì)等待服務(wù)器返回明確的應(yīng)答“KO”,若未收到服務(wù)器正確應(yīng)答時(shí),會(huì)重新嘗試發(fā)送 3 次,若仍未收到服務(wù)器的應(yīng)答,則標(biāo)記此條數(shù)據(jù)為“未發(fā)送”,下次啟動(dòng)時(shí)會(huì)進(jìn)行補(bǔ)發(fā)。數(shù)據(jù)補(bǔ)發(fā)時(shí),若數(shù)據(jù)協(xié)議為 STR1.0 時(shí),會(huì)在數(shù)據(jù)包的末尾增加“@YYYY-MM-DD HH:MM:SS”時(shí)間戳,以標(biāo)識(shí)此條數(shù)據(jù)的時(shí)間信息。連續(xù) 3 次發(fā)送(補(bǔ)發(fā))失敗的數(shù)據(jù),不再發(fā)送。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。
波段開(kāi)關(guān)相關(guān)文章:波段開(kāi)關(guān)原理