基于PIC32上實現(xiàn)TCP/IP網(wǎng)絡協(xié)議和zigbee無線傳感器網(wǎng)絡的智能家
TCP/IP協(xié)議是一套把因特網(wǎng)上的各種系統(tǒng)互連起來的協(xié)議組,保證因特網(wǎng)上數(shù)據(jù)的準確快速傳輸。參考開放系統(tǒng)互連(OSI)模型,TCP/IP通常采用一種簡化的四層模型,分別為:應用層、傳輸層、網(wǎng)絡層、鏈路層。
①應用層
網(wǎng)絡應用層要有一個定義清晰的會話過程,如通常所說的Http、Ftp、Telnet等。我們用單片機系統(tǒng)傳遞來自Ethernet和數(shù)據(jù)終端的數(shù)據(jù),應用層只對大的數(shù)據(jù)報作打包拆報處理。
②傳輸層
傳輸層讓網(wǎng)絡程序通過明確定義的通道及某些特性獲取數(shù)據(jù),如定義網(wǎng)絡連接的端口號等,實現(xiàn)該層協(xié)議的傳輸控制協(xié)議TCP和用戶數(shù)據(jù)協(xié)議UDP。
③網(wǎng)絡層
網(wǎng)絡層讓信息可以發(fā)送到相鄰的TCP/IP網(wǎng)絡上的任一主機上,IP協(xié)議就是該層中傳送數(shù)據(jù)的機制。同時建立網(wǎng)絡間的互連,應提供ARP地址解析協(xié)議,實現(xiàn)從IP地址到數(shù)據(jù)鏈路物理地址的映像。
④鏈路層
由控制同一物理網(wǎng)絡上的不同機器間數(shù)據(jù)傳送的底層協(xié)議組成,實現(xiàn)這一層協(xié)議的協(xié)議并屬于TCP/IP協(xié)議組。這部分功能由單片機控制網(wǎng)卡芯片實現(xiàn)。
控制核心PIC32根據(jù)web默認配置將采集的傳感器信息分析并進行自動控制,用戶又可通過手機、電腦的瀏覽器來遠程訪問該web服務器,并以點擊鏈接的形式,控制用電器。
軟件流程
PIC32主程序循環(huán)檢測ENC28J60芯片獲取的數(shù)據(jù)包,將廣播報文和目標地址為本機地址的數(shù)據(jù)包接收進行下一步的處理。由于本項目實現(xiàn)的是TCP/IP通信,而建立起TCP連接最主要的用途是實現(xiàn)HTTP通信。PIC32接收到的待處理數(shù)據(jù)會經(jīng)過數(shù)據(jù)處理函數(shù),若檢測到有TCP連接建立的請求,則進行相應處理。當建立了TCP連接后,就可以通過TCP連接發(fā)送和接收HTTP通信數(shù)據(jù)。
TCP連接建立的“三次握手”流程和有限狀態(tài)機如下:
PIC32在接收到正確的HTTP GET請求后,便進行相應處理,返回用戶需要的網(wǎng)頁,這樣就實現(xiàn)了一個簡單的web server應用。
本軟件流程圖僅以簡單控制家電的通斷電為例進行繪制,此處流程圖僅是軟件的設想方案,具體能否實現(xiàn)仍需實際測試。
評論