一種基于微控制器的智能家居電能控制系統(tǒng)
3.1 遙控器節(jié)點程序設(shè)計
遙控器是系統(tǒng)的控制核心,也是用戶與插座之間聯(lián)系的紐帶,因此程序中的并發(fā)模塊多,任務繁重??紤]到遙控器中采用的ARM處理器可提供對操作系統(tǒng)的全面支持,利用μC/OS-Ⅱ操作系統(tǒng)對該節(jié)點中的多個任務進行調(diào)度 ,可有效保證系統(tǒng)的實時性和穩(wěn)定性,也有利于功能的擴展。在進行操作系統(tǒng)移植前,需要對任務進行劃分,每個功能對應一個系統(tǒng)任務,同時應避免劃分過細而導致頻繁調(diào)度的問題。遙控器節(jié)點的程序流程如圖9所示,其中包含了7個任務,任務之間通過信號量、消息隊列、消息郵箱等方式實現(xiàn)同步與通信。從用戶的角度來看,這些任務是并發(fā)執(zhí)行的。
圖9 遙控器節(jié)點程序流程圖
按鍵掃描任務的優(yōu)先級在所有用戶任務中最高。通過中斷方式讀取用戶輸人的按鍵值,數(shù)據(jù)存人消息郵箱KeyMbox中,若數(shù)字鍵1-6被按下,則通知射頻發(fā)送任務處理;若時鐘設(shè)置按鍵被按下,則進行時鐘調(diào)整或定時器設(shè)置。時鐘定時任務用于獲得DS1302的時鐘輸出值,在定時時間到達后,發(fā)送消息通知射頻發(fā)送任務處理,完成后自動掛起。射頻發(fā)送任務是根據(jù)其他任務中獲得的控制碼,以射頻方式對相應編號的插座發(fā)送通斷電控制信號,隨后等待插座端返回動作信息。若超時無反饋則重發(fā)1次,重發(fā)3次后任務掛起。危險報警任務需經(jīng)過同頻載波檢測,地址匹配確認后,才開始接收射頻信號,進而將信息送人郵箱,解碼確認危險報警標識后,通過GSM模塊,以短消息的方式通知用戶。短信接收任務負責接收用戶短信,并將其存放在消息郵箱GSMMbox中。通過AT指令“AT+CMGR=I”每次只讀取序號為1的短信息,成功提取控制碼(包含插座ID號和開關(guān)動作碼)后,將該條信息刪除,并向射頻發(fā)送任務傳遞消息。環(huán)境監(jiān)測任務負責對室內(nèi)溫濕度信息循環(huán)采樣。雖然溫度傳感器的線性度較好,但外界環(huán)境對濕度傳感器的影響較大,需對其輸出電壓值作分段線性化處理。數(shù)據(jù)存放于消息隊列中,最終結(jié)果為3次測量值的算術(shù)平均值。液晶顯示任務優(yōu)先級最低,待以上任務結(jié)束后,負責顯示各插座最終的狀態(tài)、時鐘信息以及室內(nèi)溫濕度測量結(jié)果等。
3.2 插座節(jié)點程序設(shè)計
插座節(jié)點程序流程如圖10所示,其中最主要的工作是實現(xiàn)射頻信號的接收與發(fā)送。當沒有煙霧報警時,nRF905進入接收模式,同時偵聽信道;若監(jiān)測到同頻載波且數(shù)據(jù)包地址有效,則啟動接收;當CRC校驗結(jié)果正確,硬件會自行去除數(shù)據(jù)包的前導碼、校驗碼及地址碼 ,并通知MCU數(shù)據(jù)準備就緒,進而MCU通過SPI串行總線讀取接收到的信息。
圖1O 插座節(jié)點程序流程圖
射頻信號發(fā)送本質(zhì)上是接收的逆過程。當nRF905進入待機模式后,MCU將地址與數(shù)據(jù)信息傳送至射頻芯片的發(fā)送寄存器,同時啟動芯片進入射頻發(fā)送模式,隨后片內(nèi)硬件自動完成對數(shù)據(jù)的打包、編碼、調(diào)制及發(fā)送任務。一幀數(shù)據(jù)發(fā)送結(jié)束后,射頻芯片轉(zhuǎn)入待機模式,等待下一次被激活。射頻電路的每一次接收或發(fā)送過程都伴隨著繼電器的接通或斷開動作。默認條件下,煙霧傳感器處于使能狀態(tài),為了防止用戶在室內(nèi)抽煙而導致系統(tǒng)誤判,煙霧檢測功能也可以設(shè)置為失效。
4 測試與分析
在圖11所示住宅中進行現(xiàn)場測試,6個插座和1個遙控器被放置于A到G這7個區(qū)域內(nèi)。為了評估系統(tǒng)的抗干擾能力,在各區(qū)域的交界處均放置兩個干擾源,頻率為432 MHz和434 MHz。改變遙控器所在位置,對6個插座各遙控200次,并記錄插座端的回饋信號。若返回錯誤信息或不反饋,則作為一次丟包記錄。
圖11 測試現(xiàn)場網(wǎng)絡節(jié)點分布圖
結(jié)果發(fā)現(xiàn),遙控器在C、E兩個區(qū)域平均誤碼率略高于其他區(qū)域;當遙控器在G區(qū)域時,平均誤碼率最低,效果最好。
5 結(jié)語
本系統(tǒng)實現(xiàn)了對家用插座的智能無線控制,在不改動原有家電內(nèi)部結(jié)構(gòu)的基礎(chǔ)上,用戶可以通過射頻、短信、定時等方式,控制插座的通斷電狀態(tài)。當室內(nèi)發(fā)生火災或可燃氣體泄漏等情況時,插座能自動斷電。整個系統(tǒng)對控制對象沒有特殊要求,適應性較強,不失為一種廉價的智能家居解決方案。
評論