本發(fā)明屬于電力電網(wǎng),尤其涉及一種基于lorawan模塊的負(fù)荷曲線數(shù)據(jù)采集方法、介質(zhì)及終端。
背景技術(shù):
1、lorawan技術(shù)在智能電表行業(yè)中的應(yīng)用正變得越來(lái)越普遍,它帶來(lái)了許多優(yōu)勢(shì)和便利,使得智能電表系統(tǒng)更加高效和可靠。lorawan無(wú)線模塊具有通信距離遠(yuǎn)、低功耗、靈敏度高、抗干擾性強(qiáng)的優(yōu)勢(shì),但現(xiàn)有l(wèi)orawan中國(guó)頻帶的最大數(shù)據(jù)幀長(zhǎng)規(guī)定,可知在擴(kuò)頻因子sf和帶寬bw參數(shù)組合dr0/dr1/dr2調(diào)制配置(分別對(duì)應(yīng):250/440/980bps)中應(yīng)用層的最大數(shù)據(jù)長(zhǎng)為230字節(jié)左右,在不同的速率下,該值而且會(huì)變小,這在應(yīng)用層限制了最大傳輸單元(mtu)大小,進(jìn)一步增加了應(yīng)用協(xié)議棧組幀編碼難度,因此lorawan根據(jù)頻帶的最大數(shù)據(jù)幀長(zhǎng)限定,若通過(guò)pull遠(yuǎn)程抄讀電表數(shù)據(jù)量較大的曲線數(shù)據(jù),即普通通信交互包括應(yīng)用層建立鏈接請(qǐng)求與回復(fù)以及服務(wù)請(qǐng)求與回復(fù)等數(shù)據(jù)交互次數(shù)較多等常規(guī)方式,會(huì)導(dǎo)致數(shù)據(jù)采集效率極低,且在lorawan無(wú)線通信協(xié)議的設(shè)計(jì)中,節(jié)點(diǎn)休眠需喚醒通信是一大難點(diǎn),網(wǎng)關(guān)必須保證在正確的時(shí)間點(diǎn)與其進(jìn)行通信,需要完善的時(shí)間節(jié)點(diǎn)同步技術(shù)。
2、公開(kāi)號(hào)為cn108877180a的專利申請(qǐng)?zhí)峁┝艘环N基于lora無(wú)線網(wǎng)絡(luò)的智能抄表系統(tǒng),包括后臺(tái)服務(wù)器、手機(jī)終端以及l(fā)ora網(wǎng)關(guān)、采集終端、采集終端連接有若干計(jì)量表;lora網(wǎng)關(guān)包括嵌入式微處理器、第一lora通信模塊、網(wǎng)絡(luò)通信模塊以及rs485串口;采集終端包括微控制器、第二lora通信模塊、第一存儲(chǔ)模塊、第一顯示模塊、第一rf通信模塊、指紋識(shí)別模塊、第一時(shí)鐘模塊、第一電源模塊以及第一電量監(jiān)測(cè)模塊;計(jì)量表包括mcu、流量傳感器、第二存儲(chǔ)模塊、第二顯示模塊、第二rf通信模塊、操作按鈕、第二時(shí)鐘模塊、第二電源模塊以及第二電量監(jiān)測(cè)模塊,第二電量監(jiān)測(cè)模塊通過(guò)信號(hào)線與第二電源模塊相連。此專利申請(qǐng)當(dāng)中仍然采用的是普通通信交互方式,采集效率較低,存在與現(xiàn)有技術(shù)相同的弊端。
3、因此,如何解決由于數(shù)據(jù)采集通過(guò)普通通信交互方式帶來(lái)的采集效率低、以及節(jié)點(diǎn)休眠導(dǎo)致采集成功率低的問(wèn)題,是本技術(shù)領(lǐng)域人員所刻不容緩的。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明的目的是提供一種基于lorawan模塊的負(fù)荷曲線數(shù)據(jù)采集方法,以解決現(xiàn)有技術(shù)中采集效率和采集成功率低的問(wèn)題;另外本發(fā)明還提供了一種基于lorawan模塊的負(fù)荷曲線數(shù)據(jù)采集介質(zhì)及終端。
2、為了解決上述技術(shù)問(wèn)題,本發(fā)明采用了如下的技術(shù)方案:
3、第一方面,本發(fā)明提供了一種基于lorawan模塊的負(fù)荷曲線數(shù)據(jù)采集方法,包括以下步驟:
4、s10、push?task任務(wù)執(zhí)行;
5、s20、判斷push狀態(tài)機(jī)是否為push_step_idle;
6、s30、若是,將push狀態(tài)機(jī)置為push_step_waiting,進(jìn)入push緩存隊(duì)列,若否,則等待push任務(wù)空閑;
7、s40、將push狀態(tài)機(jī)置為push_step_send_start,并進(jìn)行push所需的數(shù)據(jù)編碼組幀;
8、s50、將push狀態(tài)機(jī)置為push_step_send_block,并按最大可push的數(shù)據(jù)長(zhǎng)度啟動(dòng)發(fā)送push第一幀,將數(shù)據(jù)幀狀態(tài)置為first_block;
9、s60、判斷push數(shù)據(jù)編碼長(zhǎng)度是否大于最大可push數(shù)據(jù)長(zhǎng)度;
10、s70、若是,啟動(dòng)push下一幀,數(shù)據(jù)幀狀態(tài)置為next_block,直到push到最后一塊last_block,若否,將狀態(tài)機(jī)置為push_step_send_over,清除本次push信息,并將push狀態(tài)機(jī)置為push_step_idle。
11、進(jìn)一步的,push_step_idle代表push處于空閑狀態(tài);push_step_waiting代表本次push處于等待狀態(tài);push_step_send_start代表本次push處于準(zhǔn)備發(fā)送狀態(tài);push_step_send_block代表本次push已分多塊push;push_step_send_over代表本次push已發(fā)送結(jié)束。
12、進(jìn)一步的,first_block代表數(shù)據(jù)幀有分塊,該塊為第一幀;next_block代表數(shù)據(jù)幀有分塊,該塊為中間幀;last_block代表數(shù)據(jù)幀有分塊,該塊為最后一幀。
13、進(jìn)一步的,所述步驟s70中,lorawan模塊針對(duì)每一幀進(jìn)行ack確認(rèn)后才啟動(dòng)下一幀push。
14、第二方面,本發(fā)明還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述方法。
15、第三方面,本發(fā)明還提供了一種電子終端,包括:處理器及存儲(chǔ)器;所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序,所述處理器用于執(zhí)行所述存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)程序,以使所述終端執(zhí)行如上所述方法。
16、本發(fā)明提供的基于lorawan模塊的負(fù)荷曲線數(shù)據(jù)采集方法、介質(zhì)及終端與現(xiàn)有技術(shù)相比,至少具有如下有益效果:
17、現(xiàn)有技術(shù)中采用通信交互來(lái)實(shí)現(xiàn)數(shù)據(jù)采集,采集效率較低而且容易出現(xiàn)由于數(shù)據(jù)交互較多導(dǎo)致數(shù)據(jù)錯(cuò)誤問(wèn)題,另外因?yàn)閼?yīng)用數(shù)據(jù)封包的數(shù)據(jù)傳輸最大單元受長(zhǎng)度限制,導(dǎo)致數(shù)據(jù)量較大如曲線數(shù)據(jù)分塊采集抄讀較多,若其中任意一塊因?yàn)閿?shù)據(jù)交互異常而丟掉時(shí)無(wú)法解析問(wèn)題。本發(fā)明流程簡(jiǎn)單、操作便捷,采用數(shù)據(jù)推送方式解決了通信交互次數(shù)較多導(dǎo)致通信效率極低的問(wèn)題,通過(guò)lorawan模塊針對(duì)push的大數(shù)據(jù)分片進(jìn)行push成功ack確認(rèn)機(jī)制,且未push的數(shù)據(jù)則等待模塊進(jìn)行push?ack確認(rèn)后才啟動(dòng)發(fā)送,解決分塊數(shù)據(jù)存在部分丟失而系統(tǒng)無(wú)法解析問(wèn)題,從而確保每一包數(shù)據(jù)都能成功push推送至系統(tǒng),保證了每一塊數(shù)據(jù)不會(huì)干擾或打斷上次push,解決了數(shù)據(jù)采集成功率低問(wèn)題。
1.一種基于lorawan模塊的負(fù)荷曲線數(shù)據(jù)采集方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種負(fù)荷曲線數(shù)據(jù)采集方法,其特征在于,push_step_idle代表push處于空閑狀態(tài);push_step_waiting代表本次push處于等待狀態(tài);push_step_send_start代表本次push處于準(zhǔn)備發(fā)送狀態(tài);push_step_send_block代表本次push已分多塊push;push_step_send_over代表本次push已發(fā)送結(jié)束。
3.根據(jù)權(quán)利要求2所述的一種負(fù)荷曲線數(shù)據(jù)采集方法,其特征在于,first_block代表數(shù)據(jù)幀有分塊,該塊為第一幀;next_block代表數(shù)據(jù)幀有分塊,該塊為中間幀;last_block代表數(shù)據(jù)幀有分塊,該塊為最后一幀。
4.根據(jù)權(quán)利要求1所述的一種負(fù)荷曲線數(shù)據(jù)采集方法,其特征在于,所述步驟s70中,lorawan模塊針對(duì)每一幀進(jìn)行ack確認(rèn)后才啟動(dòng)下一幀push。
5.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至4任一項(xiàng)所述方法。
6.一種電子終端,其特征在于,包括:處理器及存儲(chǔ)器;