本發明涉及物聯網,具體涉及一種簡單的方式來實現局域網內設備的自動發現和相互控制的物聯網設備的發現和控制方法。
背景技術:
目前并沒有統一的方式,比較常用的是UPnP協議。UPnP在控制指針和被控制設備之間提供通訊功能。而網絡介質、TCP/IP協議、HTTP僅提供基本的連接和IP地址分配。整個工作過程需要處理六個方面的內容,即設備尋址、發現設備、對設備的描述、設備控制、設備事件、設備表達。
設備尋址:
地址是整個UPnP系統工作的基礎條件,每個設備都應當是DHCP(Dynamic Host Configuration Protocol 動態主機配置協議)的客戶。當設備首次與網絡建立連接后,利用DHCP服務,使設備得到一個IP地址。這個IP地址可以是DHCP系統指定的,也可以是由設備選擇的。當局域網內沒有提供DHCP服務時,UPnP設備將按照Auto-IP的協議,從169.254/169.16地址范圍獲取一個局域網內唯一的IP地址。設備還能使用昵稱(friendly name),這就需要域名解析服務(DNS)來解決。
發現設備:
可分成兩種情況,一種是在有控制請求之后,在當前的網絡中查找有無對應的可用設備;另一種情況是某一設備接入網絡、取得IP地址之后,就開始向網絡“廣播”自己已經進入網絡,即尋找控制請求。
設備的描述:
簡單說,這是聲明“自己”是什么樣的設備,例如名稱、制造廠商、序列號碼等等。剛開始“發現”設備后,控制指針對這個設備的“了解”還很少,需要依據URL找到該設備的描述文件,從這些文件中讀取更多的描述信息。描述信息的范圍很廣,一般都是由設備的制造廠商提供的。主要的描述項目有:控制的模式名稱和模式號碼、設備序列號、制造廠商名稱、廠商的WEB的URL……等等。這些一般都存放在特定的XML文件中。
設備控制:
控制指針找到設備描述之后,會從描述中“提煉”出要進行的操作并獲悉所有的服務;對每個UPnP設備來說,這些描述必須是很確切、很詳細的,描述中可能包含有命令或行為列表、服務響應信息、用到的參數等等。對于服務的每個行為,也伴有描述信息:主要是整個服務進行期間的變量、變量的數據類型、可用的取值范圍和事件的特征。
要控制某個設備,控制點必須先發送一個控制行為請求,要求設備開始服務,然后再按設備的URL發送相應的控制消息,控制消息就是放置在XML文件中的那些SOAP格式的信息。最后,服務會返回響應信息,指出服務是成功或是失敗。
設備事件:
在服務進行的整個時間內,只要變量值發生了變化或者模式的狀態發生了改變,就產生了一個事件,系統將修改上述提到的事件列表的內容。隨之,事件服務器把事件向整個網絡進行廣播。另一方面,控制點也可以事先向事件服務器訂閱事件信息,保證將該控制點感興趣的事件及時準確地傳送過來。
廣播或訂閱事件,傳送的都是事件消息,事件消息也放在XML文件中,使用的格式是GENA。
設備投入工作之前的準備―――初始化過程,也是一個事件,初始化需要的各種信息也是用事件消息傳送的。包括的內容主要是:變量初始值,模式的初始狀態等等。
設備表達:
只要得到了設備的URL,就可以取得該設備表達的URL,然后可以將此表達納入用戶的本地瀏覽器上。這部分還包括與用戶對話的界面,以及與用戶進行會話的處理。
技術實現要素:
本發明的目的是針對上述問題,提供一種簡單抽象的方式來描述設備,形成設備的描述文件,作為相互識別和控制的基礎的物聯網設備的發現和控制方法。
本發明采用的技術方案是:一種物聯網設備的發現和控制方法,包括以下步驟:
S1,設備自動發現:
IP地址是整個系統工作的基礎條件,每個設備都是動態主機配置協議DHCP的客戶;當設備首次與網絡建立連接后,利用DHCP服務,使設備得到一個IP地址,這個IP地址是DHCP系統指定的,或是由設備選擇的;設備接入網絡、取得IP地址之后,開始向網絡“廣播”自己已經進入網絡,即尋找控制請求;
S2,描述:主要的描述項目有:控制的模式名稱和模式號碼、設備序列號、制造廠商控制的ULR;
S3,設備控制:
網關找到設備描述之后,從描述中提煉出要進行的操作并獲悉的功能、事件、數據、狀態以及它們用到的參數;這些描述必須是很確切、很詳細的,描述中可能包含有命令或行為列表、服務響應信息、用到的參數;
對于服務的每個行為,也伴有描述信息:主要是整個服務進行期間的變量、變量的數據類型、能用的取值范圍和事件的特征;
要控制某個設備,控制點必須先發送一個控制行為請求,要求設備開始服務,然后再按設備的ULR發送相應的控制消息,控制消息就是放置在設備描述文件的信息;最后,服務會返回響應信息,指出服務是成功或是失敗。
進一步地,所述步驟S3還包括:
網關在收到設備的描述文件后完成如下的控制:
S31,根據設備的信息描述展示設備,下載對應的控制腳本,通過腳本中提供的人機交互界面進行操控;
S32,根據設備的描述文件描述的功能進行設備控制;
S33,根據設備描述文件設備上報數據;
S34,在服務進行的整個時間內,只要變量值發生了變化或者模式的狀態發生了改變,就產生了一個事件,系統將修改上述提到的事件列表的內容;隨之,設備把事件向發送給網關,網關將數據發送給后臺服務器;另一方面,網關可以通過觸發器讓設備滿足一定條件將事件上報上來;
S35,設備上報事件信息;
S36,添加觸發器;
S37,獲取設備的狀態:包括網關發送和設備返回。
本發明的優點:
本發明的方法和生成的描述文件很簡單;不受聯網方式的限制,可以實現internet的連接,也可以用于Zigbee,藍牙等其他方式;對設備性能的要求非常低,沒有大量的計算,復雜的邏輯,也不依賴于其他的功能或系統。
除了上面所描述的目的、特征和優點之外,本發明還有其它的目的、特征和優點。下面將參照圖,對本發明作進一步詳細的說明。
附圖說明
構成本申請的一部分的附圖用來提供對本發明的進一步理解,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。
圖1是本發明的一種物聯網設備的發現和控制方法流程圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
參考圖1,如圖1所示的一種物聯網設備的發現和控制方法,包括以下步驟:
S1,設備自動發現:
IP地址是整個系統工作的基礎條件,每個設備都是動態主機配置協議DHCP的客戶;當設備首次與網絡建立連接后,利用DHCP服務,使設備得到一個IP地址,這個IP地址是DHCP系統指定的,或是由設備選擇的;設備接入網絡、取得IP地址之后,開始向網絡“廣播”自己已經進入網絡,即尋找控制請求;
S2,描述:主要的描述項目有:控制的模式名稱和模式號碼、設備序列號、制造廠商控制的ULR;
S3,設備控制:
網關找到設備描述之后,從描述中提煉出要進行的操作并獲悉的功能、事件、數據、狀態以及它們用到的參數;這些描述必須是很確切、很詳細的,描述中可能包含有命令或行為列表、服務響應信息、用到的參數;
對于服務的每個行為,也伴有描述信息:主要是整個服務進行期間的變量、變量的數據類型、能用的取值范圍和事件的特征;
要控制某個設備,控制點必須先發送一個控制行為請求,要求設備開始服務,然后再按設備的ULR發送相應的控制消息,控制消息就是放置在設備描述文件的信息;最后,服務會返回響應信息,指出服務是成功或是失敗。
所述步驟S3還包括:
網關在收到設備的描述文件后完成如下的控制:
S31,根據設備的信息描述展示設備,下載對應的控制腳本,通過腳本中提供的人機交互界面進行操控;
S32,根據設備的描述文件描述的功能進行設備控制;
S33,根據設備描述文件設備上報數據;
S34,在服務進行的整個時間內,只要變量值發生了變化或者模式的狀態發生了改變,就產生了一個事件,系統將修改上述提到的事件列表的內容;隨之,設備把事件向發送給網關,網關將數據發送給后臺服務器;另一方面,網關可以通過觸發器讓設備滿足一定條件將事件上報上來;
S35,設備上報事件信息;
S36,添加觸發器;
S37,獲取設備的狀態:包括網關發送和設備返回。
本發明實施例的一種物聯網設備的發現和控制方法,在設備組網時必須至少有一個網關節點,網關節點能通過級聯組建更大的網絡,同一級網絡中如果存在多個網關時按先接入優先的原則控制網絡內的其他設備,如果這個網關不在工作,其他的網關接替它的工作,控制網關內的其他設備;
網關和設備能在同一局域內,網關也能在internet上,在局域網內網關能通過組播的方式廣播自己的信息,設備收到后講自己的設備描述文件發送網關完成組網;如果網關發現網絡中已經存在其他網關,則自動降級為設備連入網關,當發現網關不存在時提升為網關,并組播自己的信息,接管網絡中的其他設備;如果網關是在internet上,則需要指定設備的連接網關。
本發明的方法和生成的描述文件很簡單;不受聯網方式的限制,可以實現internet的連接,也可以用于Zigbee,藍牙等其他方式;對設備性能的要求非常低,沒有大量的計算,復雜的邏輯,也不依賴于其他的功能或系統。
以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。