






摘要:智慧型寫字樓是智慧城市建設中不可或缺的一環,它通過物聯網技術將各種設備、傳感器、控制器等連接起來,實現對寫字樓內部的環境、安防、能耗等方面進行全面監控和精細化管理。在系統設計過程中消防、新風、照明、門禁和溫濕度調控等功能模塊間的數據交互和軟件設計,直接關系到系統的效率和質量。文章基于阿里云ECS服務器,采用JSON技術對系統各模塊的數據包進行交互,使用C語言和MySQL實現了智慧型寫字樓自主調控系統數據包的快速交換和軟件設計,提高了系統的效率和穩定性,為智慧型寫字樓管理提供了一種有益的解決方案。
關鍵詞:智慧型寫字樓;物聯網;智能化;數據包交換
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2024)32-0035-03 開放科學(資源服務)標識碼(OSID) :
0 引言
智慧型寫字樓是通過物聯網技術將各種設備、傳感器、控制器等連接起來,實現對寫字樓內部的環境、安防、能耗等方面進行全面監控和精細化管理的系統。在系統設計過程中,如何實現和提高各功能如消防、新風、照明、門禁和溫濕度調控等模塊間的數據交互和控制,直接關系到系統的效率和穩定性[1]。
1 軟件總體設計
主函數程序首先進行初始化處理,初始化后對中斷串口進行監聽,當產生中斷后,優先執行中斷,隨后對數據進行采集,并在顯示屏上顯示,采集到的數據與單片機預設閾值進行判斷,若沒有異常,則上傳數據,當出現異常時,向阿里云ECS服務器上報異常情況,阿里云ECS服務器接收到數據后,解析存儲數據,并轉發給手機App,手機App下發指令,串口監聽,并執行相應操作[2]。主函數流程圖如圖1所示。
2 數據包格式規定
各個子系統、服務器和手機App采用JSON數據包進行交互,因為考慮到物聯網終端設備常采用JSON或XML數據格式進行數據傳輸,而JSON易于閱讀和編寫,同時也易于機器解析和生成,所以選擇使用JSON數據格式進行傳輸[3]。
系統采用自定義的JSON交互格式,下面以App 下發開門指令為例。
格式:
“{ Sender”: “phone”, “address”: “{ Receiver”: “door”“, event”“: open_door”“, value”:1}}
第一個屬性名Sender 表示發送這條數據的節點,phone是App節點名稱。第二個address是將數據的起始地址與目的地址分隔開,使其更加有層次感,address里的是目的地需要解析處理的內容。第三個屬性名Receiver表示目的地節點,door是門禁系統節點名稱。第四個屬性名event是代表事件,比如open_door代表開門,open_linght代表開燈。第五個屬性名value代表數據,如果是控制執行器,則用1 和0表示開關,如果是上傳傳感器數據,則發送整形或者浮點型數據。
3 各功能模塊軟件設計
3.1 新風系統和消防系統軟件設計
新風系統和消防系統集成在一起,該系統首先進行系統初始化和連接阿里云ECS服務器操作。系統主要通過監聽串口中斷和定時器中斷,進行業務邏輯的操作。如果串口產生中斷,解析JSON數據,將解析的JSON數據放入switch函數中,執行相應的功能,執行完后,清空內存,避免內存溢出,再次等待;如果定時器2產生中斷,則執行傳感器數據采集的操作,并通過本地判斷,執行相應的操作,最后將數據打包上傳阿里云ECS數據庫;如果火焰傳感器串口檢測到異常,關閉定時器2,打開定時器3,打開蜂鳴器和水泵,再將數據上傳服務器,當定時器3產生中斷,則再次判斷火焰是否熄滅,如果沒有,再次執行數據上傳操作,如果熄滅,則打開定時器2,關閉定時器3。
3.2 門禁系統和室內安防系統軟件設計
門禁系統和室內安防系統集成在一起,該系統首先進行系統初始化和連接阿里云ECS服務器操作。系統主要通過監聽串口中斷,進行業務邏輯的操作。當App下發open_door事件指令時,表示開門,當發送leave表示離家,發送sleep表示回家,此時室內安防系統啟動,實時監測室內環境情況。門禁系統和室內安防系統程序流程圖如圖2所示。
3.3 溫濕度調控系統和智能窗戶調控系統軟件設計
溫濕度調控系統和智能窗戶調控系統集成在一起,該系統首先進行系統初始化和連接阿里云ECS服務器操作。系統主要通過監聽串口中斷和定時器中斷,進行業務邏輯的操作。如果串口接收到數據,通過解析JSON數據,將解析到的結果進行判斷,從而控制執行器運行。當定時器產生中斷,此時單片機系統采集溫濕度,由于室內溫度一般控制在24~26℃之間,所以當溫度低于24oC或者高于26℃時,空調自動啟動[4]。采集完溫濕度后,系統再進行噴霧情況、紫外線等級、光照度采集,并通過本地判斷,執行相應的操作,最后將數據打包上傳阿里云ECS數據庫。溫濕度調控系統和智能窗戶調控系統流程圖如圖3所示。
3.4 照明系統和智能管家系統軟件設計
照明系統和智能管家系統集成在一起,該系統首先進行系統初始化和連接阿里云ECS服務器操作。系統主要通過監聽串口中斷,進行業務邏輯的操作。當數據App下發控制照明的指令,RGB燈亮不同的燈。串口3監聽離線語音助手下發的數據。
3.5 阿里云TCP 服務器軟件設計
阿里云ECS服務器使用C語言搭建,調用Socket 函數搭建TCP服務器,并且使用poll函數實現多線程方式,再調用MySQL.h庫函數訪問MySQL數據庫[5]。
1) TCP傳輸控制協議是一種面向連接的、可靠的運輸層協議,其中面向連接是指使用TCP通信之前,通信實體必須在彼此之間先建立一個TCP連接,傳輸完畢后也必須釋放這個連接,這個連接相當于一條全雙工的可靠信道,用于發送和接收數據。
2) Socket通信機制把復雜的TCP/IP協議隱藏起來,為應用提供了一組友好的支持通信功能的接口。Socket通信的基本過程可以簡單分為建立連接、數據通信和釋放連接3個部分。
3) 兩個需要通信的應用各建立一個Socket,主動連接的一端一般稱為客戶端,被動連接的一端稱為服務器端。服務器端和客戶端的連接建立成功后,應用通過調用標準的Socket通信接口進行消息的發送和接收,達成應用間通信的目的。
4) 服務器端搭建流程如圖4所示。
3.6 數據庫設計
在MySQL數據庫中,首先創建homestay庫,再分別創建存儲數據用的表。下面以MQ135表用于存儲空氣質量傳感器的數據為例進行設計。
MQ135表用于存儲空氣質量傳感器的數據,其中id字段是編號,mq135字段用于存儲空氣質量傳感器數據,create_time字段自動添加數據存儲時間。表結構和ER圖如表1和圖5所示。
3.7 手機客戶端軟件設計
使用Android Studio 開發手機App,App 通過Socket 與TCD8iqHGPa18I7rImyZP+5gM7teY7XPRaBJl4tALKT1KE=P 服務器進行連接,并通過訪問服務器MySQL數據獲取寫字樓各項數據。App還可以下發指令,實現對系統硬件端的控制[6]。App由多個界面構成,其中MainActivity為主界面,doorActivity界面實現的是控制門鎖開關的功能,environmentActivity界面將傳感器數據進行顯示,kongtiaoActivity界面實現的是控制空調的開關功能,lightActicity界面實現的是控制室內燈光功能,windowActicity界面實現的是控制窗戶開關功能,phoneverify界面實現是用戶使用短信登錄到智慧民宿控制界面的功能,registeredActivity界面實現的是用戶注冊房間的功能。
MainActivity界面設計。MainActivity界面主要實現連接阿里云TCP服務器和界面的跳轉功能,當用戶點擊短信驗證系統跳轉到phoneverify界面,當用戶點擊首頁,系統會跳轉到registeredActivity界面。
Phoneverify 界面設計。MainActivity 界面主要實現用戶通過短信驗證的方式跳轉到doorActivity界面。系統首先使用MobTech平臺提供的SMMSDK連接到短信驗證平臺服務器,隨后用戶輸入手機號,系統將用戶輸入的手機號與數據庫中所存的手機號進行匹配,如果存在,則向MobTech平臺申請驗證碼,如果不存在,則彈出提示。當用戶輸入驗證碼后,系統將用戶輸入的驗證碼反饋給平臺進行驗證,如果無誤,則跳轉到doorActivity界面。
控制指令端界面設計。控制指令端界面由door?Activity 界面、kongtiaoActivity 界面、windowActicity 界面、lightActicity界面構成,各個子界面由一個或多個按鈕組成,實現用戶點擊按鍵,App下發數據到服務器,服務器再將數據轉發到硬件端,從而實現對硬件的控制功能。
EnvironmentActivity 界面設計。environmentActi?vity界面通過訪問MySQL數據庫,獲取homestay庫中各個表存儲的最新數據,并將其顯示到UI界面中。
4 結束語
系統采用C語言、阿里云平臺、MySQL等技術,實現了智慧型寫字樓自主調控系統軟件的設計。經過性能測試,各功能模塊均能正常使用,達到了設計要求,系統運行平穩可靠,提高了寫字樓的管理水平。
參考文獻:
[1] 中研普華產業研究院.2022—2027年中國智慧辦公行業發展深度調研與未來趨勢預測報告[R].北京:中研普華產業研究院,2021.
[2] 馮朔,鄭學智.基于邊云協同的智慧酒店系統[J].電子設計工程,2021,29(19):19-24,30.
[3] 章云,許錦標.建筑智能化系統[M].2版.北京:清華大學出版社,2017.
[4] 劉凱,鐘永彥,陳娟,等.基于HNBJSON的物聯網數據壓縮方法[J].南京郵電大學學報(自然科學版),2021,41(6):29-34.
[5] 趙勝凱.不同溫度下人體熱舒適的性別差異研究[D].西安: 西安建筑科技大學,2020.
[6] 張永濤,繆健琛,胡貴生.一種基于Socket通信的嵌入式設備測試方案[J].電腦編程技巧與維護,2024(3):37-39.
【通聯編輯:梁書】