一、項(xiàng)目設(shè)計(jì)背景及概述
物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分。顧名思義,物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng)。這有兩層意思:第一,物聯(lián)網(wǎng)的核心和基礎(chǔ)仍然是互聯(lián)網(wǎng),是在互聯(lián)網(wǎng)基礎(chǔ)上的延伸和擴(kuò)展的網(wǎng)絡(luò);第二,其用戶端延伸和擴(kuò)展到了任何物品與物品之間,進(jìn)行信息交換和通信。物聯(lián)網(wǎng)就是“物物相連的互聯(lián)網(wǎng)”,其中智能家居是物聯(lián)網(wǎng)的一部分。
隨著人們生活水平的不斷提高,人們對生活質(zhì)量的要求不斷提高,方便快捷是人們永恒追求的目標(biāo)。在家居娛樂和電器控制方面,智能家居有突出表現(xiàn),包括背景音樂系統(tǒng)、數(shù)字網(wǎng)絡(luò)客廳、家居綜合布線、燈光控制和電器控制等功能在內(nèi)的系統(tǒng),使人們的生活從各個(gè)方面變得更加安全、舒適、簡單。
目前市場上,智能家居的主要接受人群仍然是一部分高端人群。業(yè)內(nèi)人士認(rèn)為,阻撓智能家居發(fā)展腳步的主要是價(jià)格和消費(fèi)理念兩方面的原因。智能家居還屬于高檔消費(fèi),一套系統(tǒng)要幾萬元不等。盡管接受度和認(rèn)同度與以前相比已經(jīng)大有提高,但仍主要局限于買別墅的高端人群和熱愛生活、享受生活的年輕白領(lǐng)一族。另外,目前許多人對智能家居系統(tǒng)功能的認(rèn)識(shí)不足,許多設(shè)計(jì)師 也缺乏相應(yīng)的專業(yè)知識(shí)去向業(yè)主推廣,導(dǎo)致一部分實(shí)際上有需求的業(yè)主對智能家居還一無所知。但是近年來,智能家居的普及度正在慢慢提高,隨著國外同行業(yè)產(chǎn)品不斷涌入我國,以及與國內(nèi)智能家居行業(yè)的競爭加劇,客觀上逐漸加大了宣傳力度,并產(chǎn)生互補(bǔ)。今后我國的智能家居應(yīng)走品質(zhì)與服務(wù)并重的路線,未來智能家居發(fā) 展前景廣闊。
2013年前三季度,我國網(wǎng)民數(shù)量達(dá)6.08億,互聯(lián)網(wǎng)普及率45.4%,基于以上分析,以及通用性方面的考慮設(shè)計(jì)了基于深聯(lián)華單片機(jī)的無線智能插座。安裝了ADSL寬帶的用戶簡單設(shè)置路由器以后就可以將插座接入互聯(lián)網(wǎng),通過Android客戶端就可以實(shí)現(xiàn)遠(yuǎn)程控制。該插座有四個(gè)單獨(dú)插座,用戶可以根據(jù)需求將需要控制的電器插到插座上。每個(gè)單獨(dú)的插座都可以單獨(dú)設(shè)定開啟和關(guān)閉,也可以設(shè)定定時(shí)開啟或者定時(shí)關(guān)閉,同時(shí)無線智能插座還有過流保護(hù)的功能,通過Android客戶端設(shè)定插座最大額定功率(四個(gè)單獨(dú)插座的總功率),如果實(shí)際額定功率大于設(shè)定額定功率時(shí)四個(gè)單獨(dú)插座全部關(guān)閉,同時(shí)關(guān)閉定時(shí)功能,這樣就能防止過流燒毀線路,避免更大的損失。
二、項(xiàng)目設(shè)計(jì)原理
1、原理概述
基于深聯(lián)華單片機(jī)的無線智能插座由電源單元、功率輸出單元、控制單元、電流采集單元、存儲(chǔ)單元、實(shí)時(shí)時(shí)鐘單元、WIFI模塊以及手機(jī)客戶端組成。
電源單元包括兩部分,一部分是將220V交流輸入轉(zhuǎn)換成12V直流輸出,為整個(gè)系統(tǒng)提供電源;另一部分是將12V直流電源轉(zhuǎn)換成正負(fù)5V,為控制單元,電流采集單元,存儲(chǔ)單元,實(shí)時(shí)時(shí)鐘單元,WIFI模塊提供電源。功率輸出單元控制插座的開啟和關(guān)閉,為要控制的電器提供220V電源??刂茊卧钦麄€(gè)系統(tǒng)的核心,為各個(gè)單元提供控制信號(hào)。電流采集單元用來采集插座的電流,然后將信號(hào)輸入給控制單元,用于電流檢測,防止過流。存儲(chǔ)單元用來保存四個(gè)單獨(dú)插座的狀態(tài),系統(tǒng)下次上電的時(shí)候就會(huì)從存儲(chǔ)單元讀取數(shù)據(jù)。實(shí)時(shí)時(shí)鐘單元為定時(shí)功能提供時(shí)鐘信號(hào),同時(shí)這個(gè)單元有備用電池保證系統(tǒng)掉電后時(shí)鐘單元正常計(jì)時(shí)。WIFI模塊負(fù)責(zé)插座和無線路由器的通信,使用之前將模塊的端口號(hào)在無線路由上做端口映射,這樣就能實(shí)現(xiàn)遠(yuǎn)程控制。
手機(jī)客戶端是基于Android系統(tǒng)的,可以向智能插座發(fā)送指令,智能插座接收到指令后執(zhí)行相應(yīng)的操作,同時(shí)向手機(jī)客戶端返回?cái)?shù)據(jù)。
2、硬件設(shè)計(jì)原理
電源單元設(shè)計(jì)原理:
電源單元由兩部分構(gòu)成,其中220V交流電源轉(zhuǎn)12V直流電源模塊使用的是成品的開關(guān)電源模塊,可以提供最大1A的電流,滿足系統(tǒng)需求,并且開關(guān)電源體積小效率高。將這個(gè)模塊集成在系統(tǒng)上另一個(gè)原因是方便用戶使用,直接通上220V電源就可以使用。
電源單元的另一部分是將12V直流轉(zhuǎn)換為正負(fù)5V。這部分使用兩片MC34063電源芯片,通過設(shè)計(jì)合理的外圍電路,可實(shí)現(xiàn)分別輸出+5V電壓和-5V電壓。其中電流采集單元需要雙極性電源,所以其中一路MC43063產(chǎn)生-5V電壓。MC34063電源芯片可以達(dá)到較高的效率,價(jià)格低廉,性能可以滿足系統(tǒng)設(shè)計(jì)要求,故而選該芯片作為電源芯片。
功率輸出單元設(shè)計(jì)原理:
功率輸出單元主要包括繼電器,三極管等。繼電器用來控制對應(yīng)插座的電源通斷,三極管則用來控制繼電器的通斷,單片機(jī)通過控制三極管進(jìn)而實(shí)現(xiàn)對插座的控制。其中繼電器型號(hào)為HJR-3FF,240V時(shí)可以通過7A電流,該繼電器需要12V電源供電,這樣可以起到與控制單元電氣隔離的作用。三極管采用8050,最大可以提供1A的驅(qū)動(dòng)電流,完全可以滿足設(shè)計(jì)要。
控制單元設(shè)計(jì)原理:
該系統(tǒng)的主控芯片選用深聯(lián)華SC89F5162單片機(jī),SC89F5162是一種高速高效率8051兼容單片機(jī)。在同樣的震蕩頻率之下,較之傳統(tǒng)的8051單片機(jī)它具有更快的速度,性能更優(yōu)越。
該系統(tǒng)的設(shè)計(jì)使用了單片機(jī)的定時(shí)器0、SPI、ADC、EUART1、IO資源。定時(shí)器是為串口接收數(shù)據(jù)提供定時(shí)時(shí)間,用來判斷一幀數(shù)據(jù)是否接收完畢;SPI控制93C46,保存和讀出插座的狀態(tài)數(shù)據(jù);ADC用來采集電流采集單元的輸出電壓,為檢測是否過流提供數(shù)據(jù);EUART1是和WIFI模塊進(jìn)行通信的,接收來自手機(jī)客戶端的數(shù)據(jù),并向客戶端返回?cái)?shù)據(jù)。IO用來控制時(shí)鐘單元和功率單元等。
控制單元是系統(tǒng)的核心,也是知識(shí)產(chǎn)權(quán)保護(hù)的核心,保護(hù)好單片機(jī)不被破解是重要方面,深聯(lián)華單片機(jī)采用了多種防破解技術(shù),高達(dá)32位的密碼生成器,白噪聲密碼沒有規(guī)律可循等等這些特點(diǎn)決定了代碼的安全性很高,這就能很好的保護(hù)開發(fā)者的利益。
電流采集單元設(shè)計(jì)原理:
對交流電流進(jìn)行采集需要用到交流互感器,該系統(tǒng)采用DL-CT03C1.0精密電流互感器,變比為1:1000,最大可測電流為10A,輸出端最大可接電阻為50歐姆,這里選擇47歐姆電阻。由于電阻上電壓很低,所以不可以直接對電阻上的交流電壓進(jìn)行整流,因此在整流之前使用LM358對交流電壓信號(hào)進(jìn)行7.8倍放大。運(yùn)放所放大的信號(hào)為交流信號(hào),需要一個(gè)雙極性電源進(jìn)行供電,正好使用電源模塊提供的正負(fù)5V電源。將放大的電壓信號(hào)通過橋整流電路進(jìn)行整流,然后使用電容濾波,再通過一個(gè)低通濾波電路將信號(hào)送入單片機(jī)AD引腳。
存儲(chǔ)單元設(shè)計(jì)原理:
存儲(chǔ)芯片選用93C46芯片,該芯片使用SPI通信方式,具有128個(gè)字節(jié)的容量。系統(tǒng)需要保存的數(shù)據(jù)量小,該芯片可以滿足需求。
實(shí)時(shí)時(shí)鐘單元設(shè)計(jì)原理:
實(shí)時(shí)時(shí)鐘單元采用DS1302芯片,該芯片在掉電時(shí)可以使用備用電源,數(shù)據(jù)通信使用串行方式,占用IO較少,芯片價(jià)格低廉計(jì)時(shí)精確,完全能滿足系統(tǒng)設(shè)計(jì)需求。
WIFI模塊單元:
WIFI模塊使用的是成品模塊,通過串口與單片機(jī)通信。該模塊可通過電腦設(shè)置參數(shù),使用方便。
3、軟件設(shè)計(jì)原理
在單片機(jī)軟件設(shè)計(jì)時(shí)采用模塊化編程的方法以及分層設(shè)計(jì)的思想。首先設(shè)計(jì)使用到的單片機(jī)資源的驅(qū)動(dòng)程序,然后設(shè)計(jì)使用到的芯片的驅(qū)動(dòng)程序,最后設(shè)計(jì)應(yīng)用層的程序。
下面介紹各個(gè).c文件的主要內(nèi)容:
Initial.c文件主要是單片機(jī)系統(tǒng)時(shí)鐘、定時(shí)0、串口1的初始化函數(shù),以及串口發(fā)送數(shù)據(jù)的函數(shù)。
SPI.c文件包括單片機(jī)SPI資源的初始化,以及93C46芯片的驅(qū)動(dòng)程序。
DS1302.c文件包括DS1302芯片的驅(qū)動(dòng)程序,主要是對芯片的初始化,讀寫函數(shù)等。
ADC.c文件主要包括對單片機(jī)ADC資源的初始化函數(shù),以及對采集到的數(shù)據(jù)進(jìn)行處理的函數(shù),文件使用的是官網(wǎng)提供的,但是有些地方有問題,進(jìn)修改后可以正常使用。
OutletStatuePro.c文件主要是對插孔的結(jié)構(gòu)體數(shù)據(jù)進(jìn)行處理的函數(shù),包括設(shè)置插孔的狀態(tài),得到插孔的狀態(tài),設(shè)置插到打開或者關(guān)閉的定時(shí)時(shí)間等等。
Main.c文件是項(xiàng)目的主文件,這里首先是調(diào)用各個(gè)模塊的初始化函數(shù),以及調(diào)用相應(yīng)的驅(qū)動(dòng)函數(shù)完成對應(yīng)的功能。
下面具體介紹程序執(zhí)行流程:
程序開始運(yùn)行后首先調(diào)用各個(gè)模塊的初始化函數(shù),完成對單片機(jī)以及其他芯片的初始化工作。下一步就是讀取93C46中數(shù)據(jù),然后就是就如主循環(huán)。在主循環(huán)中首先判斷串口是否正在接收數(shù)據(jù),如果正在接收數(shù)據(jù)則不執(zhí)行解析,如果接收完畢則開始解析接收到的數(shù)據(jù)。根據(jù)不同的指令執(zhí)行相應(yīng)的操作,具體操作可看代碼注釋。解析工作完成后讀取一次DS1302的數(shù)據(jù),然后開始根據(jù)各個(gè)插孔的當(dāng)前狀態(tài)執(zhí)行相應(yīng)的操作,在這個(gè)處理過程中使用了狀態(tài)機(jī)的概念,根據(jù)插孔的狀態(tài)執(zhí)行相應(yīng)的操作,并且判斷是否有插座處于開啟狀態(tài),如果有的話就啟動(dòng)AD,判斷當(dāng)前功率是否超過設(shè)定功率,如果超過了設(shè)定功率則關(guān)閉所有插孔。
4、通信數(shù)據(jù)幀設(shè)計(jì)原理
手機(jī)客戶端與智能插座的通信是通過互聯(lián)網(wǎng)實(shí)現(xiàn)的,在這個(gè)系統(tǒng)的設(shè)計(jì)中我們采用UDP協(xié)議,在這個(gè)基礎(chǔ)上設(shè)計(jì)了簡單的通信協(xié)議,下面就具體說明一下數(shù)據(jù)格式的定義。
幀頭指令數(shù)據(jù)
表2.41 幀結(jié)構(gòu)
表2.41表示的是基本的幀結(jié)構(gòu),一幀數(shù)據(jù)由三部分構(gòu)成,幀頭為0xFF占用一個(gè)字節(jié)。指令占用一個(gè)字節(jié),用來表示該幀數(shù)據(jù)的作用。數(shù)據(jù)部分表示傳輸?shù)臄?shù)據(jù),占用的字節(jié)數(shù)不固定。
表2.42 指令和數(shù)據(jù)說明
表2.42詳細(xì)說明了各個(gè)指令的作用,以及指令后要跟的數(shù)據(jù)的作用,通過簡單的協(xié)議可以實(shí)現(xiàn)智能插座功能。指令和數(shù)據(jù)都是以一個(gè)字節(jié)為單位,方便程序處理。
5、手機(jī)客戶端與智能插座的通信過程
這里具體說明一下手機(jī)客戶端與智能插座的通信過程,并非講解手機(jī)客戶端如何使用,手機(jī)客戶端的使用說明可以查看手機(jī)客戶端說明書。
手機(jī)客戶端可以通過域名和IP地址兩種方式與插座通信,在這里使用的是花生殼的域名解析服務(wù)。使用域名的好處是即使ADSL撥號(hào)的IP地址改變了也能與插座通信(具體原理不做解釋),但是網(wǎng)絡(luò)狀況不好的情況下域名解析服務(wù)會(huì)有一些延時(shí)。使用IP地址的好處是速度快一些,不需要域名解析服務(wù),但是一旦ADSL重新?lián)芴?hào)就不知道新的IP地址是什么。所以可以根據(jù)實(shí)際情況作出選擇。
手機(jī)客戶端打開以后做一些基本設(shè)置,然后客戶端就是周期性的向智能插座發(fā)送查詢插座狀態(tài)的指令,保持客戶端與智能插座狀態(tài)保持同步。如果不能正常通信,客戶端的插座列表是無法列出的。用戶可以根據(jù)需求設(shè)定各個(gè)插孔的狀態(tài),設(shè)定完成后就可以關(guān)閉客戶端。如果想知道插座的狀態(tài)可以打開客戶端,刷新一下可以獲取插座狀態(tài)。客戶端與智能插座在同一個(gè)局域網(wǎng)內(nèi)也實(shí)現(xiàn)通信,將客戶端與智能插座連接到同一個(gè)路由上,設(shè)置客戶端的IP地址為插座的IP地址即可,這樣客戶端與插座便可實(shí)通信。
三、項(xiàng)目設(shè)計(jì)框圖
1、硬件設(shè)計(jì)框圖
2、軟件設(shè)計(jì)框圖
四、測試結(jié)果
四個(gè)插座基本開關(guān)功能可以實(shí)現(xiàn),關(guān)閉狀態(tài)下定時(shí)開啟的功能可以實(shí)現(xiàn),開啟狀態(tài)下定時(shí)關(guān)閉功能可以實(shí)現(xiàn),關(guān)閉后定時(shí)開始和定時(shí)關(guān)閉同時(shí)設(shè)定功能可以實(shí)現(xiàn)。實(shí)際功率大于額定功率后所有插座關(guān)閉,刪除定時(shí)器功能可以實(shí)現(xiàn),也就是過流保護(hù)功能可以實(shí)現(xiàn)。
通過視頻可以查看具體功能實(shí)現(xiàn)。
五、軟硬件及客戶端待優(yōu)化和改進(jìn)方面
由于時(shí)間關(guān)系一些地方做的不夠完善,以下說明為下一步的改進(jìn)方向:
硬件方面:原理圖上面設(shè)計(jì)了按鍵功能,通過按鍵可以打開和關(guān)閉,但是作品中并沒有加上這個(gè)功能,下一步將按鍵加上,這樣更方便使用。
將手工焊接的板子設(shè)計(jì)成PCB,向?qū)嶋H產(chǎn)品靠近。
將8050三極管換成8550三級(jí),避免上電后關(guān)閉的插座會(huì)接通一下。
軟件方面:進(jìn)一步優(yōu)化代碼,實(shí)際中不用實(shí)時(shí)檢測各個(gè)插座的狀態(tài),一秒鐘檢測三到四次即可,其他時(shí)間讓單片機(jī)進(jìn)入低功耗狀態(tài),降低功耗。
使用看門狗功能,保證系統(tǒng)的穩(wěn)定性。
客戶端方面:客戶端上可以增加登陸驗(yàn)證,登陸的時(shí)候必須輸入碼,保證安全。另一方面客戶端與插座之間也可以增加通信驗(yàn)證,進(jìn)一步提供安全性。
以上就是基于目前情況提出的改進(jìn)措施。
由于比賽側(cè)重單片機(jī)的使用,所以這個(gè)文檔中沒有具體介紹手機(jī)客戶端的開發(fā),只提供了手機(jī)客戶端app和使用說明書。手機(jī)客戶端是有夏勝飛同學(xué)完成,我主要做硬件方面的工作。在這個(gè)系統(tǒng)的開發(fā)過程中我們共同討論客遇到的問題,合作很默契,雖然作品有待改進(jìn),但是主要功能都已經(jīng)上實(shí)現(xiàn)。
評(píng)論
查看更多