章思恩, 劉 瑜, 熊衛(wèi)華
(浙江理工大學(xué) 機(jī)械與自動(dòng)控制學(xué)院, 杭州 310018)
基于物聯(lián)網(wǎng)Android平臺(tái)的藍(lán)寶石長(zhǎng)晶監(jiān)測(cè)系統(tǒng)①
章思恩, 劉 瑜, 熊衛(wèi)華
(浙江理工大學(xué) 機(jī)械與自動(dòng)控制學(xué)院, 杭州 310018)
為實(shí)時(shí)了解和掌握藍(lán)寶石自動(dòng)長(zhǎng)晶設(shè)備的運(yùn)行狀態(tài), 本文設(shè)計(jì)了一種基于物聯(lián)網(wǎng)Android開(kāi)發(fā)平臺(tái)的監(jiān)測(cè)系統(tǒng). 該系統(tǒng)以Android移動(dòng)設(shè)備作為客戶端, 接收PC服務(wù)器端傳送過(guò)來(lái)的數(shù)據(jù), 實(shí)現(xiàn)數(shù)據(jù)可視化, 實(shí)時(shí)監(jiān)測(cè)顯示加熱功率, 加熱電壓電流, 冷卻水溫、旋轉(zhuǎn)速度、晶體重量和生長(zhǎng)速度等參數(shù)數(shù)據(jù). 本文首先介紹了藍(lán)寶石長(zhǎng)晶設(shè)備的監(jiān)測(cè)需求, 隨后闡述了系統(tǒng)的組成及各模塊功能的設(shè)計(jì), 運(yùn)用SQLite數(shù)據(jù)儲(chǔ)存、Socket通信等, 設(shè)計(jì)并實(shí)現(xiàn)了基于物聯(lián)網(wǎng)Android的藍(lán)寶石自動(dòng)長(zhǎng)晶設(shè)備監(jiān)測(cè)系統(tǒng)的客戶端.
Android平臺(tái); 藍(lán)寶石長(zhǎng)晶; 物聯(lián)網(wǎng); 遠(yuǎn)程監(jiān)測(cè)
隨著世界信息產(chǎn)業(yè)的發(fā)展, 物聯(lián)網(wǎng)逐漸成為推動(dòng)經(jīng)濟(jì)與技術(shù)發(fā)展的“重要生產(chǎn)力”, 其發(fā)展已經(jīng)成為創(chuàng)新2.0時(shí)代的重要產(chǎn)業(yè)發(fā)展戰(zhàn)略, 物聯(lián)網(wǎng)技術(shù)已經(jīng)在各個(gè)重要領(lǐng)域發(fā)揮積極作用. 物聯(lián)網(wǎng)在遠(yuǎn)程監(jiān)測(cè)方面的運(yùn)用研究, 目前國(guó)內(nèi)國(guó)外, 主要通過(guò)傳感器感知技術(shù)、現(xiàn)代通信技術(shù)及數(shù)據(jù)融合技術(shù), 實(shí)現(xiàn)在各個(gè)行業(yè)中的監(jiān)測(cè)效果, 國(guó)內(nèi)的運(yùn)用如在煤礦安全[1]、建筑火災(zāi)[2]及作物種植[3]等領(lǐng)域; 國(guó)外研究人員也在醫(yī)療[4,5]、水系統(tǒng)[6]等多個(gè)領(lǐng)域有所探索. 而在藍(lán)寶石自動(dòng)長(zhǎng)晶領(lǐng)域,未見(jiàn)到基于物聯(lián)網(wǎng)Android平臺(tái)的藍(lán)寶石長(zhǎng)晶監(jiān)測(cè)技術(shù)的相關(guān)報(bào)道.
目前, 藍(lán)寶石晶體在智能終端產(chǎn)品防護(hù)屏的應(yīng)用,使其越來(lái)越受到大眾的關(guān)注, 而這一應(yīng)用能否被廣泛推廣, 藍(lán)寶石晶體的生產(chǎn)質(zhì)量顯然是極其重要的一個(gè)因素. 因此, 對(duì)藍(lán)寶石晶體生產(chǎn)設(shè)備的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè), 顯得至關(guān)重要. 而藍(lán)寶石晶體生產(chǎn)設(shè)備的監(jiān)測(cè)現(xiàn)在主要以現(xiàn)場(chǎng)人員監(jiān)測(cè)為主, 這極大地限制了生產(chǎn)自動(dòng)化程度以及生產(chǎn)規(guī)模.
本文基于Android平臺(tái), 運(yùn)用物聯(lián)網(wǎng)技術(shù), 設(shè)計(jì)并開(kāi)發(fā)了藍(lán)寶石長(zhǎng)晶監(jiān)測(cè)系統(tǒng), 提高監(jiān)測(cè)和評(píng)估的實(shí)時(shí)性, 最終保證藍(lán)寶石晶體的生長(zhǎng)質(zhì)量. 該系統(tǒng)使用Socket模塊通信來(lái)獲取前端數(shù)據(jù), 并通過(guò)移動(dòng)終端——Android智能手機(jī)來(lái)顯示相關(guān)數(shù)據(jù)信息[7,8]. 在此基礎(chǔ)上進(jìn)一步完善常規(guī)人工監(jiān)控、建立數(shù)據(jù)庫(kù)系統(tǒng), 建立與智能技術(shù)相結(jié)合的藍(lán)寶石長(zhǎng)晶設(shè)備運(yùn)行狀態(tài)的分析, 從而了解藍(lán)寶石生長(zhǎng)狀態(tài).
藍(lán)寶石長(zhǎng)晶監(jiān)測(cè)系統(tǒng)采用客戶/服務(wù)器模式, 主要分為底層模塊(設(shè)備及傳感器、控制器模塊)、服務(wù)器及Android手機(jī)客戶端等模塊, 總體結(jié)構(gòu)如圖1所示. 在該系統(tǒng)中, 需要實(shí)時(shí)采集晶體重量、溫度、真空度、位置、功率、電流、電壓等參數(shù)數(shù)據(jù), 長(zhǎng)晶設(shè)備上的重量傳感器采用的是HBM的橫梁式傳感器, 溫度傳感器采用的是PT100, 位置傳感器采用的是光柵尺, 各個(gè)傳感器將采集到的各項(xiàng)信號(hào)傳輸?shù)娇刂乒裰械腜LC(可編程邏輯控制器)中, 本系統(tǒng)采用的PLC模塊是Beckhoff的CX1020. PLC通過(guò)Modbus協(xié)議與PC機(jī)實(shí)現(xiàn)通訊, 作為服務(wù)器端的PC機(jī)儲(chǔ)存了各個(gè)參數(shù)的數(shù)據(jù)庫(kù), 當(dāng)用戶有監(jiān)測(cè)需要時(shí), Android手機(jī)客戶端向服務(wù)器端發(fā)送請(qǐng)求, 獲取數(shù)據(jù)并在相應(yīng)界面中顯示.
圖1 系統(tǒng)設(shè)計(jì)總體圖
Android客戶端通過(guò)同服務(wù)器的數(shù)據(jù)交互, 及自身的網(wǎng)絡(luò)通信、數(shù)據(jù)庫(kù)管理等功能, 主要可實(shí)現(xiàn)用戶登錄、數(shù)據(jù)顯示、關(guān)鍵數(shù)據(jù)圖表顯示, 數(shù)據(jù)分析及報(bào)警信息獲取等功能, 使用戶能夠?qū)崟r(shí)監(jiān)測(cè)藍(lán)寶石長(zhǎng)晶設(shè)備運(yùn)行狀態(tài).
2.1 Android Studio平臺(tái)搭建
本設(shè)計(jì)運(yùn)用Android Studio IDE開(kāi)發(fā)環(huán)境實(shí)現(xiàn)客戶端程序的編寫, 開(kāi)發(fā)所使用的是Java語(yǔ)言. Android Studio是Google在2013年發(fā)布的一種新的免費(fèi)Android開(kāi)發(fā)環(huán)境, 類似于Eclipse、ADT插件和SDK Manager的組合.
在本設(shè)計(jì)中, 開(kāi)發(fā)平臺(tái)搭建主要包括以下步驟: ①下載并安裝JDK及Java運(yùn)行環(huán)境JRE[9]; ②設(shè)置環(huán)境變量:JAVA_HOME, PATH, CLASSPATH, 并進(jìn)行配置檢驗(yàn)[10];③在Google官網(wǎng)下載android-studio-bundle- 2.2 Android客戶端主要功能模塊設(shè)計(jì)及實(shí)現(xiàn) 2.2.1 客戶端界面設(shè)計(jì) 在本系統(tǒng)設(shè)計(jì)的客戶端軟件中, 主要包括歡迎界面、個(gè)人中心界面、設(shè)備界面等. 通過(guò)歡迎界面, 可了解該軟件的用途及版本號(hào)等信息, 如圖2所示; 通過(guò)個(gè)人中心界面, 用戶可以進(jìn)行登錄、查看登錄日志及設(shè)置用戶信息等操作, 這三大功能主要以listview列表方式顯示; 通過(guò)設(shè)備界面, 可以進(jìn)入各個(gè)設(shè)備的具體信息界面, 界面運(yùn)用Fragment實(shí)現(xiàn)底部導(dǎo)航欄, 包括首頁(yè)、狀態(tài)、日志、設(shè)置四大內(nèi)容. 圖2 客戶端程序歡迎界面 本軟件需要實(shí)現(xiàn)的數(shù)據(jù)顯示、曲線繪制等重要功能在設(shè)備界面的首頁(yè)子菜單中實(shí)現(xiàn), 首頁(yè)包含三個(gè)小模塊, 運(yùn)用gridview實(shí)現(xiàn), 點(diǎn)擊可分別進(jìn)入實(shí)時(shí)數(shù)據(jù)界面、實(shí)時(shí)圖表界面及報(bào)警信息界面. 實(shí)時(shí)數(shù)據(jù)界面主要包括各個(gè)重要數(shù)據(jù)的顯示; 實(shí)時(shí)圖表界面主要顯示關(guān)鍵數(shù)據(jù)的實(shí)時(shí)圖表; 報(bào)警信息界面主要顯示一定時(shí)間內(nèi)發(fā)生的報(bào)警信息, 界面圖如圖3所示. 三個(gè)界面主要通過(guò)點(diǎn)擊實(shí)時(shí)數(shù)據(jù)按鈕, 向PC機(jī)端發(fā)送請(qǐng)求, PC機(jī)通過(guò)請(qǐng)求, 將相關(guān)實(shí)時(shí)數(shù)據(jù)發(fā)送至手機(jī)客戶端并在界面顯示. 圖3 客戶端首頁(yè)界面 2.2.2 網(wǎng)絡(luò)通信模塊設(shè)計(jì) 本系統(tǒng)的網(wǎng)絡(luò)通信模塊主要運(yùn)用基于TCP/IP協(xié)議的Socket通信方式[11,12]. Socket為套接字, 是一種雙向的通信端口, 提供客戶端與服務(wù)器端的連接通道, 通過(guò)將其綁定端口, 實(shí)現(xiàn)應(yīng)用程序?qū)?shù)據(jù)的發(fā)送及接收. 其通信模型主要如圖4所示. 圖4 Socket TCP通信模型 為了提高本系統(tǒng)的通信效率, 將Socket通信接收部分的任務(wù)在獨(dú)立的線程Thread中執(zhí)行, 程序?qū)?huì)把用戶的操作放在兩個(gè)線程內(nèi), 并發(fā)執(zhí)行, 從而實(shí)現(xiàn)服務(wù)器端與客戶端之間的快速通信. 本系統(tǒng)的Socket通信的實(shí)現(xiàn)過(guò)程主要如下: ① 在客戶端創(chuàng)建一個(gè)Socket對(duì)象, 指定服務(wù)器的域名(IP地址)以及端口號(hào), 建立一個(gè)新的Socket連接, 向服務(wù)器發(fā)送連接請(qǐng)求. ② 服務(wù)器端創(chuàng)建一個(gè)ServerSocket對(duì)象, 接受客戶端的連接請(qǐng)求. ③ 確認(rèn)連接成功后, 客戶端啟動(dòng)監(jiān)聽(tīng)按鈕, 接收服務(wù)器發(fā)送過(guò)來(lái)的相關(guān)數(shù)據(jù). Socket通信成功的實(shí)現(xiàn)形式為在實(shí)時(shí)數(shù)據(jù)界面的“獲取數(shù)據(jù)”Button按鈕模塊下寫入android:onClick=“onClickgetData”, 建立on Click()監(jiān)聽(tīng)器, 用戶通過(guò)點(diǎn)擊該Button按鈕, 觸發(fā)相應(yīng)事件, 建立Socket通信連接, 接收數(shù)據(jù)并將藍(lán)寶石生長(zhǎng)的各項(xiàng)運(yùn)行數(shù)據(jù)顯示在界面上. 2.2.3 數(shù)據(jù)監(jiān)測(cè)模塊設(shè)計(jì) 本系統(tǒng)主要檢測(cè)藍(lán)寶石自動(dòng)長(zhǎng)晶過(guò)程中的關(guān)鍵數(shù)據(jù)信息: 電壓變化、反饋電壓、反饋功率、反饋電流、提拉速度、進(jìn)水溫度、出水溫度、爐體水溫、旋轉(zhuǎn)速度、籽晶桿水溫、高空度等. 其界面設(shè)計(jì)如圖5所示. 圖5 實(shí)時(shí)數(shù)據(jù)界面 客戶端程序運(yùn)行時(shí), 打開(kāi)實(shí)時(shí)數(shù)據(jù)界面, 點(diǎn)擊“獲取實(shí)時(shí)數(shù)據(jù)”按鈕, 接收服務(wù)器端發(fā)送過(guò)來(lái)的相關(guān)數(shù)據(jù),顯示在界面相應(yīng)的TextView控件中; 為確保數(shù)據(jù)安全,用戶可點(diǎn)擊“刪除數(shù)據(jù)”按鈕, 刪除保存在數(shù)據(jù)庫(kù)的數(shù)據(jù). 數(shù)據(jù)獲取后的顯示效果如圖6所示. 2.2.4 曲線繪制模塊設(shè)計(jì) 為了方便用戶能夠掌握關(guān)鍵數(shù)據(jù)在一定時(shí)間內(nèi)的變化趨勢(shì), 設(shè)計(jì)了數(shù)據(jù)曲線繪制功能, 幫助用戶及時(shí)了解長(zhǎng)晶設(shè)備是否正常運(yùn)行, 主要顯示包括晶體重量、電壓變化、提拉速度、進(jìn)出水溫度等參數(shù)的變化曲線.本設(shè)計(jì)主要運(yùn)用一款名為AChartEngine的繪圖引擎,LinerLayout()組件作為顯示的容器. 具體實(shí)現(xiàn)主要包括以下步驟: ① 導(dǎo)入achartengine-1.2.0.jar. 在相關(guān)網(wǎng)站下載achartengine-1.2.0.jar, 將其粘貼到本app目錄下的libs文件夾下, 再在Android Studio相關(guān)位置進(jìn)行設(shè)置. ② 封裝工具類. 根據(jù)藍(lán)寶石長(zhǎng)晶實(shí)際所需曲線顯示情況封裝一個(gè)工具類, 包括X、Y坐標(biāo)軸的設(shè)置, 序列的顏色, 序列點(diǎn)的類型等設(shè)置. ③ 創(chuàng)建數(shù)據(jù)庫(kù). 創(chuàng)建用于存放從PC端服務(wù)器接收數(shù)據(jù)的數(shù)據(jù)庫(kù), 設(shè)置為數(shù)據(jù)獲得一次運(yùn)用后即刪除. ④ 獲得數(shù)據(jù). 通過(guò)點(diǎn)擊按鈕向PC端請(qǐng)求相關(guān)數(shù)據(jù),將獲得的數(shù)據(jù)保存至數(shù)據(jù)庫(kù). ⑤ 繪制曲線圖. 在曲線顯示界面添加LinerLayout()組件, 通過(guò)調(diào)用工具類將獲得的數(shù)據(jù)以曲線圖的形式顯示在界面中. 圖6 實(shí)時(shí)數(shù)據(jù)顯示界面 客戶端運(yùn)行界面效果如圖7所示, 顯示的是功率變化的折線圖. 本文設(shè)計(jì)的基于物聯(lián)網(wǎng)Android的藍(lán)寶石長(zhǎng)晶監(jiān)測(cè)系統(tǒng), 其開(kāi)發(fā)的客戶端程序可在Android移動(dòng)終端上運(yùn)行, 通過(guò)與服務(wù)器的連接, 獲取相關(guān)數(shù)據(jù), 實(shí)現(xiàn)了對(duì)藍(lán)寶石長(zhǎng)晶設(shè)備運(yùn)行過(guò)程中重要參數(shù)的遠(yuǎn)程監(jiān)測(cè), 實(shí)現(xiàn)了實(shí)時(shí)了解設(shè)備的運(yùn)行狀態(tài), 方便且成本低. 接下來(lái)的工作主要是進(jìn)一步加強(qiáng)系統(tǒng)的穩(wěn)定性、安全性等性能, 加強(qiáng)數(shù)據(jù)的保密性, 增加數(shù)據(jù)分析及評(píng)價(jià)等功能,同時(shí)完善客戶端程序, 使其實(shí)現(xiàn)更好的人機(jī)交互. 圖7 功率數(shù)據(jù)曲線顯示界面 1王軍號(hào), 孟祥瑞. 基于物聯(lián)網(wǎng)感知的煤礦安全監(jiān)測(cè)數(shù)據(jù)級(jí)融合研究. 煤炭學(xué)報(bào), 2012, 37(8): 1401–1407. 2馬鑫, 黃全義, 劉全義, 等. 基于物聯(lián)網(wǎng)的建筑火災(zāi)動(dòng)態(tài)監(jiān)測(cè)方法 .清華大學(xué)學(xué)報(bào)(自然科學(xué)版) ,2012 ,52(11) :1584–1590. 3黎貞發(fā), 王鐵, 宮志宏, 等. 基于物聯(lián)網(wǎng)的日光溫室低溫災(zāi)害監(jiān)測(cè)預(yù)警技術(shù)及應(yīng)用 .農(nóng)業(yè)工程學(xué)報(bào) ,2013 ,29(4) :229–236. 4Ray PP. Home health hub internet of things (H3IoT): An architectural framework for monitoring health of elderly people. 2014 International Conference on Science Engineering and Management Research. Chennai, India. 2014. 1–3. 5Jara AJ, Zamora-Izquierdo MA, Skarmeta AF. Interconnection framework for mhealth and remote monitoring based on the internet of things. IEEE Journal on Selected Areas in Communications, 2013, 31(9): 47–65. [doi: 10.1109/JSAC.2013.SUP.0513005] 6Perumal T, Sulaiman MN, Leong CY. Internet of things (IoT)enabled water monitoring system. 2015 IEEE 4th Global Conference on Consumer Electronics. Osaka, Japan. 2015. 86–87. 7尚明華, 秦磊磊, 王風(fēng)云, 等. 基于Android智能手機(jī)的小麥生產(chǎn)風(fēng)險(xiǎn)信息采集系統(tǒng) .農(nóng)業(yè)工程學(xué)報(bào) ,2011 ,27(5) :178–182. 8藍(lán)坤, 張躍. Android在遠(yuǎn)程醫(yī)療信息系統(tǒng)中的應(yīng)用. 計(jì)算機(jī)應(yīng)用, 2013, 33(6): 1790–1792. 9黃宇健, 劉宏韜. Android項(xiàng)目開(kāi)發(fā)范例大全. 北京: 中國(guó)鐵道出版社, 2012. 10歐陽(yáng)零. Android編程兵書. 北京: 電子工業(yè)出版社, 2014. 11孫欽龍, 邵惠鶴. Socket套接字在工業(yè)數(shù)據(jù)通信中的應(yīng)用.控制工程, 2006, 13(3): 274–277. 12孫曉夢(mèng), 王志斌. 基于TCP的多線程Socket通信實(shí)例. 遼東學(xué)院學(xué)報(bào)(自然科學(xué)版), 2013, 20(3): 178–182. Remote Monitoring System Based on IOT Android Platform for Sapphire Crystal Growth ZHANG Si-En, LIU Yu, XIONG Wei-Hua To gather the operation state of automatic sapphire crystal growth in real time, this paper designs a monitoring system based on IOT Android development platform. The Android mobile device as a client receives the data from the PC server and achieves the function of data visualization for real-time parameter monitoring, including heating power,voltage and current, cooling water temperature, rotational speed, crystal weight and growth speed and so on. Firstly, the monitoring needs of Sapphire Crystals Growth is introduced in the paper, and then the composition of the system and the design of each module’s functions are described in detail. Finally, using the development method of SQLite, Socket communication and others, the client for Sapphire Crystals Growth based on IOT Android platform are designed and implemented. Android platform; sapphire crystal growth; IOT; remote monitoring 章思恩,劉瑜,熊衛(wèi)華.基于物聯(lián)網(wǎng)Android平臺(tái)的藍(lán)寶石長(zhǎng)晶監(jiān)測(cè)系統(tǒng).計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(7):126–129. http://www.c-sa.org.cn/1003-3254/5850.html 國(guó)家自然科學(xué)基金(61503341) 2016-10-25; 收到修改稿時(shí)間: 2016-12-053 結(jié)語(yǔ)
(Faculty of Mechanical Engineering and Automation, Zhejiang Sci-Tec University, Hangzhou 310018, China)