李詩鷗 張建 淮海工學院 計算機工程學院
現代計算機技術、控制技術、圖形顯示以及通信技術的發展隨著人類社會文明和科學技術的進步發展的尤為迅猛,我們切身體會的就是目前社會已經開始逐步邁入以網絡和數字化為平臺的智能化社會,隨處可見的類似于智能化的機器人、轎車、儀表、飛機、高速公路、智能化小區、樓宇更甚至城市等一些不同程度上智能化的產品甚至是我們每天所處的生活或工作環境,并且我們可以很明顯的看出這種智能化正在以一種高速的趨勢發展。家居智能化將是21 世紀以及日后生活的新概念住宅的必然發展趨勢,故家庭智能衣柜擁有廣闊發展前景。智能衣柜之所以被冠以“智能”二字,便是因為它很大程度上可以方便人們的日常生活,它擁有空氣加濕、除濕,衣柜自大除味,自體感知和檢測室內指標數據等實用功能,用戶可以不再為衣柜潮濕、雨季衣物發霉等問題干擾。科技的迅速發展給了智能衣柜一個良好的發展機遇,在這種社會前提下,智能衣柜的技術水平將會被大大地提高。本篇文章將會針對家庭智能衣柜的控制進行分析,以及敘述智能衣柜的設計和實現過程。基于樹莓派3B 控制開發板,配合DHT11溫濕度傳感器、MQ-5 可燃氣體傳感器、HC-SR501 人體紅外傳感器,實現衣柜的智能控制,室內環境的監測,衣物防霉變等功能。
Raspberry Pi(其中文名為樹莓派)是一個基于Linux 的微型計算機,基于基于ARM 的硬件系統,由注冊在英國的慈善組織發布。樹莓派共帶有40 個引腳,分為GPIO 引腳、UART 總線、SPI 總線、I2C 總線、5V、3.3V、GND。其中GPIO 引腳26 個、GND 引腳8 個,5V 和3.3V 各兩個,UART 總線、SPI 總線、I2C 總線各一個。
DHT11 溫、濕度傳感器,是一種具有校準數字信號輸出的溫濕度功能復合傳感器。該傳感器的勘測誤差范圍在濕度上是+-5%RH, 在溫度上是+-2℃。其量程在濕度上是20%-90%RH,在溫度上是0-50 攝氏度。可以看出該傳感器滿足本設計溫濕度量取的需求。
MQ-5 傳感器又名可燃氣體傳感器,是一種常用于工業或家庭中檢測可燃氣體濃度的、價格低廉的傳感器。其基本原理是通過二氧 化錫在正常清潔不含有可燃氣體的空氣環境中擁有較低的導電率,而這種傳感器在含有可燃氣體(如甲烷、丁烷、丁烷等)的空氣環境中導電率提升,從而測出當前空氣環境質量下可燃氣體的濃度(單位為ppm,百萬分比濃度)。
HC-SR501 傳感器,也叫人體紅外傳感器,這種傳感器通常用于各種類型的自動傳感設備以及自動控制產品。具有價格低廉、應用簡單的優點。其基本原理是通過探測人體體溫37 所散發出波長為10um的紅外線,而傳感器在被這種紅外線輻射后,將會失去電荷平衡,向外發出電荷,改變其電氣特征,即可發生報警信號。
繼電器模塊,常見于各種控制電路,通過小電流的控制信號使電磁鐵通電,從而使大電流電路導通,起到控制電路的作用。繼電器模塊常見的一般控制端有三個引腳,分別為GND、VCC、控制線,而另一端分別接用電器的正極和負極。通過控制線操作控制繼電器斷開閉合,從而實現控制大電流電路或用電器的目的。
本系統采用樹莓派3B 控制板作為中控系統。共采用DHT11 溫濕度傳感器和MQ-5 可燃氣體傳感器兩款傳感器。其中MQ-5 可燃氣體傳感器所量值要使用AD 轉換器。本設計采用了I2C 的AD 轉換器——PCF8591。此外,使用了兩個繼電器,用于控制加熱器和紫外線燈。
本模塊選用了MQ-5 可燃氣體傳感器。由于樹莓派不帶有AD轉換引腳,故也使用了一塊PCF8591 做AD 轉換。其中MQ-5 和PCF8591 的GND 分別接樹莓派的GND、VCC 分別接樹莓派的3.3V。而MQ-5 的AO 端口,即模擬量輸出端口接PCF8591 的AIN1 端口,即模擬量輸入端口1。PCF8591 通過自身SCL 和SDA 與樹莓派的SCL 和SDA 相連,接入樹莓派的I2C 總線中。樹莓派將通過I2C 總線操作PCF8591 取得MQ-5 可燃氣體傳感器模塊測量到的值。
本模塊采用了DHT-11 溫濕度傳感器,該傳感器物美價廉,且使用簡單。將DHT-11 溫濕度傳感器的GND 和VCC 引腳分別與樹莓派GND 和3.3V 相連,DHT-11 的數據線SIG 與樹莓派的GPIO17引腳相連(BCM 編碼方式)。將GPIO17 初始化為輸出引腳,向其發出啟動信號。然后將GPIO17 改變為輸入引腳,根據高低電平持續時間獲取其傳輸的每一位的值,經過處理后獲取所測得的溫濕度的值。
本模塊采用了繼電器控制大電路的控制方式。將加熱器放置于大電路端,控制電路端的VCC 和GND 分別接樹莓派的GND 和3.3V,剩下的信號線接GPIO20(BCM 編碼方式下)。設置GPIO20 的引腳為輸出引腳,在特定環境下(濕度高于一定值)或用戶操作下輸出高電平,使大電路端閉合,控制加熱器加熱,降低衣柜內濕度。在濕度低于一定范圍或在用戶控制下停止加熱,從而實現衣柜內濕度控制的功能。
本模塊的主要任務是通過繼電器操作加熱器從而實現濕度控制的功能。具體流程如下,首先初始化繼電器控制引腳所連樹莓派GPIO 口,發出控制信號使繼電器閉合,在延時一段時間后斷開繼電器。
本模塊采用了與濕度控制模塊相同的繼電器控制大電路的控制方式。將紫外線燈連接到繼電器于大電路端,控制電路端的VCC 和GND 分別接樹莓派的GND 和3.3V,剩下的信號線接GPIO21(BCM編碼方式下)。但與濕度控制模塊不同的是,紫外線對人有較大影響,故添加人體紅外傳感器,將其信號線連接到樹莓派GPIO16 引腳(BCM編碼下)。在用戶操作下且檢測周圍無人情況時輸出高電平,使大電路端閉合,控制紫外線燈照射,進行殺菌除螨的任務,提升衣柜內衣物質量,使用戶穿衣更加健康。
本設計中的家庭智能衣柜管理系統,是軟件技術和對應的硬件設備統一的結果。家庭智能衣柜控制管理系統的整體軟件設計框圖如圖1 所示。

