當前位置:
首頁 > 最新 > 智慧城市,智能建築:樂康福智能管理系統

智慧城市,智能建築:樂康福智能管理系統

智慧城市,智能建築:樂康福(iTCM)智能管理系統

胡偉政 I 文

張懷政 I 技術審稿

在系列第三篇文章「智慧城市,智能建築:基於神經網路的熱舒適度建模」中,我們使用物聯網(Internet of Things)設備收集數據,然後基於神經網路進行熱舒適度建模,所取得的初步實驗結果證明其相比於PMV模型以及大部分傳統機器學習方法,基於神經網路的熱舒適度模型的精度確實有很明顯的提升。那麼,能做到這些的樂康福系統是如何被開發出來的呢?這一期,我們就來介紹一下樂康福(iTCM)系統本身,包括其中兩大模塊:人工智慧模塊和數據收集模塊。

人工智慧模塊

首先是人工智慧模塊。Python作為目前機器學習領域的最熱門語言,成為我們系統的首選。在樂康福系統中,我們採用了一款Python微框架Flask,並使用FastCGI協議把該模塊部署在基於 Nginx框架的伺服器上。如圖1所示,我們在人工智慧模塊里基於傳統的機器學習方法和基於神經網路模型實現了PMV模型。這個模塊屬於核心服務之一,並可做為一個完全獨立的服務,利於研究者進行二次開發。

圖1 樂康福系統里的不同熱舒適度模型

該模塊的工作流程如圖1所示,系統接到指令就會從資料庫中讀取數據來進行訓練和測試,然後在網頁上給出結果的對比圖。由於我們的大規模數據收集實驗還在進行中,並且,從人身上收集數據遠比從機器上來得困難,這一期的重點會放在下面的數據收集模塊上。

數據收集模塊

相比於人工智慧模塊,數據收集模塊複雜得多,總的結構如圖2所示。我們使用了現有的硬體設備和軟體框架來開發這個系統,包括無線感測器網路、手機App和大數據後端伺服器。

圖2 數據收集模塊結構圖

無線感測器網路

我們使用無限感測器網路來收集環境數據,如溫度和濕度等。我們與Singapore-Berkeley Building Efficiency and Sustainability in the Tropics (SinBerBEST) 合作一起進行智能建築 (Smart Building) 方面的研究。SinBerBEST來自加州大學伯克利分校,是南洋理工大學(NTU)和新加坡國立大學(NUS)的跨學科研究小組,致力於為熱帶地區的建築提供可持續發展的節能技術和研發成果。SinBerBEST計劃是新加坡伯克利教育研究聯盟 (BEAR) 的兩項核心研究計劃之一,由新加坡國家研究基金會 (NRF of Singapore) 資助。

在樂康福系統中,我們使用他們研發的Building-in-Briefcase (BiB) 設備(圖3)來進行環境狀態監測。相比於傳統的無線感測器網路 (WSN),這套設備攜帶方便,部署簡單。我們可以帶著整套設備在不同地點進行環境監測。詳細信息可參考這篇來自伯克利的文章:https://engineering.berkeley.edu/2017/10/brains-buildings-packaged-smart-briefcase。

圖3 Building-in-Briefcase (BiB) 設備

手機APP

為了配合智能手環,我們自己開發了iOS和安卓的手機App來收集用戶的體征數據和熱舒適度反饋。圖4所展示的就是我們App的主要用戶界面,除了收集手環數據和發送用戶熱舒適度反饋外,還有三個主要功能:數據監控、用戶偏好和獎勵機制。

圖4 手機App的主要用戶界面 (UI)

1. 數據監控

在數據監控頁面 (Dashboard),用戶可以查看當前環境的溫度、適度、紫外線強度、氣壓等信息。同時,用戶也可查看自己的體征數據,如心率、皮膚溫度以及消耗的卡路里等。我們的App可以讓用戶方便地看到這些信息,以此來幫助他們了解自己所處的室內環境以及自己的身體情況。

2. 用戶偏好

在用戶偏好頁面 (Preference),用戶可以設置個人理想的室內定點溫度。此外,用戶還可給出自己對於熱冷環境的忍耐限度。我們的研究發現有的人更喜歡冷的環境,而有的人更偏向熱的環境。這和不同的人的體質、年齡、性別有關。因此,這些偏好設置可以有效訓練我們的模型,並對於我們今後的研究具有重要的意義。

