劉洪濤 廖茂萍
(1.成都職業技術學院 四川省成都市 610041 2.成都工業職業技術學院 四川省成都市 610213)
隨著學校實驗室越來越開放,儀器和器材的管理越加復雜和困難,使用新技術進行自動管理的需求越來越強,現代的技術教育更加注重學生的實踐,學校的實驗室也在對學生的開放上越來越強,大量的創新型實驗室、創客型實驗室也應運而生,這為學生提供更好的學習科研環境的同時,設備與器材的管理也不斷困擾實驗管理員和教師,實驗管理員或教師不可能24 小時為在實驗室的學生提供管理與服務,導致設備損壞、遺失等事件高發,同時,也難以對設備使用情況進行準確地記錄,降低了管理效率。同時,由于對固定資產管理水平要求越來越高,又需要管理者能對這些固定資產進行精細化的管理,完全由人工來管理的工作方法也越來越不現實了。
作為一種可自組網的系統,Zigbee 有獨特的優勢。TI 公司為Zigbee 開發了用于自組網的Zstack 協議棧,可實現房間空間的所有節點自動完成動態無線路由設計與配置,從而使每個節點可以在網絡中隨時加入、退出和移動,這些特點使它在一些特別的應用場景中顯得非常有價值,同時,TI 公司的Zigbee 芯片CC2531 極強的節能水平,使得該技術在設備管理上的應用變得可行。
傳感層的數據需要通過Internet 才能被有效共享,物聯網的云平臺為這種數據共享提供了非常好的平臺和應用開發工具。基于這樣的平臺,可以非常容易地開發出對設備柜設備的實時遠程查看與管理。
本設計是將具有RFID 檢測柜內設備的能力的智能設備柜通過Zigbee 進行聯網,并通過阿里云物聯網平臺實現對儀器的自動借出、歸還、清點和使用記錄,從而準確地追蹤儀器設備的使用路線和使用記錄,實現對儀器設備的精細化管理。
總體設計如圖1 所示。
在這個結構中,最低層的是從柜端到設備端的總線網絡,這一層實現柜子內部的信息采集,完成對柜內設備的清點與查找;其上一層是基于Zigbee 的無線自組網,實現了小區域(一個房間內)柜子之間的無線聯網,避免了網絡連線,提升了靈活性;再上一層為傳統的局域網,由路由和集線器等構成,它將各個小區域進行聯網,可根具體分布選擇不同的組網方式;最上一層為基于云平臺數據管理的以Internet 為基礎的廣域網,實現云平臺數據管理與移動端數據訪問。
它位于體系結構的最低層,電氣上基于RS485 技術規范,為了回避RS485 總線非全雙工的問題,此處采用了雙485 結構,實現了設備端數據的快速讀取。

