周文武 宋巧玲 吳旭東



關鍵詞:物聯網;公共園區;智慧園區
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2022)36-0053-03
1 引言
以物聯網、大數據、云計算代表的新興智能科技,正在掀起一場以信息技術為中心的社會革命,滲透到人類社會的各個領域。“物聯網”被譽為是繼計算機、互聯網與移動通信之后,世界信息產業又一次浪潮,將成為未來帶動中國經濟發展的主要生力軍。物聯網屬于軟件、硬件和網絡三者結合的技術領域。物聯網將人與物、物與物互聯互通,廣泛應用于新零售、工業、物流、智慧城市、通信、安全追溯、農牧業、交通、穿戴設備、智能家居、醫療等領域。物聯網將在全球范圍內連接500億個設備,所帶來的產業價值是互聯網技術的30倍以上。
近幾年國家信息規劃中明確提出要加快信息化和生態文明建設深度融合,利用新一代信息技術,促進產業鏈循環化。推進物聯網感知設施規劃布局,發展物聯網開發應用;實施物聯網重大應用示范工程,推進物聯網應用區域試點,建立城市級物聯網接入管理與數據匯聚平臺,深化物聯網在城市基礎設施、生產經營等環節中的應用[1]。
2 智慧園區的總體設計
對傳統園區進行智能化改造,實現環境監測、園區監控的功能。設計出硬件層、網絡層、平臺層和應用層的四層結構。實現園區數據的長期記錄、采集,通過監控系統完成園區的溫濕度監測、記錄、分析和自動化管理等工作,監測點位可以擴充至上千個,園區管理員可以根據需求在手機App端設定各點位的溫濕度報警值,當出現數據異常時可自動發出報警信號,在溫濕度數值超過警戒線時能夠發送多種報警信號提醒[2]。所用設備包括溫濕度傳感器、光照傳感器、煙霧傳感器等各類環境監測設備,紅外門禁、網絡攝像頭等視頻監控設備,以及加濕器、除濕機、空調等環境維護設備。系統可在線實時24小時連續采集和記錄監測點位的溫濕度情況,監測數據會在第一時間上傳物聯網云端,重點在于開發出一款App軟件,實時查看情況,通過設置多種策略,實現現場報警和手機提示報警燈功能[3]。
技術選型中,PC端采用Windows10操作系統,采用Android Studio 對手機App軟件進行開發,運行終端利用夜神模擬器、真實手機或者平板電腦進行開發和設計。云平臺采用阿里云、機智云或者新大陸進行存儲數據的手機數據連接[4]。
2 智慧園區App設計
2.1 智慧園區登錄界面
設計登錄界面及注冊界面;
1)建一個User類用于封裝用戶數據;
2)建MySQLiteOpenHelper 類用于創建數據庫和創建表;
3)建一個UserDao類用于操作數據庫的添加和查詢數據;
4)LoginActivity用于登錄,處理登錄和注冊按鈕的點擊事件;
5)RegActivity 用于注冊,處理注冊按鈕的點擊事件。
2.2 智慧園區室內環境監測App子系統
一般的園區室內環境監測,只會在下位機顯示一些煙霧數據,煙霧數據超過預警值則會報警,釋放安全門等操作,但經常誤報而且需要專業人員進行調試。針對以上情況,設計一款可以在手機App設定預警值的園區內環境監測系統,采用有線傳感網和Wi-Fi無線網實現。可以實時顯示園區內的溫濕度、光照、煙霧數據;根據溫度高低自動判斷是否需要開/關通風扇、空調;根據濕度大小自動判斷是否需要開/關排氣扇、加濕器;根據光照的強弱自動判斷是否需要開/關照明燈;根據有無煙霧自動判斷是否需要開/關三色燈——橙燈。有煙的時候發出警報提示,并觸發安全門下降[5]。
在XXXX.java中添加根據當前溫度與設置的閾值控制通風扇開關、根據當前濕度與設置的閾值控制排氣扇開關以及根據當前光照與設置的閾值控制照明燈開關的代碼。新建raw文件夾,把報警提示音文件“alarm.wav”放到raw 文件夾下創建通知工具類XXXX.java,設置通知的報警音樂,點擊通知后通知自動消失,跳轉到動作為“home”,類別為“android.intent.category.DEFAULT”的頁面中。在XXXX.xml文件的HomeActivity 聲明的代碼中,配置過濾器,動作為“home”,類別為“android.intent.category.DEFAULT”。在服務中添加獲取煙霧數據,如果有煙霧發送通知。
2.3 智慧園區監控App子系統
在Mon.java中判斷攝像頭地址信息是否為空,為空彈出提示并return,否則打開攝像頭。在Mon.java中添加“開啟監控”ToggleButton的狀態監聽,如果是“開啟監控”狀態,打開攝像頭,否則如果攝像頭不為空,釋放攝像頭。在Mon.java的控制攝像頭上下左右轉動的按鈕的觸摸事件中判斷如果監控未開啟,彈出開啟監控的提示,返回false;如果監控已開啟,移動按鈕或手抬起時控制攝像頭轉動。在Mon.java中判斷如果有人,判斷攝像頭地址信息是否為空,為空時彈出提示,不為空時監控如果是開啟的,調用拍照的代碼。在Mon.java 添加onResume()方法,判斷如果監控按鈕是開啟狀態,0.3s后調用攝像頭的代碼。在Ho?meActivity標題欄的“設置攝像頭地址”菜單點擊事件中顯示設置攝像頭地址菜單對話框。在HomeActivity標題欄的“查看截圖”菜單點擊事件中判斷如果手機內置sd卡根目錄下pic文件夾不存在或文件夾為空,彈出暫無圖片的提示,否則跳轉到顯示截圖頁面。
2.4 智慧園區云平臺API的調用
總體思路是利用第三方OkHttp連接云平臺,封裝GET和POST方法;利用云平臺提供的API登錄平臺,保持登錄成功返回的訪問令牌;利用云平臺提供的API,開啟線程,憑設備的ID查詢傳感器數據。查詢到的傳感器數據通過消息機制傳到UI線程,解析查詢到的JSON格式的傳感器數據并顯示在界面上[6]。
登錄帳號API的用戶名和密碼發送到云平臺,采用POST方式,如果成功則返回AccessToken值,其中返回的請求都會有AccessToken值,因此需要保存這個AccessToken值,如圖4所示。
圖4中選擇Post,并輸入登錄云平臺的賬號和密碼(注意要輸入自己的賬號和密碼,此處是模擬的賬號和密碼),點發送請求,則是返回結果。如果登錄成功,把返回結果中的AccessToken值復制并粘貼到發送請求框。其中,賬戶、密碼和AccessToken值一并寫入App程序中[7]。
此外,還需要添加訪問網絡和解析JSON格式的依賴庫,編寫云平臺參數設置,保存、讀取,使用OkHttp的類進行網絡訪問,再啟動線程定時從云平臺獲取實時數據,通過消息機制更新UI 界面的顯示值[8]。
3 總結
本文從智慧園區入手,實現環境監測、園區監控的功能。把物聯網架構分為硬件層、網絡層、平臺層和應用層的四層結構進行設計,開發工具采用An?droid Studio,制作出環境監測和監控軟件,實時查看情況,通過設置多種策略,實現現場報警和手機提示報警燈功能。從而實現“物聯網,讓生活更美好”的夢想,優化園區環境,推動地方經濟發展。