3. 獎勵機制

在獎勵頁面 (Reward),用戶可以查看自己有沒有收到新的獎勵或者使用歷史記錄來查看自己過去曾經接受的獎勵。關於這個獎勵機制,是我們的一個探索性的人類行為研究環節。我們想嘗試使用一些獎勵機制來改變人們的行為來培養他們的節能習慣。我們正在跟南洋理工大學(NTU)的相關教授進行密切合作,如果有取得突破性的成功,我們會在以後的公眾號系列文章中分享給大家!

企業級後端伺服器

可靠穩定的web服務和數據存儲服務,對這個研究項目的成功意義重大。因此,在設計後端伺服器時,我們決定採用一套中小型企業使用的後端方案:Spring + SpringMVC + SpringSecurity + RabbitMQ + MyBatis + MySQL。關於這幾個軟體框架,網路上的介紹已經很多,有興趣的朋友可以搜索一下,我們就不在這裡討論了。

樂康福的後端伺服器主體使用基於Java語言的SpringMVC框架開發,並使用SpringSecurity子框架來保證安全性,並劃分成三個服務層:可拓展服務層、核心服務層以及資料庫層。

1. 可拓展服務層

可拓展層主要是把一些與核心服務層不相關的功能分離開來,也就是解耦和。比如,我們使用RabbitMQ消息隊列框架把郵件服務、消息推送服務等分離出來。這樣的好處是,無論這些服務層做任何改動或者添加新的服務都不會影響到核心服務層。同樣的,核心伺服器如果做了變更也不會直接影響這些服務和功能。

2. 核心服務層

核心服務層主要有用戶管理和人工智慧模塊。用戶管理模塊就是用來處理從用戶那裡採集的數據,提取特定的數據特徵放入機器學習訓練數據表裡。人工智慧模塊用得到的數據和不同的機器學習演算法來訓練熱舒適度模型。然後,通過測試數據集的實驗結果來做性能對比。

3. 資料庫層

資料庫層就是基於MySQL的數據管理層。MyBatis框架在這裡作為一款基於Java的資料庫持久層框架,MyBatis使用XML文件或者註解的方式把資料庫里的記錄映射到Java對象上去。這樣我們可以直接在Java代碼中對資料庫進行各種讀寫操作,非常便利。

Web伺服器性能

以上就是樂康福系統的數據收集模塊了。那麼,樂康福系統的web服務性能到底是怎樣?我們採用了Apache JMeter軟體來做壓力測試以查看系統的性能極限和瓶頸。在測試中,首先,壓力測試用的每一個HTTP請求都有對應的邏輯操作,如讀取資料庫數據、寫入數據數據、基本的數據處理和運算等。然後,我們測試了三種不同的伺服器實例硬體配置,包括1個CPU核心+2GB內存,2個CPU核心+4GB內存以及4個CPU核心+16GB內存的不同組合。實驗結果如圖5和圖6所示。

圖5 不同實例硬體配置下的性能對比

圖6 吞吐量隨著處理器個數的變化

從圖5中,我們可以看到,即使在最低端的單核處理器+2GB內存伺服器上,我們的樂康福系統也能達到每秒處理321個請求的吞吐量。並且,很明顯,我們的系統瓶頸在處理器 (CPU)的核心數上,CPU核心越多,我們的性能就越好。內存佔用以及硬碟的讀寫都不至於成為我們系統的性能瓶頸。從圖5所示的變化曲線可以看到這是一個凹函數,處理器核心數加倍,但性能並沒有翻倍。這在計算機領域裡很常見,1+1並不一定等於2。不過,即便如此,我們的樂康福系統的性能還是非常可觀的。

這期文章我們重點介紹了樂康福系統的人工智慧模塊和數據收集模塊。我們的目標是做出一個工業級別的穩定系統,而不僅僅局限於一個科研用的原型 (Prototype)。在下一期系列文章中,我們會分享一些我們最新的熱舒適度模型進展以及人類行為學習相關的研究成果。敬請期待!

本文版權歸作者所有。

新加坡南洋理工CAP組


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 南洋理工CAP組 的精彩文章:

TAG:南洋理工CAP組 |