李元吉 林德麗
摘 要:智能家居在物聯(lián)網(wǎng)中占有很重要的,文章以智能插座為例來闡述智能家居的整體功能。智能插座使用arduino單片機(jī),ESP8266串口WIFI模塊,可以使用微信平臺和家用電器上實(shí)現(xiàn)交互式控制、遠(yuǎn)程控制、微平臺還可以實(shí)現(xiàn)社會網(wǎng)絡(luò)物聯(lián)網(wǎng)與智能家居系統(tǒng)推廣,產(chǎn)品將會有良好的市場前景。
關(guān)鍵詞:智能插座;arduino;esp8266串口wifi
1 智能插座發(fā)展現(xiàn)狀
傳統(tǒng)的電源插座僅僅是電路的拓展,而智能插座一般都有著相應(yīng)的智能化的功能,智能插座和傳統(tǒng)的插座在外觀和功能上有著明顯的差異。當(dāng)前的市場上已經(jīng)出現(xiàn)了多種不同功能的智能插座,他們內(nèi)部嵌有智能集成芯片或微處理器,能夠完成初步的智能處理,但目前的都存在功能較為單一的缺點(diǎn),難以與物聯(lián)網(wǎng)進(jìn)行相應(yīng)的契合,不能滿足智能家居系統(tǒng)的需求。
2 系統(tǒng)設(shè)計(jì)方案
2.1 主要技術(shù)
ESP8266是一款高度集成的芯片,該芯片專門針對無線連接的需求而開發(fā),是一個(gè)完整且自成系統(tǒng)的Wi-Fi網(wǎng)絡(luò)解決方案。它能夠搭載軟件應(yīng)用,也能通過另一個(gè)應(yīng)用處理器卸載所有的Wi-Fi網(wǎng)絡(luò)功能。
ESP8266芯片是專門為無線連接而設(shè)計(jì)的,是一個(gè)擁有獨(dú)立的Wi-Fi網(wǎng)絡(luò)的完整系統(tǒng)解決方案。它可以攜帶的應(yīng)用軟件,也能通過應(yīng)用卸載Wi-Fi網(wǎng)絡(luò)功能。ESP8266具有良好的處理能力和存儲功能,使傳感器可通過GPIO端口來進(jìn)行控制相關(guān)的設(shè)備,既縮短前期開發(fā)時(shí)間,也最大限度減少運(yùn)行中系統(tǒng)資源的占用。達(dá)到縮短開發(fā)時(shí)間和減少早期資源使用的目的。ESP8266高度集成在芯片中,只有很少的外部電路,包括它的前端模塊,包括整個(gè)解決方案,使設(shè)計(jì)的空間占用達(dá)到最小。
HC05藍(lán)牙模塊與屬于HC民用級串口藍(lán)牙模塊??捎糜诟鞣N帶藍(lán)牙功能的電腦、藍(lán)牙主機(jī)、手機(jī)、PDA等智能終端配對,兼容單片機(jī)系統(tǒng)。當(dāng)主從模式兩個(gè)藍(lán)牙模塊配對成功后。
2.2 設(shè)計(jì)模塊
主控制器:主控制器主要由一片arduino單片機(jī)構(gòu)成,是整個(gè)智能插座的核心,負(fù)責(zé)整個(gè)系統(tǒng)的測量、控制、通信、管理。
通信模塊:智能插座通過無線通信模塊與主控制器進(jìn)行數(shù)據(jù)交互,我們設(shè)計(jì)的智能插座利用esp8266串口WIFI模塊以及藍(lán)牙模塊作為通信模塊,實(shí)現(xiàn)遠(yuǎn)程控制插座的通斷電以及將主控器采集的功率等數(shù)值傳上互聯(lián)網(wǎng)實(shí)現(xiàn),在遠(yuǎn)程可查看相關(guān)數(shù)據(jù)以及完成家電設(shè)備的控制。
按鍵電路:采用單按鍵的輸入方式觸發(fā)外部中斷,用于開啟定時(shí)模式,以及完成定時(shí)時(shí)間的設(shè)定。
信號檢測模塊:通過分壓電阻和錳銅片將電壓電流功率信號,經(jīng)過信號轉(zhuǎn)換輸入到測量芯片ATT7022B,此芯片內(nèi)有A/D轉(zhuǎn)換和數(shù)字運(yùn)算電路,可以計(jì)算電壓電流等有效值和功率的計(jì)算,生成數(shù)據(jù)流。
傳感器模塊:由于本系統(tǒng)中很多模塊都會耗電,在無人使用時(shí)可關(guān)掉總電源,因此可用主動式紅外模塊監(jiān)測智能插座是否有人使用,若無人使用,則關(guān)掉電源,已達(dá)到節(jié)電的目的。
繼電器模塊:繼電器是利用單片機(jī)高低電平控制插座通斷電的橋梁,可實(shí)現(xiàn)小電壓控制大電壓。
3 軟件設(shè)計(jì)方案
軟件設(shè)計(jì)主要實(shí)現(xiàn)插座上沒有連接電器時(shí)自動斷電、用戶可遠(yuǎn)程控制插座的通斷電、用戶可手動設(shè)置讓插座定時(shí)通斷電這三個(gè)功能。
首先進(jìn)行初始化,設(shè)置好端口并初始值,紅外傳感器用于檢測插座上是否有遮擋物(即是否有插頭在使用),若有插頭使用,用戶可以通過手機(jī)終端控制繼電器的開與關(guān)進(jìn)而控制插座的通斷電;若無插頭使用,則繼電器無法打開,插座不能通電。另外使用循環(huán)程序設(shè)置定時(shí)時(shí)間。而藍(lán)牙模塊的功能則是用與終端設(shè)備的通信,如本實(shí)驗(yàn)使用的手機(jī)終端,當(dāng)手機(jī)發(fā)送“開”或“關(guān)”的指令后,藍(lán)牙模塊接收到并進(jìn)行響應(yīng)。初始化的設(shè)定包括個(gè)引腳的定義,初始電平,按鍵一次的延時(shí)時(shí)間和波特率。
延時(shí)部分,為避免按鍵擾動設(shè)置有20ms的延時(shí),檢查引腳3(該引腳連接按鍵,按下對應(yīng)為“0”)是否為“0”,若為“0”則延時(shí)加1000ms,若沒有延時(shí)指令則引腳3寫入高電平。因此可以通過多次按鍵實(shí)現(xiàn)延時(shí)時(shí)間的累計(jì)。當(dāng)然這里為了便于觀察現(xiàn)象設(shè)置time為1000ms,也可以增大按鍵一次所延時(shí)的時(shí)間,以滿足用戶的需求。
按鍵部分,使用MsTimer2庫函數(shù),它是一個(gè)定時(shí)器中斷函數(shù),當(dāng)time溢出時(shí)就跳轉(zhuǎn)至timing_switch,結(jié)束中斷。使用這個(gè)函數(shù)時(shí)需要事先在Arduino的函數(shù)庫中導(dǎo)入該函數(shù)文件或自己編寫。
按鍵掃描部分,為了解決并不是要進(jìn)行定時(shí)設(shè)置卻碰到了按鍵,會出現(xiàn)錯(cuò)誤的響應(yīng),加入按鍵掃描的檢查。首先做一次按鍵檢查,判斷按鍵是否按下,若按下,延時(shí)20ms后再次檢查,若仍為按下則進(jìn)行確認(rèn)。這樣就需要我們在按鍵時(shí)停頓一會,避免了擾動產(chǎn)生的問題。
繼電器的開關(guān)控制,首先接收藍(lán)牙終端發(fā)過來的ASCII碼并判斷,若設(shè)置“ON!”和“OFF!”接收到為“ON!”則打開繼電器,接收到為“OFF!”則關(guān)閉繼電器,從而實(shí)現(xiàn)對插座的通斷電控制。
紅外傳感器障礙物檢測,紅外傳感器通過紅外線的反射來檢測障礙物,如果有障礙物則可以控制插座開關(guān),如果無障礙物返回高電平,無法打開繼電器。
4 結(jié)束語
該多功能智能插座從智能家居標(biāo)準(zhǔn)的角度考慮,除具有電源分配功能外,還應(yīng)該擁有過載漏電的保護(hù)功能;定時(shí),利用定時(shí)器,使智能插座中在指定的時(shí)間節(jié)點(diǎn)進(jìn)行斷電操作,便于自動控制,為電氣和電子設(shè)備進(jìn)行預(yù)約延時(shí)功能;遠(yuǎn)程控制,使用Wi-Fi連接,通過板載通信模塊實(shí)現(xiàn)對家用電器的遠(yuǎn)程控制,實(shí)現(xiàn)自動開啟、關(guān)閉;電量檢測,計(jì)算并查看在一定的時(shí)間內(nèi)消耗的電能和設(shè)備的電流功率。
參考文獻(xiàn)
[1][美]MassimoBanzi.愛上Arduino[M].于欣龍,郭號 譯.人民郵電出版社,2011.
[2]楊欣,萊洛克斯,王玉鳳,等.電子設(shè)計(jì)從零開始[M].清華大學(xué)出版社,2010.
[3]陳海旺,張振娟,黃明.智能家居中無線智能插座的涉及[J].電視技術(shù),2013.
作者簡介:李元吉(1994,04-),男,山東煙臺,本科在讀,研究方向:計(jì)算機(jī)科學(xué)與技術(shù)。
指導(dǎo)教師:林德麗(1983,09-),女,山東日照,講師,碩士,計(jì)算機(jī)科學(xué)與技術(shù)。