圖1:總體系統框圖
在這個網絡上,柜端承擔了主機(Master)的角色,所有設備端都是從機(Slave)。這條雙485 總線上,一對總線為指令總線,只負責將主機的指令廣播下傳給所有從機,從機的數據則通過另一對總線(數據總線)上傳主機。從機不間斷監聽指令總線,當聽到主機廣播中有要求自己上傳數據的指令時,才會在規定的時間內將相關數據上傳,其它時間只監聽和判斷總線空閑。這樣一來,主機與從機之間就形成了全雙工通信:主機在任意時間都可以下達指令,為了避免多個從機沖突,從機在主機的協調下,當監聽到總線空閑的時候,在規定的時間內上傳數據。
設備端是以RFID 讀卡器為主的設備識別端,每個設備都有一個獨立的不干膠柔性RFID 卡貼在設備后蓋合適位置,當設備放入設備柜后,RFID 卡靠近讀卡器,讀卡器通過讀取卡的序列號實現對設備是否在柜中的判斷。同時,關于設備的信息,包括狀態記錄和維修記錄,都被云平臺數據庫存在該ID 序列號下,實現對設備的精細化管理。
使用了RFID 管理后,設備可被放在任意柜中或柜中任意位置,要取用時,可通過每個讀卡器上的LED 進行位置提示,實現對設備借用歸還的柔性化精細化管理。
Zigbee 是基于IEEE802.15.4 標準的低功耗PAN 協議,它規定了該技術是一種短距離、低功耗、窄帶的無線通信技術,非常適合實驗室內設備柜與管理端的通信。
ZigBee 無線網絡由諸多節點組成。ZigBee 節點有三種類別,分別是協調器(Coodinator)、路由器(Router)、終端(End Device)。同一網絡中至少需要一個也只能有1 個協調器,負責各個節點16 位地址分配,通過自組網的協議棧,可以實現地址的自動分配。
ZigBee 無線網絡根據連接的拓撲方式,可以分為星形、樹型和網形三種,為了適應面積較大實驗室的使用,采用樹形網是較優的選擇,如果某個設備柜與協調器節點太遠(通常距離大于10 米),就有可能無法與協調器節點直接連接,這時候通過某個中間的路由節點,就可以實現連網通信了。
實現這一過程,使用了Z-stack 協議棧。Z-stack 協議棧繼承了Zigbee 無線網協議層的架構,它的物理層和媒體訪問層基于IEEE802.15.4 規范,而網絡層和應用層則基于標準Zigbee 規范。如果某些節點或全部節點被設置為路由節點,這些節點便可以成為某兩個相距較遠節點的中斷路由,協議棧通過對各節點信號強度的測量確定它與這些節點的通信距離,并由此構建出最為合理的網絡結構,這種網絡構建是動態的,會不斷根據節點的通斷電增刪節點,也能不斷根據節點的移動改變網絡結構,實現所謂的自組網,實現將小區域內的設備柜聯網。
每個設備柜為一個Zigbee 節點,為適應不同的房間布置后的自組網生成,都被設置成了路由節點。每個節點周期性地將本柜的數據通過這個自組網上報,上報的數據為柜端通過總線對柜內設備端掃描清點獲得。
Z-stack 協議棧的APL 層可以理解成一個基于任務循環的簡單操作系統,如果要增加一個新的任務,則需要將這個任務加入到循環中。加入的方法是先進行登記,再將任務函數加入到任務列表,從而在循環中實現任務功能。在本例中,循環中最主要的任務是對本柜設備的掃描清點。
如果僅有一個實驗室,只需要一個Zigbee 網絡即可實現對所有設備柜的覆蓋,則這個中層局域網絡是可以省略的。如果有多個實驗室,需要將設備柜納入統一管理,這些實驗室則需要通過中層局域網絡來連接,這種中層局域網絡是成熟的以太局域網,它可以根據具體情況設計網絡拓撲結構。
中層局域網將所有的實驗室設備柜數據都可以匯集到服務器中,這個服務器可以是本地的服務器,也可以是云服務器,而后者可以實現基于互聯網的遠程管理。本例使用的是阿里云物聯網的云平臺。
物聯網云平臺是實現物聯網遠程管理的重要平臺工具,很多網絡公司均在打造屬于自己的物聯網平臺,如阿里云、百度云、騰迅云等,各種云平臺有各自的特色與特點,但有大致相似的基本架構。本例以阿里云物聯網平臺為例,完成設備柜管理數據的云平臺共享。
阿里云物聯網平臺有豐富而完備的架構與模塊,本項目僅使用它的少量資源,在這個架構中,Zigbee 協調器作為云平臺的設備為物聯網平臺提供數據,物聯網平臺完成數據的存儲、設備管理、數據監控以及權限管理等工作。除此之外,阿里云還提供了諸多產品,如果函數計算、圖像識別、機器學習等,這些可用于本例的升級應用。
阿里云物聯網平臺為開發者提供了相應的開發平臺LinkDevelop,可以方便地開發數據接入、Web 端大屏顯示、移動端(IOS 和Android)簡單應用、服務器端的相應應用。具體開發過程分為以下幾步:
LinkDevelop 平臺提供了多種接入方式,例如WiFi、LoRa、ZigBee、藍牙等。接入的過程需要先選擇通訊方式和設備類型,并為設備取名和分類,以及選擇適合的數據結構,最后進行功能定義,功能定義包括功能名稱、標識符、數據類型、取值范圍、單位等更為詳細的內容。
添加測試設備是接入設備的準備。這是因為設備在接入LinkDevelop 平臺時,需要一個三元組(ProductKey,DeviceName,DeviceSecret)來構建連接參數。
建立連接的方法,是使用ZigbeeManager 對象的autoConnect方法先將設備連接到Zigbee。然后再用MQTT 協議將設備接入LinkDevelop 平臺,它由初始化連接參數的函數AliyunIoT_Init()、與阿云IoT 建立連接的函數AliyunIoT_Connect()和檢查連接狀態的函數AliyunIoT_CheckConnection()共同完成。
上報數據前應先對上報的數據進行定義,通常采用定期上報的方式。
在本例中,對數據的應用相對簡單,因此采用非托管web 應用。在設備接入了LinkDevelop 平臺之后,就可以通過這個開發顯示設備柜中的設備儲存數據了。這一過程很簡單,先使用eggjs 作為Web 開發框架,創建并初始化eggjs 應用并創建模板,然后使用aliyun-api-gateway 發出API 請求,最后使用axios 在頁面中發出Ajax 請求,在規定的周期內實現顯示數據的刷新。
采用Web 應用開發,可以使得數據的查看和顯示可以在任意有網絡的地方實現,提升了數據的共享水平。
如果需要,根據這一思路,還可以在LinkDevelop 平臺快速開發出基于IOS 或Android 的應用,這里就不介紹了。
基于云平臺的物聯網解決方案具有突出的優點:開發簡單、開發周期短、網絡功能齊全等,并且避免了服務器等價格昂貴、維護麻煩、升級周期短的建設,僅用少量的租金即可實現企業級的物聯網系統應用。從這些優點來看,基于云平臺的物聯網系統集成的應用會很快成為主流。
數據的獲得主要來源于傳感網,對于數據量小、位置靈活并可能經常移動的應用場景,Zigbee 因其自組網的特性擁有難以替換的優勢。在Zigbee 開發中,使用成熟且易于開發的協議棧,是提升開發效率的關鍵。