【技術(shù)領(lǐng)域】
本發(fā)明涉及物聯(lián)網(wǎng)的技術(shù)領(lǐng)域,特別是dtu數(shù)據(jù)采集的技術(shù)領(lǐng)域。
背景技術(shù):
聯(lián)網(wǎng)是一種新興的概念,要實現(xiàn)物聯(lián)網(wǎng)需要大量的數(shù)據(jù)進行支持,這就不可避免的需要對各種數(shù)據(jù)接收、發(fā)送、處理?,F(xiàn)有的數(shù)據(jù)采集方式較為麻煩,不利于數(shù)據(jù)的及時采集和處理。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的就是解決現(xiàn)有技術(shù)中的問題,提出一種物聯(lián)網(wǎng)用dtu數(shù)據(jù)采集方法,能夠使數(shù)據(jù)采集變得較為方便。
為實現(xiàn)上述目的,本發(fā)明提出了一種物聯(lián)網(wǎng)用dtu數(shù)據(jù)采集方法,其基于可相互傳輸數(shù)據(jù)的主站和從站,包括以下步驟:
a)啟動系統(tǒng):將系統(tǒng)啟動,判斷是否需要進行在線程序更新,若需要進行更新則進行程序更新;
b)硬件設(shè)備初始化:系統(tǒng)啟動成功后進行硬件設(shè)備初始化;
c)判斷運行模式:硬件設(shè)備初始化成功后讀取運行時參數(shù),參數(shù)讀取成功后判斷運行模式,運行模式為主站模式、從站模式和穿透模式中的一種,運行模式判斷后連接連接平臺,其中主站模式在連接連接平臺前會讀取存儲的采集地址;d)主站數(shù)據(jù)采集:主站模式下主站在未與連接平臺連接成功時不斷嘗試連接連接平臺直至連接成功,連接成功后判斷平臺是否下發(fā)從站地址上的數(shù)據(jù),若為“否”則判斷是否完成該次信息采集,若為“是”則進行平臺下發(fā)數(shù)據(jù)處理,處理完成后判斷是否完成該次信息采集;
e)主站發(fā)送數(shù)據(jù):步驟d)判斷是否完成該次信息采集后,若判斷為“否”則繼續(xù)步驟d),若判斷為“是”則繼續(xù)判斷是否到發(fā)送時間,若判斷為“否”則繼續(xù)步驟d),若判斷為“是”則向連接平臺發(fā)送數(shù)據(jù),發(fā)送后繼續(xù)步驟d);
f)從站數(shù)據(jù)采集:從站模式下從站在未與連接平臺連接成功時不斷嘗試連接連接平臺直至連接成功,連接成功后判斷平臺是否下發(fā)主站modbus幀數(shù)據(jù),若為“否”則提取主站寫入的寄存器值,若為“是”則進行平臺下發(fā)數(shù)據(jù)處理,處理完成后提取主站寫入的寄存器值;
g)從站發(fā)送數(shù)據(jù):步驟f)完成提取主站寫入的寄存器值后判斷是否到發(fā)送時間,若為“否”則繼續(xù)步驟f),若為“是”則向連接平臺發(fā)送數(shù)據(jù),發(fā)送后繼續(xù)步驟f);
h)透傳站數(shù)據(jù)采集發(fā)送:透傳模式下透傳站在未與連接平臺連接成功時不斷嘗試連接連接平臺直至連接成功,連接成功后判斷平臺是否下發(fā)主站modbus幀數(shù)據(jù),若為“是”則進行平臺下發(fā)數(shù)據(jù)處理,處理完成后重新開始本步驟h),若為“否”則重新開始本步驟h)。
作為優(yōu)選,所述步驟b)中的硬件設(shè)備初始化前先判斷flash中是否有存在更新的固件,若為“是”則更新固件后再進行初始化,若為“否”則人工輸入數(shù)值選擇是否串口升級固件,若輸入3則放棄串口升級固件直接進行初始化,若輸入1則通過串口升級固件,升級完成后再次人工輸入數(shù)值選擇是否串口升級固件。
作為優(yōu)選,所述步驟f)中在每次嘗試連接前從站先判斷是否讀取寄存器,若為“否”則判斷是否寫寄存器,若為“是”則向主站輸出寄存器值并響應(yīng),然后判斷是否寫寄存器,判斷是否寫寄存器后,若為“否”則嘗試連接連接平臺,若為“是”則向寄存器寫入值并響應(yīng),然后嘗試連接連接平臺。
作為優(yōu)選,所述步驟h)中在每次嘗試連接前向連接平臺發(fā)送modbus幀數(shù)據(jù)。
作為優(yōu)選,所述步驟d)、步驟f)、步驟h)中的平臺下發(fā)數(shù)據(jù)處理過程為:首先判斷是否配置運行時參數(shù),若為“是”則配置并發(fā)送參數(shù)結(jié)束處理過程,若為“否”則繼續(xù)判斷是否讀取運行時參數(shù),若為“是”則讀取并發(fā)送參數(shù)結(jié)束處理過程,若為“否”則繼續(xù)判斷是否更新從站采集地址,若為“是”則配置并發(fā)送從站采集地址結(jié)束處理過程,若為“否”則繼續(xù)判斷是否讀取從站采集地址,若為“是”則讀取并發(fā)送從站采集地址結(jié)束處理過程,若為“否”則繼續(xù)判斷是否讀取dtu通訊模組信息,若為“是”則讀取并發(fā)送信息結(jié)束處理過程,若為“否”則繼續(xù)判斷是否讀dtu固件版本信息,若為“是”則讀取并發(fā)送版本信息結(jié)束處理過程,若為“否”則繼續(xù)判斷是否modbus幀,若為“是”則進行modbus處理結(jié)束處理過程,若為“否”則判斷是否更新固件,若為“是”則下載固件至flash結(jié)束處理過程,若為“否”則直接結(jié)束處理過程。
本發(fā)明的有益效果:本發(fā)明在主站模式下可以接收平臺下發(fā)modbus命令,主動采集并向平臺上發(fā)從站地址值,遠程更新采集地址,遠程更新運行時參數(shù),支持基站定位,遠程更新dtu固件;在從站模式下可以接收平臺下發(fā)modbus命令,定時向平臺上發(fā)指定從站地址值,遠程更新運行時參數(shù),支持基站定位,遠程更新dtu固件;在透傳模式下可以接收平臺下發(fā)modbus命令,向平臺上發(fā)主站發(fā)起的modbus幀,遠程更新運行時參數(shù),支持基站定位,遠程更新dtu固件。
本發(fā)明的特征及優(yōu)點將通過實施例結(jié)合附圖進行詳細說明。
【附圖說明】
圖1是本發(fā)明一種物聯(lián)網(wǎng)用dtu數(shù)據(jù)采集方法的主站模式流程圖;
圖2是本發(fā)明一種物聯(lián)網(wǎng)用dtu數(shù)據(jù)采集方法的從站模式流程圖;
圖3是本發(fā)明一種物聯(lián)網(wǎng)用dtu數(shù)據(jù)采集方法的透傳模式流程圖。
【具體實施方式】
參閱圖1、圖2和圖3,本發(fā)明一種物聯(lián)網(wǎng)用dtu數(shù)據(jù)采集方法,其基于可相互傳輸數(shù)據(jù)的主站和從站,包括以下步驟:
a)啟動系統(tǒng):將系統(tǒng)啟動,判斷是否需要進行在線程序更新,若需要進行更新則進行程序更新;
b)硬件設(shè)備初始化:系統(tǒng)啟動成功后進行硬件設(shè)備初始化;
c)判斷運行模式:硬件設(shè)備初始化成功后讀取運行時參數(shù),參數(shù)讀取成功后判斷運行模式,運行模式為主站模式、從站模式和穿透模式中的一種,運行模式判斷后連接連接平臺,其中主站模式在連接連接平臺前會讀取存儲的采集地址;d)主站數(shù)據(jù)采集:主站模式下主站在未與連接平臺連接成功時不斷嘗試連接連接平臺直至連接成功,連接成功后判斷平臺是否下發(fā)從站地址上的數(shù)據(jù),若為“否”則判斷是否完成該次信息采集,若為“是”則進行平臺下發(fā)數(shù)據(jù)處理,處理完成后判斷是否完成該次信息采集;
e)主站發(fā)送數(shù)據(jù):步驟d)判斷是否完成該次信息采集后,若判斷為“否”則繼續(xù)步驟d),若判斷為“是”則繼續(xù)判斷是否到發(fā)送時間,若判斷為“否”則繼續(xù)步驟d),若判斷為“是”則向連接平臺發(fā)送數(shù)據(jù),發(fā)送后繼續(xù)步驟d);
f)從站數(shù)據(jù)采集:從站模式下從站在未與連接平臺連接成功時不斷嘗試連接連接平臺直至連接成功,連接成功后判斷平臺是否下發(fā)主站modbus幀數(shù)據(jù),若為“否”則提取主站寫入的寄存器值,若為“是”則進行平臺下發(fā)數(shù)據(jù)處理,處理完成后提取主站寫入的寄存器值;
g)從站發(fā)送數(shù)據(jù):步驟f)完成提取主站寫入的寄存器值后判斷是否到發(fā)送時間,若為“否”則繼續(xù)步驟f),若為“是”則向連接平臺發(fā)送數(shù)據(jù),發(fā)送后繼續(xù)步驟f);
h)透傳站數(shù)據(jù)采集發(fā)送:透傳模式下透傳站在未與連接平臺連接成功時不斷嘗試連接連接平臺直至連接成功,連接成功后判斷平臺是否下發(fā)主站modbus幀數(shù)據(jù),若為“是”則進行平臺下發(fā)數(shù)據(jù)處理,處理完成后重新開始本步驟h),若為“否”則重新開始本步驟h)。
所述步驟b)中的硬件設(shè)備初始化前先判斷flash中是否有存在更新的固件,若為“是”則更新固件后再進行初始化,若為“否”則人工輸入數(shù)值選擇是否串口升級固件,若輸入3則放棄串口升級固件直接進行初始化,若輸入1則通過串口升級固件,升級完成后再次人工輸入數(shù)值選擇是否串口升級固件,所述步驟f)中在每次嘗試連接前從站先判斷是否讀取寄存器,若為“否”則判斷是否寫寄存器,若為“是”則向主站輸出寄存器值并響應(yīng),然后判斷是否寫寄存器,判斷是否寫寄存器后,若為“否”則嘗試連接連接平臺,若為“是”則向寄存器寫入值并響應(yīng),然后嘗試連接連接平臺,所述步驟h)中在每次嘗試連接前向連接平臺發(fā)送modbus幀數(shù)據(jù),所述步驟d)、步驟f)、步驟h)中的平臺下發(fā)數(shù)據(jù)處理過程為:首先判斷是否配置運行時參數(shù),若為“是”則配置并發(fā)送參數(shù)結(jié)束處理過程,若為“否”則繼續(xù)判斷是否讀取運行時參數(shù),若為“是”則讀取并發(fā)送參數(shù)結(jié)束處理過程,若為“否”則繼續(xù)判斷是否更新從站采集地址,若為“是”則配置并發(fā)送從站采集地址結(jié)束處理過程,若為“否”則繼續(xù)判斷是否讀取從站采集地址,若為“是”則讀取并發(fā)送從站采集地址結(jié)束處理過程,若為“否”則繼續(xù)判斷是否讀取dtu通訊模組信息,若為“是”則讀取并發(fā)送信息結(jié)束處理過程,若為“否”則繼續(xù)判斷是否讀dtu固件版本信息,若為“是”則讀取并發(fā)送版本信息結(jié)束處理過程,若為“否”則繼續(xù)判斷是否modbus幀,若為“是”則進行modbus處理結(jié)束處理過程,若為“否”則判斷是否更新固件,若為“是”則下載固件至flash結(jié)束處理過程,若為“否”則直接結(jié)束處理過程。
本發(fā)明工作過程:
本發(fā)明一種物聯(lián)網(wǎng)用dtu數(shù)據(jù)采集方法在工作過程中,主站模式下可以接收平臺下發(fā)modbus命令,主動采集并向平臺上發(fā)從站地址值,遠程更新采集地址,遠程更新運行時參數(shù),支持基站定位,遠程更新dtu固件;在從站模式下可以接收平臺下發(fā)modbus命令,定時向平臺上發(fā)指定從站地址值,遠程更新運行時參數(shù),支持基站定位,遠程更新dtu固件;在透傳模式下可以接收平臺下發(fā)modbus命令,向平臺上發(fā)主站發(fā)起的modbus幀,遠程更新運行時參數(shù),支持基站定位,遠程更新dtu固件。
上述實施例是對本發(fā)明的說明,不是對本發(fā)明的限定,任何對本發(fā)明簡單變換后的方案均屬于本發(fā)明的保護范圍。