本發明涉及無線通訊技術領域,尤其涉及一種多路控制的zigbee設備數據處理方法。
背景技術:
zigbee是基于ieee802.15.4標準的低功耗局域網協議。根據國際標準規定,zigbee技術是一種短距離、低功耗的無線通信技術。其工作基本流程為,設備終端的數據→協調器或路由器(網關)→mcu。ieeemac地址:全球唯一的地址,在設備的整個生命周期內都將保持不同,它由國際ieee組織分配,在芯片出廠時已經寫入芯片中,并且不能修改。短地址:在設備加入一個zigbee網絡時分配的,它只在這個網絡中唯一,用于網絡內數據收發時的地址識別。
目前隨著物聯網技術的快速發展,終端設備的種類也越來越多。由于有些終端設備需要進行多路控制(比如多路燈光的zigbee開關控制器),同時對多路負載進行遠程控制。在使用多路zigbee設備的時候,會遇到這些問題:在設備入網的時候,它會依序發出每一路的入網報告(單路數據只有一份),但mcu端如何鑒別這個只有一個設備。另外mcu端如何實現對每一條通路獨立控制,以及每一路負載數據如何區分上報。
技術實現要素:
針對現有技術存在的不足之處,本發明的目的在于提供一種多路控制的zigbee設備數據處理方法,能夠解決多路控制的zigbee設備入網以及數據處理的問題。
本發明的目的通過下述技術方案實現:
一種多路控制的zigbee設備數據處理方法,包括協調器、微控制單元mcu和若干個終端設備,所述微控制單元mcu、協調器、所有終端設備共同構成一個zigbee局域網絡,所述終端設備包括有若干路控制通道,同一終端設備中的每路控制通道被對應賦予一個通道值,所述終端設備內部存儲有mac地址、設備名稱、設備類型和通道值;所有終端設備通過協調器連接進入zigbee局域網絡,所述協調器給每個終端設備分配一個入網短地址;所述微控制單元mcu內部具有設備列表數據庫,所述設備列表數據庫包括若干個設備節點,每個設備節點存儲有對應終端設備的mac地址、設備名稱、設備類型、通道值和入網短地址,其方法包括如下:
a、所述微控制單元mcu通過協調器連接進入zigbee局域網絡中,各個終端設備分別通過協調器連接進入zigbee局域網絡中,所述微控制單元mcu內部具有設備列表數據庫;所述協調器給每個終端設備分配一個入網短地址;
當一個終端設備連接進入zigbee局域網絡中,微控制單元mcu中的設備列表數據庫就設置該終端設備所對應的設備節點,所述設備節點存儲有對應終端設備的mac地址、設備名稱、設備類型、通道值和入網短地址;這樣以此完成所有終端設備連接進入zigbee局域網絡中,并且微控制單元mcu中的設備列表數據庫存儲有所有終端設備所對應的設備節點;
b、某個終端設備從zigbee局域網絡中斷開,然后此終端設備再連接進入zigbee局域網絡中,所述協調器給該終端設備分配一個入網短地址并將該終端設備的mac地址和入網短地址上報至微控制單元mcu,所述微控制單元mcu將該終端設備的mac地址在設備列表數據庫中進行匹配,找到該終端設備所對應的設備節點,然后更新設備節點中所對應該終端設備的入網短地址;
c、所述微控制單元mcu向zigbee局域網絡中終端設備的某個路控制通道發出控制命令或查詢命令,所述微控制單元mcu會通過設備列表數據庫識別出該終端設備所對應的設備節點,然后微控制單元mcu通過設備節點找尋通道值,終端設備中相應控制通道收到控制命令或查詢命令后響應控制操作,終端設備通過zigbee局域網絡向微控制單元mcu反饋控制結果和查詢所得到的負載情況。
本發明較現有技術相比,具有以下優點及有益效果:
本發明微控制單元mcu能夠實現對每一條通路的終端設備的通道進行獨立控制,以及可以實現每一路負載數據的區分上報,本發明能夠解決多路控制的zigbee設備入網以及數據處理的問題。
附圖說明
圖1為本發明實施例二步驟a的流程示意圖;
圖2為本發明實施例二步驟b的流程示意圖。
具體實施方式
下面結合實施例對本發明作進一步地詳細說明:
實施例一
一種多路控制的zigbee設備數據處理方法,包括協調器、微控制單元mcu和若干個終端設備,所述微控制單元mcu、協調器、所有終端設備共同構成一個zigbee局域網絡,所述終端設備包括有若干路控制通道,同一終端設備中的每路控制通道被對應賦予一個通道值,所述終端設備內部存儲有mac地址、設備名稱、設備類型和通道值;所有終端設備通過協調器連接進入zigbee局域網絡,所述協調器給每個終端設備分配一個入網短地址;所述微控制單元mcu內部具有設備列表數據庫,所述設備列表數據庫包括若干個設備節點,每個設備節點存儲有對應終端設備的mac地址、設備名稱、設備類型、通道值和入網短地址,其方法包括如下:
a、所述微控制單元mcu通過協調器連接進入zigbee局域網絡中,各個終端設備分別通過協調器連接進入zigbee局域網絡中,所述微控制單元mcu內部具有設備列表數據庫;所述協調器給每個終端設備分配一個入網短地址;
當一個終端設備連接進入zigbee局域網絡中,微控制單元mcu中的設備列表數據庫就設置該終端設備所對應的設備節點,所述設備節點存儲有對應終端設備的mac地址、設備名稱、設備類型、通道值和入網短地址;這樣以此完成所有終端設備連接進入zigbee局域網絡中,并且微控制單元mcu中的設備列表數據庫存儲有所有終端設備所對應的設備節點;
b、某個終端設備從zigbee局域網絡中斷開,然后此終端設備再連接進入zigbee局域網絡中,所述協調器給該終端設備分配一個入網短地址并將該終端設備的mac地址和入網短地址上報至微控制單元mcu,所述微控制單元mcu將該終端設備的mac地址在設備列表數據庫中進行匹配,找到該終端設備所對應的設備節點,然后更新設備節點中所對應該終端設備的入網短地址;
c、所述微控制單元mcu向zigbee局域網絡中終端設備的某個路控制通道發出控制命令或查詢命令,所述微控制單元mcu會通過設備列表數據庫識別出該終端設備所對應的設備節點,然后微控制單元mcu通過設備節點找尋通道值,終端設備中相應控制通道收到控制命令或查詢命令后響應控制操作,終端設備通過zigbee局域網絡向微控制單元mcu反饋控制結果和查詢所得到的負載情況。
實施例二
如圖1、圖2所示,一種多路控制的zigbee設備數據處理方法,包括協調器、微控制單元mcu和若干個終端設備,所述微控制單元mcu、協調器、所有終端設備共同構成一個zigbee局域網絡,所述終端設備包括有若干路控制通道,同一終端設備中的每路控制通道被對應賦予一個通道值,所述終端設備內部存儲有mac地址、設備名稱、設備類型和通道值;所有終端設備通過協調器連接進入zigbee局域網絡,所述協調器給每個終端設備分配一個入網短地址;所述微控制單元mcu內部具有設備列表數據庫,所述設備列表數據庫包括若干個設備節點,每個設備節點存儲有對應終端設備的mac地址、設備名稱、設備類型、通道值和入網短地址,其方法包括如下:
a、協調器收到多路終端設備依序發送的多路通道的入網短地址和控制的通道路數等數據后,通過串口向mcu發送數據。每接收到一條入網報告mcu首先會輪詢現有的終端設備列表,將收到的上報數據中設備短地址與設備列表中的數據進行比較,如果出現匹配值,再將接收到的設備的point值(通道值)與設備列表中的point值進行比較,如果大于現有的point值,則把較大值更新到設備列表中;將收到的上報數據中設備短地址與設備列表中的數據進行比較,如果未出現匹配值,則新建設備節點數據結構并添加到設備列表中。
b、mcu接收到多路終端的短地址和mac地址上報,mcu輪詢現有的終端設備列表,將收到的上報數據中設備短地址與設備列表中的數據進行比較,找到相應的節點nd_shortaddress,然后再根據mac地址輪詢設備列表,如果能找到匹配的節點nd_mac,則把現有的短地址值更新到節點nd_mac的短地址中,從設備列表中刪除節點nd_shortaddress的數據;如果根據mac地址找不到節點,則把mac的值更新到節點nd_shortaddress的mac值,然后報新設備上線。
c、控制或者查詢指定通道的負載時,向多路終端發送包含point值的控制命令或者查詢,終端在收到正確的指令后返回相應point值通道的負載的狀態。
本實施例舉例終端設備為3路燈zigbee控制器,3路燈zigbee控制器入網時依次上報3條短地址和控制路數,mac地址等等數據,網關(mcu端)輪詢與網關組網的所有傳感器的設備數據列表,將接收到的數據中的短地址和設備列表的所有節點的值進行比較,如果出現匹配的值,則進入下一步驟;否則,分配新的內存,建立一個新的設備節點的結構體數據,把接收到的數據復制到這個節點的結構體;比較接收到設備point值,如果這個值大于設備數據列表的值,則把較大的point值進行更新,最終point值應為3;3路燈短地址和mac地址上報,網關(mcu端)將接收到短地址數據和設備數據列表中的數據進行比較,找到相匹配的節點nd_shortaddress;下一步將接收到mac數據和設備數據列表中的mac數據進行比較,如果能找到匹配的值,找到相對應的節點nd_mac,則將接收到的短地址數據更新到該節點的短地址數據中,從設備列表中刪除nd_shortaddress,;如果沒有找到匹配的節點,則接收到的mac數據更新到節點nd_shortaddress中的mac值中,上報新設備上線;向3路燈控制器的第2路發送開燈指令或者查詢命令,則網關(mcu端)需把point值為2的控制命令發出,設備收到正確的指令后做出開燈動作或者返回2路燈的狀態。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。