基于PIC32上實(shí)現(xiàn)的TCP/IP網(wǎng)絡(luò)協(xié)議和zigbee無(wú)線傳感器網(wǎng)絡(luò)的智能家居系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
一 項(xiàng)目背景
隨著物聯(lián)網(wǎng)的熱潮的到來(lái),2010年國(guó)內(nèi)許多省市紛紛發(fā)布的《物聯(lián)網(wǎng)發(fā)展規(guī)劃》,物聯(lián)網(wǎng)附屬領(lǐng)域智能家居的發(fā)展也得到了非常大程度的推進(jìn)。由于物聯(lián)網(wǎng)的核心和基礎(chǔ)仍然是互聯(lián)網(wǎng),所以在項(xiàng)目設(shè)計(jì)中我們將智能家居內(nèi)部的傳感器網(wǎng)絡(luò)連接至控制核心PIC32,PIC32通過(guò)控制網(wǎng)絡(luò)模塊,按照TCP/IP協(xié)議來(lái)實(shí)現(xiàn)PIC32的Web服務(wù)器功能,使得可以通過(guò)手機(jī)、電腦的瀏覽器來(lái)遠(yuǎn)程訪問(wèn)該web服務(wù)器,并以點(diǎn)擊鏈接的形式,控制用電器。這種嵌入式Web服務(wù)器的低功耗和高可靠性,使其特別適合作為家庭小型Web服務(wù)器控制。
二、需求信息
擬采用的平臺(tái):
cerebot 32M×4
兩個(gè)Digilent PMOD 產(chǎn)品:
PmodNIC——網(wǎng)絡(luò)接口控制器
PmodSF-Serial Flash Rom,16或128Mbit
三、項(xiàng)目總概
此次項(xiàng)目,我們計(jì)劃通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)家居環(huán)境的遠(yuǎn)程監(jiān)控。
通過(guò)分布于房屋各處的傳感器對(duì)房屋內(nèi)外的環(huán)境參數(shù)進(jìn)行采集,獲得的數(shù)據(jù)通過(guò)ZigBee網(wǎng)絡(luò)或有線連接匯總到此次項(xiàng)目的總控板Cerebot_32MX4上;
Cerebot_32MX4按照TCP/IP協(xié)議來(lái)實(shí)現(xiàn)與Web服務(wù)器的鏈接,通過(guò)Web達(dá)到遠(yuǎn)程終端設(shè)備(PC、手機(jī)等)同Cerebot_32MX4間的數(shù)據(jù)傳輸;
Cerebot_32MX4可以將采集到的數(shù)據(jù)傳輸給PC和手機(jī),讓人們?cè)谌魏文軌蜻B接上網(wǎng)絡(luò)的地方就能了解家中的情況,并對(duì)家中的設(shè)備進(jìn)行遠(yuǎn)程遙控,比如:控制草坪、花園中的灑水系統(tǒng)給花草澆水。在到家前提前10分鐘開(kāi)啟空調(diào),讓到家時(shí)能夠馬上享受到舒適的溫度。同時(shí),人們?cè)诩視r(shí)也可以利用該方法控制身邊的設(shè)備,使房屋實(shí)現(xiàn)智能化;
Cerebot_32MX4也可以自己對(duì)采集到的數(shù)據(jù)進(jìn)行處理,實(shí)現(xiàn)家中設(shè)施的自動(dòng)控制,同時(shí)可以通過(guò)PC、手機(jī)對(duì)自動(dòng)控制的參數(shù)進(jìn)行設(shè)置
系統(tǒng)整體框圖如下:
四、硬件設(shè)計(jì)
(1)家庭內(nèi)部信息的采集擬采用Zigbee節(jié)點(diǎn)組成傳感器網(wǎng)絡(luò),其中一個(gè)Zigbee節(jié)點(diǎn)作為總的傳感器采集點(diǎn),與PIC32有線連接,其余Zigbee節(jié)點(diǎn)采用無(wú)線通信方式與總節(jié)點(diǎn)進(jìn)行傳感器信息的傳遞。
ZigBee技術(shù)是一種短距離、低功耗的無(wú)線通信技術(shù),其特點(diǎn)是近距離、低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率、低成本。主要適合用于自動(dòng)控制和遠(yuǎn)程控制領(lǐng)域,可以嵌入各種設(shè)備。
本項(xiàng)目中,無(wú)線通信技術(shù)的應(yīng)用將很好的解決數(shù)據(jù)采集點(diǎn)分散、設(shè)備不集中的問(wèn)題。[!--empirenews.page--]
ZigBee在低耗能方面表現(xiàn)突出,明顯由于藍(lán)牙跟WIFI。有關(guān)材料表明,2節(jié)5號(hào)干電池可支持1個(gè)節(jié)點(diǎn)工作6~24個(gè)月,甚至更長(zhǎng)。因此,通過(guò)配置小型太陽(yáng)能電池板的方式即可對(duì)ZigBee節(jié)點(diǎn)進(jìn)行充電,保證其正常的運(yùn)行。
ZigBee具有大規(guī)模的組網(wǎng)能力,非常適合于大規(guī)模的數(shù)據(jù)采集,解決了智能家居系統(tǒng)中數(shù)據(jù)采集點(diǎn)多的問(wèn)題。
(2)傳感器網(wǎng)絡(luò)連接至PIC32控制板,PIC32通過(guò)控制網(wǎng)絡(luò)模塊,按照TCP/IP協(xié)議來(lái)實(shí)現(xiàn)PIC32的Web服務(wù)器功能。
TCP/IP通信協(xié)議以其高效、可靠、通用性獲得了世界范圍的廣泛使用。
本項(xiàng)目采用Cerebot 32M×4為控制核心,在其中通過(guò)軟件方法實(shí)現(xiàn)TCP/IP協(xié)議的通信功能,通過(guò)進(jìn)一步的擴(kuò)展,在其上搭建起HTTP,F(xiàn)TP,TELNET等高級(jí)網(wǎng)絡(luò)功能。
利用TCP/IP協(xié)議中的UDP、IP、ARP及簡(jiǎn)單的應(yīng)用層協(xié)議實(shí)現(xiàn)單片機(jī)的網(wǎng)絡(luò)互連,提高數(shù)據(jù)傳輸?shù)乃俣?,保證數(shù)據(jù)傳輸?shù)恼_性,同時(shí)擴(kuò)展數(shù)據(jù)傳輸?shù)挠行О霃健?/p>
TCP/IP協(xié)議是一套把因特網(wǎng)上的各種系統(tǒng)互連起來(lái)的協(xié)議組,保證因特網(wǎng)上數(shù)據(jù)的準(zhǔn)確快速傳輸。參考開(kāi)放系統(tǒng)互連(OSI)模型,TCP/IP通常采用一種簡(jiǎn)化的四層模型,分別為:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層。
?、賾?yīng)用層
網(wǎng)絡(luò)應(yīng)用層要有一個(gè)定義清晰的會(huì)話過(guò)程,如通常所說(shuō)的Http、Ftp、Telnet等。我們用單片機(jī)系統(tǒng)傳遞來(lái)自Ethernet和數(shù)據(jù)終端的數(shù)據(jù),應(yīng)用層只對(duì)大的數(shù)據(jù)報(bào)作打包拆報(bào)處理。
②傳輸層
傳輸層讓網(wǎng)絡(luò)程序通過(guò)明確定義的通道及某些特性獲取數(shù)據(jù),如定義網(wǎng)絡(luò)連接的端口號(hào)等,實(shí)現(xiàn)該層協(xié)議的傳輸控制協(xié)議TCP和用戶數(shù)據(jù)協(xié)議UDP。
?、劬W(wǎng)絡(luò)層
網(wǎng)絡(luò)層讓信息可以發(fā)送到相鄰的TCP/IP網(wǎng)絡(luò)上的任一主機(jī)上,IP協(xié)議就是該層中傳送數(shù)據(jù)的機(jī)制。同時(shí)建立網(wǎng)絡(luò)間的互連,應(yīng)提供ARP地址解析協(xié)議,實(shí)現(xiàn)從IP地址到數(shù)據(jù)鏈路物理地址的映像。
④鏈路層
由控制同一物理網(wǎng)絡(luò)上的不同機(jī)器間數(shù)據(jù)傳送的底層協(xié)議組成,實(shí)現(xiàn)這一層協(xié)議的協(xié)議并屬于TCP/IP協(xié)議組。這部分功能由單片機(jī)控制網(wǎng)卡芯片實(shí)現(xiàn)。
控制核心PIC32根據(jù)web默認(rèn)配置將采集的傳感器信息分析并進(jìn)行自動(dòng)控制,用戶又可通過(guò)手機(jī)、電腦的瀏覽器來(lái)遠(yuǎn)程訪問(wèn)該web服務(wù)器,并以點(diǎn)擊鏈接的形式,控制用電器。
軟件流程
PIC32主程序循環(huán)檢測(cè)ENC28J60芯片獲取的數(shù)據(jù)包,將廣播報(bào)文和目標(biāo)地址為本機(jī)地址的數(shù)據(jù)包接收進(jìn)行下一步的處理。由于本項(xiàng)目實(shí)現(xiàn)的是TCP/IP通信,而建立起TCP連接最主要的用途是實(shí)現(xiàn)HTTP通信。PIC32接收到的待處理數(shù)據(jù)會(huì)經(jīng)過(guò)數(shù)據(jù)處理函數(shù),若檢測(cè)到有TCP連接建立的請(qǐng)求,則進(jìn)行相應(yīng)處理。當(dāng)建立了TCP連接后,就可以通過(guò)TCP連接發(fā)送和接收HTTP通信數(shù)據(jù)。
TCP連接建立的“三次握手”流程和有限狀態(tài)機(jī)如下:
PIC32在接收到正確的HTTP GET請(qǐng)求后,便進(jìn)行相應(yīng)處理,返回用戶需要的網(wǎng)頁(yè),這樣就實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的web server應(yīng)用。
本軟件流程圖僅以簡(jiǎn)單控制家電的通斷電為例進(jìn)行繪制,此處流程圖僅是軟件的設(shè)想方案,具體能否實(shí)現(xiàn)仍需實(shí)際測(cè)試。