李詩鷗 張建 淮海工學(xué)院 計(jì)算機(jī)工程學(xué)院
現(xiàn)代計(jì)算機(jī)技術(shù)、控制技術(shù)、圖形顯示以及通信技術(shù)的發(fā)展隨著人類社會文明和科學(xué)技術(shù)的進(jìn)步發(fā)展的尤為迅猛,我們切身體會的就是目前社會已經(jīng)開始逐步邁入以網(wǎng)絡(luò)和數(shù)字化為平臺的智能化社會,隨處可見的類似于智能化的機(jī)器人、轎車、儀表、飛機(jī)、高速公路、智能化小區(qū)、樓宇更甚至城市等一些不同程度上智能化的產(chǎn)品甚至是我們每天所處的生活或工作環(huán)境,并且我們可以很明顯的看出這種智能化正在以一種高速的趨勢發(fā)展。家居智能化將是21 世紀(jì)以及日后生活的新概念住宅的必然發(fā)展趨勢,故家庭智能衣柜擁有廣闊發(fā)展前景。智能衣柜之所以被冠以“智能”二字,便是因?yàn)樗艽蟪潭壬峡梢苑奖闳藗兊娜粘I?,它擁有空氣加濕、除濕,衣柜自大除味,自體感知和檢測室內(nèi)指標(biāo)數(shù)據(jù)等實(shí)用功能,用戶可以不再為衣柜潮濕、雨季衣物發(fā)霉等問題干擾??萍嫉难杆侔l(fā)展給了智能衣柜一個良好的發(fā)展機(jī)遇,在這種社會前提下,智能衣柜的技術(shù)水平將會被大大地提高。本篇文章將會針對家庭智能衣柜的控制進(jìn)行分析,以及敘述智能衣柜的設(shè)計(jì)和實(shí)現(xiàn)過程。基于樹莓派3B 控制開發(fā)板,配合DHT11溫濕度傳感器、MQ-5 可燃?xì)怏w傳感器、HC-SR501 人體紅外傳感器,實(shí)現(xiàn)衣柜的智能控制,室內(nèi)環(huán)境的監(jiān)測,衣物防霉變等功能。
Raspberry Pi(其中文名為樹莓派)是一個基于Linux 的微型計(jì)算機(jī),基于基于ARM 的硬件系統(tǒng),由注冊在英國的慈善組織發(fā)布。樹莓派共帶有40 個引腳,分為GPIO 引腳、UART 總線、SPI 總線、I2C 總線、5V、3.3V、GND。其中GPIO 引腳26 個、GND 引腳8 個,5V 和3.3V 各兩個,UART 總線、SPI 總線、I2C 總線各一個。
DHT11 溫、濕度傳感器,是一種具有校準(zhǔn)數(shù)字信號輸出的溫濕度功能復(fù)合傳感器。該傳感器的勘測誤差范圍在濕度上是+-5%RH, 在溫度上是+-2℃。其量程在濕度上是20%-90%RH,在溫度上是0-50 攝氏度??梢钥闯鲈搨鞲衅鳚M足本設(shè)計(jì)溫濕度量取的需求。
MQ-5 傳感器又名可燃?xì)怏w傳感器,是一種常用于工業(yè)或家庭中檢測可燃?xì)怏w濃度的、價(jià)格低廉的傳感器。其基本原理是通過二氧 化錫在正常清潔不含有可燃?xì)怏w的空氣環(huán)境中擁有較低的導(dǎo)電率,而這種傳感器在含有可燃?xì)怏w(如甲烷、丁烷、丁烷等)的空氣環(huán)境中導(dǎo)電率提升,從而測出當(dāng)前空氣環(huán)境質(zhì)量下可燃?xì)怏w的濃度(單位為ppm,百萬分比濃度)。
HC-SR501 傳感器,也叫人體紅外傳感器,這種傳感器通常用于各種類型的自動傳感設(shè)備以及自動控制產(chǎn)品。具有價(jià)格低廉、應(yīng)用簡單的優(yōu)點(diǎn)。其基本原理是通過探測人體體溫37 所散發(fā)出波長為10um的紅外線,而傳感器在被這種紅外線輻射后,將會失去電荷平衡,向外發(fā)出電荷,改變其電氣特征,即可發(fā)生報(bào)警信號。
繼電器模塊,常見于各種控制電路,通過小電流的控制信號使電磁鐵通電,從而使大電流電路導(dǎo)通,起到控制電路的作用。繼電器模塊常見的一般控制端有三個引腳,分別為GND、VCC、控制線,而另一端分別接用電器的正極和負(fù)極。通過控制線操作控制繼電器斷開閉合,從而實(shí)現(xiàn)控制大電流電路或用電器的目的。
本系統(tǒng)采用樹莓派3B 控制板作為中控系統(tǒng)。共采用DHT11 溫濕度傳感器和MQ-5 可燃?xì)怏w傳感器兩款傳感器。其中MQ-5 可燃?xì)怏w傳感器所量值要使用AD 轉(zhuǎn)換器。本設(shè)計(jì)采用了I2C 的AD 轉(zhuǎn)換器——PCF8591。此外,使用了兩個繼電器,用于控制加熱器和紫外線燈。
本模塊選用了MQ-5 可燃?xì)怏w傳感器。由于樹莓派不帶有AD轉(zhuǎn)換引腳,故也使用了一塊PCF8591 做AD 轉(zhuǎn)換。其中MQ-5 和PCF8591 的GND 分別接樹莓派的GND、VCC 分別接樹莓派的3.3V。而MQ-5 的AO 端口,即模擬量輸出端口接PCF8591 的AIN1 端口,即模擬量輸入端口1。PCF8591 通過自身SCL 和SDA 與樹莓派的SCL 和SDA 相連,接入樹莓派的I2C 總線中。樹莓派將通過I2C 總線操作PCF8591 取得MQ-5 可燃?xì)怏w傳感器模塊測量到的值。
本模塊采用了DHT-11 溫濕度傳感器,該傳感器物美價(jià)廉,且使用簡單。將DHT-11 溫濕度傳感器的GND 和VCC 引腳分別與樹莓派GND 和3.3V 相連,DHT-11 的數(shù)據(jù)線SIG 與樹莓派的GPIO17引腳相連(BCM 編碼方式)。將GPIO17 初始化為輸出引腳,向其發(fā)出啟動信號。然后將GPIO17 改變?yōu)檩斎胍_,根據(jù)高低電平持續(xù)時間獲取其傳輸?shù)拿恳晃坏闹?,?jīng)過處理后獲取所測得的溫濕度的值。
本模塊采用了繼電器控制大電路的控制方式。將加熱器放置于大電路端,控制電路端的VCC 和GND 分別接樹莓派的GND 和3.3V,剩下的信號線接GPIO20(BCM 編碼方式下)。設(shè)置GPIO20 的引腳為輸出引腳,在特定環(huán)境下(濕度高于一定值)或用戶操作下輸出高電平,使大電路端閉合,控制加熱器加熱,降低衣柜內(nèi)濕度。在濕度低于一定范圍或在用戶控制下停止加熱,從而實(shí)現(xiàn)衣柜內(nèi)濕度控制的功能。
本模塊的主要任務(wù)是通過繼電器操作加熱器從而實(shí)現(xiàn)濕度控制的功能。具體流程如下,首先初始化繼電器控制引腳所連樹莓派GPIO 口,發(fā)出控制信號使繼電器閉合,在延時一段時間后斷開繼電器。
本模塊采用了與濕度控制模塊相同的繼電器控制大電路的控制方式。將紫外線燈連接到繼電器于大電路端,控制電路端的VCC 和GND 分別接樹莓派的GND 和3.3V,剩下的信號線接GPIO21(BCM編碼方式下)。但與濕度控制模塊不同的是,紫外線對人有較大影響,故添加人體紅外傳感器,將其信號線連接到樹莓派GPIO16 引腳(BCM編碼下)。在用戶操作下且檢測周圍無人情況時輸出高電平,使大電路端閉合,控制紫外線燈照射,進(jìn)行殺菌除螨的任務(wù),提升衣柜內(nèi)衣物質(zhì)量,使用戶穿衣更加健康。
本設(shè)計(jì)中的家庭智能衣柜管理系統(tǒng),是軟件技術(shù)和對應(yīng)的硬件設(shè)備統(tǒng)一的結(jié)果。家庭智能衣柜控制管理系統(tǒng)的整體軟件設(shè)計(jì)框圖如圖1 所示。
圖1 家庭智能衣柜管理系統(tǒng)整體軟件設(shè)計(jì)圖
系統(tǒng)的整體軟件設(shè)計(jì)可以分為三個大的模塊,底層的硬件數(shù)據(jù)信息采集模塊、中間層數(shù)據(jù)接收處理模塊和高層網(wǎng)絡(luò)通信模塊。底層信息采集模塊是樹莓派通過直接與傳感器相連或使用I2C 設(shè)備進(jìn)行數(shù)據(jù)采集。中間層則是樹莓派內(nèi)的Python 腳本程序采集處理個傳感器數(shù)據(jù),并解析成對人友好的的數(shù)據(jù)類型。而高層將采集分析過的數(shù)據(jù)進(jìn)行網(wǎng)絡(luò)通信上傳至服務(wù)器中。
本系統(tǒng)將采用flask-web 框架搭建整體軟件,以相對容易的實(shí)現(xiàn)對傳感器數(shù)據(jù)的遠(yuǎn)程傳輸和硬件遠(yuǎn)程操作的支持。如圖2 中所示,本系統(tǒng)在收到一條HTTP 請求后將先判斷其請求類型為數(shù)據(jù)請求還是操作請求,再根據(jù)其請求的數(shù)據(jù)類型和操作的目標(biāo)細(xì)分,進(jìn)入其各自的子模塊。
圖2 家庭智能衣柜控制系統(tǒng)總體軟件設(shè)計(jì)流程圖
D 本模塊的主要任務(wù)是操作DHT-11 溫濕度傳感器并取得所測數(shù)據(jù)。首先初始化DHT-11 數(shù)據(jù)線所連引腳,向其發(fā)出工作信號。此處工作信號為一個持續(xù)約20ms 的低電平然后跳變成高電平。接著將DHT-11 的信號線引腳設(shè)置為輸入引腳,在接收到數(shù)據(jù)傳輸信號后,開始記錄數(shù)據(jù)。此處數(shù)據(jù)傳輸信號為持續(xù)一段時間的高電平跳變成一段時間低電平再跳變成高電平,然后正式數(shù)據(jù)傳輸。數(shù)據(jù)傳輸方法是,每兩段低電平直接的高電平為1 位,接著判斷高電平的持續(xù)時間,一般大于約13ms,則該位為0,小于13ms 則該位為1。共四十位數(shù)據(jù),每8 位分別為溫濕度整數(shù)和小數(shù)點(diǎn)后值,最后8 位為校驗(yàn)和。最后核準(zhǔn)校驗(yàn)和,返回?cái)?shù)據(jù)。
本模塊的主要任務(wù)是通過I2C 總線獲取pcf8591 上INT0 的值,即MQ-5 可燃?xì)怏w傳感器的AO 模擬量輸出的值在經(jīng)過pcf8591 轉(zhuǎn)換成數(shù)字量之后的結(jié)果。具體流程如下,先初始化I2C 總線,接著初始化pcf8591 模塊,讀取I2C 中pcf8591 所在地址的值,本處地址為0x48,pcf8591內(nèi)部存放INT0 的值的地址為0x40。最后取得所量值,返回?cái)?shù)據(jù)。
本模塊的主要任務(wù)是通過繼電器操作加熱器從而實(shí)現(xiàn)濕度控制的功能。具體流程如下,首先初始化繼電器控制引腳所連樹莓派GPIO 口,發(fā)出控制信號使繼電器閉合,在延時一段時間后斷開繼電器。
本模塊的主要任務(wù)與濕度控制模塊類似,通過繼電器控制紫外線燈實(shí)現(xiàn)殺菌除螨的作用。但不同的是由于紫外線對人有較大影響,所以本模塊設(shè)計(jì)中添加了人體紅外傳感器,判斷衣柜附近是否有人會受到影響,有則不啟動或結(jié)束紫外線燈任務(wù)。
本文章的主題是家庭智能衣柜控制系統(tǒng)研究。在調(diào)研時期,調(diào)查研究了傳統(tǒng)衣柜的不足之處和當(dāng)下只能衣柜的發(fā)展方向,確定了本設(shè)計(jì)控制系統(tǒng)的思路。設(shè)計(jì)主要采用B/S 架構(gòu),選取了樹莓派的核心控制板。樹莓派的優(yōu)勢在于底層驅(qū)動有良好的庫的支持,可以將更多精力集中于應(yīng)用層開發(fā)。用戶可以通過手機(jī)或者電腦使用瀏覽器連接智能衣柜的控制平臺、查看智能衣柜內(nèi)溫濕度和可燃?xì)怏w濃度,從而規(guī)避衣物霉變和臥室內(nèi)可能出現(xiàn)的火災(zāi)風(fēng)險(xiǎn)。此外本設(shè)計(jì)還為降低霉變概率和人體健康穿衣提供了幫助,通過遠(yuǎn)程操作繼電器實(shí)現(xiàn)加熱器和紫外線燈的控制,實(shí)現(xiàn)濕度降低、殺菌除螨的功能。