一種基于射頻網(wǎng)絡(luò)的智能家居電能控制系統(tǒng)
近年來(lái),物聯(lián)網(wǎng)技術(shù)發(fā)展迅速,全社會(huì)的信息化水平不斷提升。智能家居是物聯(lián)網(wǎng)的主要應(yīng)用之一,已成為當(dāng)前的熱門(mén)研究領(lǐng) 域,也是未來(lái)家居生活的發(fā)展方向 。它能夠?yàn)橛脩?hù)提供舒適、便利的生活環(huán)境。但由于市場(chǎng)上的相關(guān)產(chǎn)品大多價(jià)格昂貴,普及率依然較低。以往的探索與開(kāi)發(fā)往往停留在對(duì)電器設(shè)備本身的改造上,這 種嘗試使智能家居產(chǎn)品一度成為奢侈品。本文介紹了一種電能控制系統(tǒng),作為智能家居的重要組成部分,它在不改動(dòng)原有電器設(shè)備的基礎(chǔ)上實(shí)現(xiàn)了遠(yuǎn)程自動(dòng)控制功能。
1 系統(tǒng)結(jié)構(gòu)
該電能控制系統(tǒng)由遙控器和插座節(jié)點(diǎn)組成,其工作原理如圖1所示。當(dāng)用戶(hù) 在家時(shí),通過(guò)遙控器以射頻方式對(duì)插座進(jìn)行控制。插座節(jié)點(diǎn)收到信號(hào)后,由微控制器進(jìn)行解碼,并根據(jù)得出的結(jié)果,對(duì)特定編號(hào)的插座做通斷電處理,從而使與其連 接的用電器被啟動(dòng)或者關(guān)閉。當(dāng)用戶(hù)離住所較遠(yuǎn)時(shí),可通過(guò)GSM網(wǎng)絡(luò)向遙控器發(fā)送手機(jī)短信 ,微控制器讀取信息后,通過(guò)射頻芯片,將信息傳遞到室內(nèi)的無(wú)線(xiàn)網(wǎng)絡(luò)中,進(jìn)而使相應(yīng)地址上的插座受到控制。由此可見(jiàn),遙控器在整個(gè)智能家居系統(tǒng)中屬于網(wǎng)關(guān)節(jié) 點(diǎn) ,一方面,它與插座節(jié)點(diǎn)組成了室內(nèi)射頻局域網(wǎng),另一方面,它又與GSM網(wǎng)絡(luò)相連,延展了遙控距離。遙控器的內(nèi)部結(jié)構(gòu)如圖2所示,包括溫濕度檢測(cè)電路、時(shí)鐘 模塊、nRF905射頻收發(fā)模塊、GSM模塊等功能電路,這些模塊均與控制核心LM3S811相連。該微控制器采用ARM Coaex-M3架構(gòu),由于依托高密度的Thumb-2指令集,內(nèi)存開(kāi)銷(xiāo)大大降低,操作系統(tǒng)的移植也更加方便。
圖1 遙控插座工作原理
圖2 遙控器結(jié)構(gòu)框圖
插 座節(jié)點(diǎn)主要實(shí)現(xiàn)與遙控器的射頻通信以及繼電器的通斷控制,其結(jié)構(gòu)框圖如圖3所示。插座中的煙霧傳感器用于預(yù)防火災(zāi)危險(xiǎn)。一旦檢測(cè)到煙霧或可燃性氣體,插座 上對(duì)應(yīng)的繼電器將斷開(kāi),并通過(guò)射頻收發(fā)模塊向遙控器匯報(bào),遙控器收到信息后,再通過(guò)GSM模塊的短信功能及時(shí)提醒用戶(hù)采取相應(yīng)的措施,防止危險(xiǎn)的發(fā)生或財(cái) 產(chǎn)損失的進(jìn)一步擴(kuò)大。由于插座端工作量較少,從成本和性能兩方面考慮,本系統(tǒng)采用STC12C5620AD微控制器作為插座端的主控芯片。
圖3 插座節(jié)點(diǎn)結(jié)構(gòu)框圖
2 硬件電路設(shè)計(jì)
2.1 溫濕度檢測(cè)電路
本系統(tǒng)采用溫度傳感器LM35和濕度測(cè)量模塊CHM-02進(jìn)行環(huán)境監(jiān)測(cè)。LM35的電壓輸出與攝氏溫度呈線(xiàn)性關(guān)系,無(wú)需校準(zhǔn)就可在常溫環(huán)境下達(dá)±l/4℃ 的測(cè)量精度。CHM-02模塊可在0~70 ℃的溫度下對(duì)20~95%RH范圍內(nèi)的濕度進(jìn)行檢測(cè),室溫下的測(cè)量精度為5%RH。溫濕度傳感器與MCU的接口示意圖如圖4所示。由于兩種傳感器輸出的模 擬信號(hào)在MCU片內(nèi)A/D采樣電路的檢測(cè)范圍內(nèi),所以直接將兩者的輸出端與MCU的兩個(gè)ADC引腳連接。模擬式傳感器的使用不但充分利用了控制器的片上資 源,而且提高了子程序的利用率。
圖4 溫濕度傳感器與MCU的接口示意圖
2.2 煙霧檢測(cè)電路
煙 霧傳感器MQ一2基于SnO:的電化學(xué)特性,對(duì)可燃性氣體及煙塵有良好的檢測(cè)靈敏度。煙霧檢測(cè)電路原理圖如圖5所示。MQ.2在正常工作前需要對(duì)內(nèi)部加熱 絲的H.h兩極通電預(yù)熱 ,為了防止加熱電流過(guò)大而導(dǎo)致內(nèi)部信號(hào)線(xiàn)溫度過(guò)高,此處將加熱絲與100 Q電阻串聯(lián)。當(dāng)環(huán)境中的煙霧或可燃?xì)怏w超過(guò)警戒閾值時(shí),傳感器A.B兩極間的電導(dǎo)率迅速增加,與其串聯(lián)的負(fù)載電阻m所獲得的電壓也相應(yīng)增加,該電壓信號(hào)經(jīng) 低功耗運(yùn)放TLC27M2放大后,得到與煙霧或可燃?xì)鉂舛认鄬?duì)應(yīng)的模擬量輸出,最終接人控制器的ADC模塊進(jìn)行量化。
圖5 煙霧檢測(cè)電路原理圖
2.3 時(shí)鐘模塊
時(shí) 鐘模塊除了顯示系統(tǒng)時(shí)間以外,還可對(duì)單個(gè)插座進(jìn)行通斷電定時(shí)。時(shí)鐘電路原理圖如圖6所示,DS1302通過(guò)串行方式與MCU通信,為保證信號(hào)傳輸?shù)姆€(wěn)定 性,接口已做上拉處理。芯片采用雙電源供電,主電源正常工作時(shí)可以對(duì)備用電源進(jìn)行涓細(xì)電流充電;在掉電情況下啟動(dòng)備用電源,避免因突然停電而造成時(shí)鐘停滯 。考慮到使用的便捷性,遙控器由鋰電池供電。DS1302的主電源引腳VCC2連接到集成穩(wěn)壓器的3.3 V輸出,而備用電源引腳VCC1與4700 μF的電容串接,兩個(gè)電源引腳之間通過(guò)二極管隔離。由于芯片耗電量很低,在更換電池的過(guò)程中,電容的放電作用可以暫時(shí)維持芯片運(yùn)行。
圖6 時(shí)鐘電路原理圖
2.4 射頻收發(fā)模塊nRF905
射 頻收發(fā)模塊是連接插座與遙控器的橋梁。nRF905集成收發(fā)器能在3個(gè)ISM頻段配置使用,且功耗很低。本系統(tǒng)中的所有節(jié)點(diǎn)均設(shè)置在433 MHz頻段工作嘲,射頻收發(fā)電路原理圖如圖7所示,其中的SMA接口用來(lái)連接特性阻抗為5O Ω的單端天線(xiàn),有利于信號(hào)的全向輻射。單端天線(xiàn)又被稱(chēng)為非平衡天線(xiàn),其主要參考點(diǎn)為信號(hào)地,而nRF905的天線(xiàn)接口(引腳ANT1和ANT2)為差分射 頻輸出端口。為了維持信號(hào)平衡,保證兩個(gè)端口的阻抗匹配,此處在兩者之間增加了balun(平衡月乍平衡)電路,對(duì)芯片輸出端的特性進(jìn)行調(diào)節(jié)。
圖7 射頻收發(fā)電路
2.5 GSM通信模塊
將短距射頻網(wǎng)絡(luò)與GSM技術(shù)相結(jié)合,既發(fā)揮了短距射頻網(wǎng)絡(luò)配置靈活的特點(diǎn),又發(fā)揮了GSM技術(shù)在通信距離上的優(yōu)勢(shì)。GSM通信電路的核心是SIM300模塊,其外圍電路如圖8所示。
圖8 GSM通信電路原理圖
原 理圖SIM300通過(guò)串口與MCU通信,模塊與SIM卡之間串聯(lián)的22 Ω電阻用于阻抗匹配。為保證信號(hào)的傳輸質(zhì)量,SIM卡數(shù)據(jù)線(xiàn)作了上拉處理,與引腳并聯(lián)的SMF05C型靜電抑制器用于靜電防護(hù)。電源與地之間并聯(lián)的100 μF鉭電容和1 μF陶瓷電容用于去除低頻毛刺,并在一定程度上兼顧了高頻特性。按下按鍵S1,使PWRKEY引腳的電位拉低約2 s左右,可以完成模塊的上電與掉電,當(dāng)前狀態(tài)由串聯(lián)在VDD_EXT引腳上的發(fā)光二極管指示。為了便于程序控制,在原有按鍵的基礎(chǔ)上增加了一種三極管開(kāi)關(guān) 電路,當(dāng)模塊工作異常時(shí),可以通過(guò)軟件改寫(xiě)PWR端口的狀態(tài)來(lái)實(shí)現(xiàn)SIM300的自動(dòng)復(fù)位。
3 軟件設(shè)計(jì)
遙控器和插座對(duì)于整個(gè)射頻無(wú)線(xiàn)網(wǎng)絡(luò)而言都是其中的節(jié)點(diǎn),但硬件結(jié)構(gòu)上的差異決定了兩者功能與地位上的不同,也使得兩者在軟件設(shè)計(jì)的方式上有所差別。
3.1 遙控器節(jié)點(diǎn)程序設(shè)計(jì)
遙 控器是系統(tǒng)的控制核心,也是用戶(hù)與插座之間聯(lián)系的紐帶,因此程序中的并發(fā)模塊多,任務(wù)繁重??紤]到遙控器中采用的ARM處理器可提供對(duì)操作系統(tǒng)的全面支 持,利用μC/OS-Ⅱ操作系統(tǒng)對(duì)該節(jié)點(diǎn)中的多個(gè)任務(wù)進(jìn)行調(diào)度 ,可有效保證系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性,也有利于功能的擴(kuò)展。在進(jìn)行操作系統(tǒng)移植前,需要對(duì)任務(wù)進(jìn)行劃分,每個(gè)功能對(duì)應(yīng)一個(gè)系統(tǒng)任務(wù),同時(shí)應(yīng)避免劃分過(guò)細(xì)而導(dǎo) 致頻繁調(diào)度的問(wèn)題。遙控器節(jié)點(diǎn)的程序流程如圖9所示,其中包含了7個(gè)任務(wù),任務(wù)之間通過(guò)信號(hào)量、消息隊(duì)列、消息郵箱等方式實(shí)現(xiàn)同步與通信。從用戶(hù)的角度來(lái) 看,這些任務(wù)是并發(fā)執(zhí)行的。
圖9 遙控器節(jié)點(diǎn)程序流程圖
按 鍵掃描任務(wù)的優(yōu)先級(jí)在所有用戶(hù)任務(wù)中最高。通過(guò)中斷方式讀取用戶(hù)輸人的按鍵值,數(shù)據(jù)存人消息郵箱KeyMbox中,若數(shù)字鍵1-6被按下,則通知射頻發(fā)送 任務(wù)處理;若時(shí)鐘設(shè)置按鍵被按下,則進(jìn)行時(shí)鐘調(diào)整或定時(shí)器設(shè)置。時(shí)鐘定時(shí)任務(wù)用于獲得DS1302的時(shí)鐘輸出值,在定時(shí)時(shí)間到達(dá)后,發(fā)送消息通知射頻發(fā)送 任務(wù)處理,完成后自動(dòng)掛起。射頻發(fā)送任務(wù)是根據(jù)其他任務(wù)中獲得的控制碼,以射頻方式對(duì)相應(yīng)編號(hào)的插座發(fā)送通斷電控制信號(hào),隨后等待插座端返回動(dòng)作信息。若 超時(shí)無(wú)反饋則重發(fā)1次,重發(fā)3次后任務(wù)掛起。危險(xiǎn)報(bào)警任務(wù)需經(jīng)過(guò)同頻載波檢測(cè),地址匹配確認(rèn)后,才開(kāi)始接收射頻信號(hào),進(jìn)而將信息送人郵箱,解碼確認(rèn)危險(xiǎn)報(bào) 警標(biāo)識(shí)后,通過(guò)GSM模塊,以短消息的方式通知用戶(hù)。短信接收任務(wù)負(fù)責(zé)接收用戶(hù)短信,并將其存放在消息郵箱GSMMbox中。通過(guò)AT指令 “AT+CMGR=I”每次只讀取序號(hào)為1的短信息,成功提取控制碼(包含插座ID號(hào)和開(kāi)關(guān)動(dòng)作碼)后,將該條信息刪除,并向射頻發(fā)送任務(wù)傳遞消息。環(huán)境 監(jiān)測(cè)任務(wù)負(fù)責(zé)對(duì)室內(nèi)溫濕度信息循環(huán)采樣。雖然溫度傳感器的線(xiàn)性度較好,但外界環(huán)境對(duì)濕度傳感器的影響較大,需對(duì)其輸出電壓值作分段線(xiàn)性化處理。數(shù)據(jù)存放于 消息隊(duì)列中,最終結(jié)果為3次測(cè)量值的算術(shù)平均值。液晶顯示任務(wù)優(yōu)先級(jí)最低,待以上任務(wù)結(jié)束后,負(fù)責(zé)顯示各插座最終的狀態(tài)、時(shí)鐘信息以及室內(nèi)溫濕度測(cè)量結(jié)果等。
3.2 插座節(jié)點(diǎn)程序設(shè)計(jì)
插座節(jié)點(diǎn)程序流程如圖10所示,其 中最主要的工作是實(shí)現(xiàn)射頻信號(hào)的接收與發(fā)送。當(dāng)沒(méi)有煙霧報(bào)警時(shí),nRF905進(jìn)入接收模式,同時(shí)偵聽(tīng)信道;若監(jiān)測(cè)到同頻載波且數(shù)據(jù)包地址有效,則啟動(dòng)接 收;當(dāng)CRC校驗(yàn)結(jié)果正確,硬件會(huì)自行去除數(shù)據(jù)包的前導(dǎo)碼、校驗(yàn)碼及地址碼 ,并通知MCU數(shù)據(jù)準(zhǔn)備就緒,進(jìn)而MCU通過(guò)SPI串行總線(xiàn)讀取接收到的信息。
圖1O 插座節(jié)點(diǎn)程序流程圖
射 頻信號(hào)發(fā)送本質(zhì)上是接收的逆過(guò)程。當(dāng)nRF905進(jìn)入待機(jī)模式后,MCU將地址與數(shù)據(jù)信息傳送至射頻芯片的發(fā)送寄存器,同時(shí)啟動(dòng)芯片進(jìn)入射頻發(fā)送模式,隨 后片內(nèi)硬件自動(dòng)完成對(duì)數(shù)據(jù)的打包、編碼、調(diào)制及發(fā)送任務(wù)。一幀數(shù)據(jù)發(fā)送結(jié)束后,射頻芯片轉(zhuǎn)入待機(jī)模式,等待下一次被激活。射頻電路的每一次接收或發(fā)送過(guò)程 都伴隨著繼電器的接通或斷開(kāi)動(dòng)作。默認(rèn)條件下,煙霧傳感器處于使能狀態(tài),為了防止用戶(hù)在室內(nèi)抽煙而導(dǎo)致系統(tǒng)誤判,煙霧檢測(cè)功能也可以設(shè)置為失效。
評(píng)論