基於Hadoop雲計算智慧家居資訊處理平臺

來源:互聯網
上載者:User
關鍵字 智慧家居 關閉 雲計算

近年來,在物聯網等具有海量資料需求的應用變得越來越普遍時,無論是從科學研究還是從應用開發的角度來看,掌握雲計算技術已成為一種趨勢。 智慧家居作為物聯網應用的主要領域之一,自然離不開雲計算。 雲計算的發展使使用者無需關注複雜的內部工作機制、無需具備豐富的分散式系統知識及開發經驗,即可實現大規模分散式系統規定部署,以及海量資料的並行處理。

Hadoop是目前較為成熟和應用較為廣泛的雲計算架構之一。 Hadoop的核心思想是分散式並行處理。 Hadoop技術中的關鍵技術是 HDFS(分散式檔案系統)和Map/Reduce(映射/規約)。 Hadoop利用HDFS存儲海量資料,利用Map/Reduce進行海量資料的計算。

文中首先介紹了智慧家居與雲計算的概念,接著針對傳統的海量資料處理方法硬體成本太高,存在計算瓶頸的問題,在雲計算理論的基礎上針對智慧家居中的門禁系統、溫濕度系統、滴灌系統和照明系統搭建了基於Hadoop的資料處理平臺。 可以對大量傳感資訊進行分散式並行處理,並根據處理結果向底層設備發送指令以實現智慧化服務。

智慧家居與雲計算

1.1智慧家居

目前通常把智慧家居定義為利用電腦、網路和綜合佈線技術,通過家庭資訊管理平臺將與家居生活有關的各種子系統有機結合的一個系統。 首先,需要在家居中建立一個通信網路,為家庭資訊交互和傳輸提供必要的通路,在家用網路的作業系統控制下,通過相應的硬體和執行機構,實現對所有家用網路上的家電和設備的控制和監測。 其次,智慧家居系統需要通過一定的媒介平臺,提供與外界的通信通道,以實現與家庭以外的世界溝通資訊,滿足遠端控制/監測和交換資訊的需求。

1.2雲計算架構Hadoop

Hadoop是一個分散式運算框架,可以在大量廉價的硬體設備組成的集群上運行應用程式,為應用程式提供了一組穩定可靠的介面,旨在構建一個具有高可靠性和良好擴充性的分散式系統。 Hadoop的主要優點有:擴容能力強、成本低廉、效率高、可靠性高、免費開源及良好的可攜性。 Hadoop專案包括多個子專案,但主要是由Hadoop分散式檔案系統(HadoopDistributed File System, HDFS)和映射/規約引擎(Map/Reduce Engine)兩個主要的子專案構成。

1.3分散式檔案系統(HDFS)

HDFS由一個名叫NameNode的主節點和多個名叫DataNode的子節點組成,是一種典型的主從式(Master/Slave)架構,這種架構方法可以通過主節點遮罩底層的複雜結構,並向Client提供方便的檔目錄映射。 NameNode存儲著檔案系統的中繼資料,這些中繼資料包括檔案系統的名字空間等,並負責管理檔的存儲等服務,但實際的資料並不存放在NameNode,而是由HDFS中的DataNode來存放資料,然後由 Client直接與DataNode建立資料通信。

此外,HDFS為了可靠地海量存儲檔,各個檔以塊序列的形式存儲。 為了保證故障容錯,檔的塊被覆制。 塊的大小和副本的個數都可以配置。 Name鄄Node控制所有的塊複製操作,它週期性地接收來自集群中DataNode的「心跳冶回應和塊報告。 收到一個節點的「心跳冶回應表示這個 DataNode是正常的。

1.4MapReduce分散式運算

MapReduce分散式運算主要是用來在數千部伺服器上同時處理保存于GFS Clusters中高達幾十TB甚至更多的資料。

MapReduce在溫度值統計過程中的運作如下所述。