圖1 家庭智能衣柜管理系統整體軟件設計圖
系統的整體軟件設計可以分為三個大的模塊,底層的硬件數據信息采集模塊、中間層數據接收處理模塊和高層網絡通信模塊。底層信息采集模塊是樹莓派通過直接與傳感器相連或使用I2C 設備進行數據采集。中間層則是樹莓派內的Python 腳本程序采集處理個傳感器數據,并解析成對人友好的的數據類型。而高層將采集分析過的數據進行網絡通信上傳至服務器中。
本系統將采用flask-web 框架搭建整體軟件,以相對容易的實現對傳感器數據的遠程傳輸和硬件遠程操作的支持。如圖2 中所示,本系統在收到一條HTTP 請求后將先判斷其請求類型為數據請求還是操作請求,再根據其請求的數據類型和操作的目標細分,進入其各自的子模塊。

圖2 家庭智能衣柜控制系統總體軟件設計流程圖
D 本模塊的主要任務是操作DHT-11 溫濕度傳感器并取得所測數據。首先初始化DHT-11 數據線所連引腳,向其發出工作信號。此處工作信號為一個持續約20ms 的低電平然后跳變成高電平。接著將DHT-11 的信號線引腳設置為輸入引腳,在接收到數據傳輸信號后,開始記錄數據。此處數據傳輸信號為持續一段時間的高電平跳變成一段時間低電平再跳變成高電平,然后正式數據傳輸。數據傳輸方法是,每兩段低電平直接的高電平為1 位,接著判斷高電平的持續時間,一般大于約13ms,則該位為0,小于13ms 則該位為1。共四十位數據,每8 位分別為溫濕度整數和小數點后值,最后8 位為校驗和。最后核準校驗和,返回數據。
本模塊的主要任務是通過I2C 總線獲取pcf8591 上INT0 的值,即MQ-5 可燃氣體傳感器的AO 模擬量輸出的值在經過pcf8591 轉換成數字量之后的結果。具體流程如下,先初始化I2C 總線,接著初始化pcf8591 模塊,讀取I2C 中pcf8591 所在地址的值,本處地址為0x48,pcf8591內部存放INT0 的值的地址為0x40。最后取得所量值,返回數據。
本模塊的主要任務是通過繼電器操作加熱器從而實現濕度控制的功能。具體流程如下,首先初始化繼電器控制引腳所連樹莓派GPIO 口,發出控制信號使繼電器閉合,在延時一段時間后斷開繼電器。
本模塊的主要任務與濕度控制模塊類似,通過繼電器控制紫外線燈實現殺菌除螨的作用。但不同的是由于紫外線對人有較大影響,所以本模塊設計中添加了人體紅外傳感器,判斷衣柜附近是否有人會受到影響,有則不啟動或結束紫外線燈任務。
本文章的主題是家庭智能衣柜控制系統研究。在調研時期,調查研究了傳統衣柜的不足之處和當下只能衣柜的發展方向,確定了本設計控制系統的思路。設計主要采用B/S 架構,選取了樹莓派的核心控制板。樹莓派的優勢在于底層驅動有良好的庫的支持,可以將更多精力集中于應用層開發。用戶可以通過手機或者電腦使用瀏覽器連接智能衣柜的控制平臺、查看智能衣柜內溫濕度和可燃氣體濃度,從而規避衣物霉變和臥室內可能出現的火災風險。此外本設計還為降低霉變概率和人體健康穿衣提供了幫助,通過遠程操作繼電器實現加熱器和紫外線燈的控制,實現濕度降低、殺菌除螨的功能。
