新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PIC32上實(shí)現(xiàn)TCP/IP網(wǎng)絡(luò)協(xié)議和zigbee無線傳感器網(wǎng)絡(luò)的智能家

基于PIC32上實(shí)現(xiàn)TCP/IP網(wǎng)絡(luò)協(xié)議和zigbee無線傳感器網(wǎng)絡(luò)的智能家

作者: 時(shí)間:2016-11-29 來源:網(wǎng)絡(luò) 收藏

TCP/IP協(xié)議是一套把因特網(wǎng)上的各種系統(tǒng)互連起來的協(xié)議組,保證因特網(wǎng)上數(shù)據(jù)的準(zhǔn)確快速傳輸。參考開放系統(tǒng)互連(OSI)模型,TCP/IP通常采用一種簡(jiǎn)化的四層模型,分別為:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層。

①應(yīng)用層

網(wǎng)絡(luò)應(yīng)用層要有一個(gè)定義清晰的會(huì)話過程,如通常所說的Http、Ftp、Telnet等。我們用單片機(jī)系統(tǒng)傳遞來自Ethernet和數(shù)據(jù)終端的數(shù)據(jù),應(yīng)用層只對(duì)大的數(shù)據(jù)報(bào)作打包拆報(bào)處理。

②傳輸層

傳輸層讓網(wǎng)絡(luò)程序通過明確定義的通道及某些特性獲取數(shù)據(jù),如定義網(wǎng)絡(luò)連接的端口號(hào)等,實(shí)現(xiàn)該層協(xié)議的傳輸控制協(xié)議TCP和用戶數(shù)據(jù)協(xié)議UDP。

③網(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)控制,用戶又可通過手機(jī)、電腦的瀏覽器來遠(yuǎ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)過數(shù)據(jù)處理函數(shù),若檢測(cè)到有TCP連接建立的請(qǐng)求,則進(jìn)行相應(yīng)處理。當(dāng)建立了TCP連接后,就可以通過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è)試。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


技術(shù)專區(qū)

關(guān)閉