MapReduce的作用是對電腦集群上的大型資料集運行分散式運算,替大量資料做平行計算處理。 MapReduce的整個架構是由Map和 Reduce函陣列成的,當程式輸入一大組Key/Value鍵值對時,Map函數自動將原本的Key/Value分拆成多組仲介的鍵值對,然後 Reduce函數再合併具有相同Key的仲介值配對,化簡成最後的輸出結果。

1.5智慧家居雲模型

智慧家居擁有7大子系統,每一個系統包含了不同的終端,每一個終端都安裝有感應器,感應器感知周圍環境並產生大量資料。 千千萬萬的使用者會產生海量的資料,而雲計算可靠的資料存儲,強大的計算能力,低廉的運營成本使得它非常適合處理海量資料。 於是每家用戶都將通過網路連接到雲服務中心,產生的資料均由雲計算中心存儲和計算處理。

開發程式設計分析

本平臺針對智慧家居中的幾個典型應用:門禁、溫度、濕度、光照等進行資訊採集及分散式並行處理。 啟動程式後可以看到當前房間內的溫度、濕度、土壤濕度、光強度,還可以通過對室內溫度、濕度、土壤濕度進行設定來改變當前的狀態。

2.1功能模組設計

根據需求分析可知,系統功能模組共分為四大部分,即門禁系統、溫濕度系統、滴灌系統、照明系統。

門禁系統實現的功能是持卡人刷卡,產生持卡人的卡號,從事先設定好的資料庫中查詢是否有該卡號,如果有說明該使用者為合法使用者,門禁打開,並顯示持卡人卡號、姓名、卡的類型,否則門禁繼續保持關閉。

溫濕度系統顯示室內當前溫度和濕度。 當設定一個溫度值後,空調工作,根據設定溫度調整室內溫度,直到室內當前溫度達到設定值;當設定濕度值後,室內濕度就會根據所設定的濕度進行調整,直到室內當前濕度達到設定值。

滴灌系統顯示當前的土壤濕度。 當設定土壤濕度後,滴灌系統工作,調整濕度直到當前濕度為設定的土壤濕度。

在照明系統中,顯示室內當前光強度。 窗簾和電燈的狀態受控于光照強度的大小。

智慧家居雲計算平臺實現的功能主要是能夠將產生的傳感資訊集中交給伺服器處理,使用者只需將感應器採集來的傳感資訊傳輸給伺服器即可。 伺服器為電腦集群,這裡使用三台電腦進行類比。 三台電腦對資訊進行分散式並行處理,並根據處理結果對底層設備發出指令,以達到智慧控制的效果。 同時還要將各種傳感資料和底層設備的狀態寫入資料庫。

2.2邏輯結構設計

(1)門禁系統。

門禁狀態一開始為關閉。 當持卡人來刷卡時,獲得持卡人卡號,查詢資料庫,判斷卡的ID是否合法,如果ID不合法,則門禁保持關閉狀態。 如果合法則門禁打開,並且顯示持卡人的姓名和性別。

(2)溫濕度系統。

系統啟動時首先要對溫度進行判斷。 當前溫度低於下限值,空調啟動制熱;當前溫度高於上限值,空調啟動製冷;當室內當前溫度調整到舒適範圍時空調自動關閉。 系統同時顯示室內當前濕度,通過「設定濕度冶按鈕可以設置室內濕度,當前濕度會慢慢調整到所設置的濕度。

(3)室內滴灌系統。

滴灌系統的狀態主要受控于土壤濕度。 這裡土壤濕度依然採用相對濕度。

系統開始運行時滴灌處於關閉狀態,然後判斷土壤濕度是否小於0.15,如果小於0.15,滴灌打開,噴水,土壤濕度開始上升,當土壤濕度達到預先設定的上限值時(0.4),滴灌自動關閉。 滴灌關閉後由於水分的蒸發,土壤濕度會逐漸減少。 系統每隔1s對土壤濕度進行一次判斷,如果土壤濕度少於 0.15,則滴灌再次打開。 如此反復。 當然,土壤濕度的上限值也可以通過「設定土濕冶按鈕進行設定。

(4)照明系統。

照明系統主要由窗簾和電燈兩個部分組成。 窗簾和電燈的狀態會根據光照強度的大小以及目前時間自動改變。 根據文獻[1]將客廳照明的最低照明度定為臨界值,即150Lux。

(5)智慧家居雲平臺。

整個雲平臺採用五台電腦進行類比,第一台電腦作為感應器和底層設備的類比,用於產生傳感資訊。 第二台電腦作為連接底層設備和伺服器的閘道,剩下三台電腦構成伺服器集群,作為雲處理中心,並與資料庫相連,對傳感資訊進行分散式並行處理。 伺服器與用戶端之間的通信使用Socket。

平臺模擬

3.1門禁系統測試

運行程式後,門禁處於關閉狀態。 按一下「生成ID冶按鈕,會產生當前持卡人卡的ID號。 然後按一下「刷卡搜索資料庫中已存在的合法ID號,合法來訪者,門禁打開,並顯示持卡人的姓名和性別。 門禁打開5s後再次關上。 如果ID號不存在,則門禁繼續保持關閉狀態,如圖4所示。

3.2溫濕度系統測試

運行程式後顯示當前溫度、濕度,以及預設的下限溫度(18益)和上限溫度(23益)。 系統將當前溫度與下限溫度和上限溫度進行比較,如果當前溫度在人體舒適度範圍18益~23益內,則空調繼續保持關閉狀態。 當前室內溫度低於下限溫度時,空調打開,處於制熱狀態,直到當前室內溫度達到舒適度的下限溫度。 當前室內溫度高於上限溫度時,空調打開,處於製冷狀態,直到當前室內溫度達到舒適度的上限溫度。 溫度的上下限值可以通過設置按鈕進行設定。

在「設定濕度冶旁的文字方塊中輸入所要設置的室內濕度,然後按「設定濕度冶按鈕,這時室內的溫度就會慢慢改變,上升或下降,直到當前濕度達到所設定的濕度。

3.3滴灌系統測試

運行程式後顯示當前土壤濕度,滴灌系統一開始處於關閉狀態。 由於土壤中水分的蒸發,土壤濕度不斷下降。 當土壤濕度降到0.15時滴灌自動打開,開始噴水。 滴灌噴水後土壤濕度增加,直到當前土壤濕度達到設定值(預設值為0.4),這時滴灌再次關閉。

3.4照明系統測試

運行程式後顯示當前的室內光強度,如果是早晨七點到晚上六點,則窗簾打開,其他時間段窗簾關閉。 電燈的狀態不僅受時間段控制,也受室內光強度控制。 如果是晚上十點到第二天早晨七點,電燈處於關閉狀態。 在早晨七點到晚上六點之間,電燈一般是關閉狀態,除非室內自然光強度低於150Lux,晚上六點到晚上十點,電燈是打開狀態的。

3.5雲平臺測試

將五台電腦建立連接並啟動,第一台電腦用於類比感應器和底層設備,第二台電腦作為連接底層網路和上層網路的閘道,剩下三台電腦作為伺服器集群 (雲計算中心)。 第一台電腦產生傳感資料後傳給第二台電腦,第二台電腦作為閘道將資料轉發給伺服器集群,伺服器集群採用Hadoop計算架構對傳感資料進行分散式並行處理,判斷當前智慧家居各系統的狀態,併發出指令給底層設備,達到智慧控制的效果。

結束語

文中在雲計算理論的基礎上針對智慧家居中的門禁系統、溫濕度系統、滴灌系統和照明系統搭建了基於Hadoop的資料處理平臺。 可以對大量傳感資訊進行分散式並行處理,並根據處理結果向底層設備發送指令以實現智慧化服務。 此雲計算平臺是在Hadoop分散式運算框架的基礎上採用三台電腦類比服務集群實現對海量資料的並行處理,有效解決了成本和計算瓶頸問題。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.