基于PIC32的嵌入式Web服務(wù)器的物聯(lián)網(wǎng)實(shí)現(xiàn)
1前言
計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,引發(fā)了控制領(lǐng)域深刻的技術(shù)革命??刂葡到y(tǒng)結(jié)構(gòu)向網(wǎng)絡(luò)化、開(kāi)放性方向發(fā)展將是控制系統(tǒng)技術(shù)發(fā)展的主要潮流。過(guò)去大量的浩如煙海的8/16位單片機(jī)的嵌入式設(shè)備,如儀器儀表、數(shù)據(jù)采集和顯示、過(guò)程控制、工業(yè)自動(dòng)化、家庭自動(dòng)化等的實(shí)時(shí)應(yīng)用,已經(jīng)到了享受網(wǎng)絡(luò)方便的時(shí)候了。它們將成為Internet 的發(fā)展沃土,順應(yīng)“網(wǎng)絡(luò)服務(wù)”向“網(wǎng)絡(luò)應(yīng)用”擴(kuò)展的大潮。
目前大多數(shù)嵌入式系統(tǒng)還處于單獨(dú)應(yīng)用的階段,以單片機(jī)為核心,與一些控制設(shè)備配合實(shí)現(xiàn)一定的功能。如果嵌入式系統(tǒng)能夠連接到Internet 這個(gè)信息流通渠道,則可以方便、低廉地將信息送到世界上任何一個(gè)地方,這將形成集管理與控制于一體的分布式網(wǎng)絡(luò)系統(tǒng)。要做到這一點(diǎn)并不難,在電子技術(shù)、傳感技術(shù)已經(jīng)高度發(fā)達(dá)的今天,現(xiàn)場(chǎng)數(shù)據(jù)的取得,已經(jīng)不是難事,溫度、壓力、濕度、速度、加速度、電流、電壓這些數(shù)據(jù)只需要一個(gè)小小的嵌入式系統(tǒng)就可解決。另外,以太網(wǎng)(Ethernet)協(xié)議已經(jīng)廣泛地應(yīng)用于各種計(jì)算機(jī)網(wǎng)絡(luò),基于以太網(wǎng)的嵌入式系統(tǒng)也正在不斷向前發(fā)展。
另一方面,隨著網(wǎng)絡(luò)的發(fā)展和用戶(hù)對(duì)各種應(yīng)用需求,現(xiàn)在各種各樣的消費(fèi)產(chǎn)品,例如,智能手機(jī),數(shù)碼相機(jī)等,都提供無(wú)線(xiàn)或是有線(xiàn)的國(guó)際互聯(lián)網(wǎng)絡(luò)的接入功能。各種應(yīng)用都需要網(wǎng)絡(luò)的接入來(lái)提供各種娛樂(lè)功能。同時(shí)隨著物聯(lián)網(wǎng)技術(shù)發(fā)展,對(duì)于各種設(shè)備的網(wǎng)絡(luò)接入和訪(fǎng)問(wèn)將變得越來(lái)越普遍。而且現(xiàn)在流行的智能家居系統(tǒng)的實(shí)現(xiàn)也需要網(wǎng)絡(luò)的接入來(lái)提供遠(yuǎn)程控制,,因此開(kāi)發(fā)基于MCU的嵌入式Web服務(wù)器是非常有意義和挑戰(zhàn)性的。
2需求與功能分析
系統(tǒng)目標(biāo)
最終目的是實(shí)現(xiàn)一個(gè)基于PIC32位單片機(jī)的可移植并且高度可配置嵌入式Web服務(wù)器。嵌入式Web服務(wù)器可用于現(xiàn)在流行的物聯(lián)網(wǎng)的各個(gè)方面,例如,傳感器網(wǎng)絡(luò)監(jiān)控,工業(yè)機(jī)器監(jiān)控,小型Web服務(wù)器,遠(yuǎn)程信息交互等應(yīng)用領(lǐng)域。
主要功能
實(shí)現(xiàn)一個(gè)嵌入式Web服務(wù)器,并且能夠提供用戶(hù)通過(guò)Internet 訪(fǎng)問(wèn)并控制相關(guān)外設(shè)?;疽笕缦滤荆?/p>
1. 當(dāng)上電或用戶(hù)復(fù)位后所有PIC32 位單片機(jī)配置能夠自動(dòng)設(shè)置好,并正常工作;
2. 網(wǎng)絡(luò)連接通過(guò)板卡上的Ethernet 接口實(shí)現(xiàn),并且相關(guān)的IP地址,子網(wǎng)掩碼(Subnet mask),網(wǎng)關(guān)(Gateway)等網(wǎng)絡(luò)配置能夠通過(guò)DHCP(Dynamic Host Configuration Protocol)自動(dòng)實(shí)現(xiàn)。
3. HTML源文件存放在外部SD存儲(chǔ)卡上,方便用戶(hù)修改。而且通過(guò)USB接口來(lái)實(shí)現(xiàn)讀寫(xiě)。
4. 為了演示物聯(lián)網(wǎng)技術(shù)的基本結(jié)構(gòu)及其優(yōu)勢(shì),提供相關(guān)外設(shè)(溫濕度傳感器及LED)供用戶(hù)遠(yuǎn)程控制或操作。
5. 為方便使用,相關(guān)的網(wǎng)絡(luò)信息(如IP地址,網(wǎng)關(guān)(Gateway)等)及外設(shè)信息(如溫度,濕度等)顯示在LCD上。
相關(guān)技術(shù)和原理
TCP/IP 協(xié)議
USB 協(xié)議
3.系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示:
圖1 系統(tǒng)總體結(jié)構(gòu)框圖
嵌入式Web服務(wù)器
從上面的框圖中我們可以清晰地了解整個(gè)硬件系統(tǒng)的結(jié)構(gòu)以及各部分的連接。首先最重要的部分是調(diào)用Microchip公司的TCP/IP庫(kù)來(lái)實(shí)現(xiàn)PIC32位單片機(jī)與Internet的通信,接受用戶(hù)的請(qǐng)求并根據(jù)Http Request()的返回值通過(guò)Http Response()來(lái)與用戶(hù)進(jìn)行交互,例如顯示時(shí)間、溫度、濕度,或者控制LED燈的亮或滅。更進(jìn)一步可以用按鍵來(lái)模仿嵌入式服務(wù)器側(cè)的各種外設(shè)的參數(shù)變化,使其實(shí)時(shí)的顯示到用戶(hù)的Web瀏覽器上。
下圖是簡(jiǎn)化了的Web服務(wù)器原理圖,服務(wù)器的事物邏輯部分是嵌入式服務(wù)器的核心部分,它根據(jù)不同的Http Socket來(lái)讀取SD存取卡上的HTML源文件或其他外設(shè)的輸入值,來(lái)響應(yīng)用戶(hù)的請(qǐng)求,這是物聯(lián)網(wǎng)的基礎(chǔ)。
SD存取卡及文件系統(tǒng)
SD存取卡及文件系統(tǒng)是整個(gè)系統(tǒng)中僅次于嵌入式Web服務(wù)器的重要模塊,它主要用來(lái)存放Web服務(wù)器管理員編寫(xiě)的HTML源文件,提供給Web服務(wù)器來(lái)響應(yīng)用戶(hù)的請(qǐng)求。SD卡的讀寫(xiě)可以利用PIC32位單片機(jī)上的USB Host來(lái)方便的實(shí)現(xiàn)。并且Microchip 公司提供的文件系統(tǒng)的庫(kù)函數(shù)的支持,更加方便了SD存取卡及文件系統(tǒng)模塊的實(shí)現(xiàn)。
其示意性原理框圖如下所示:
LCD顯示部分
同時(shí)與PIC32 位單片機(jī)相連的LCD用來(lái)顯示嵌入式Web服務(wù)器的網(wǎng)絡(luò)連接信息以及傳感器的輸入值。嵌入式Web服務(wù)器的網(wǎng)絡(luò)連接信息不僅包括當(dāng)前IP地址,網(wǎng)關(guān)等基本網(wǎng)絡(luò)信息,還包含了當(dāng)前用戶(hù)連接數(shù),用戶(hù)的Web請(qǐng)求等。管理者可以根據(jù)這些基本的信息來(lái)判斷當(dāng)前Web服務(wù)器的工作狀態(tài),以及系統(tǒng)錯(cuò)誤的檢查。
LCD顯示內(nèi)容的總體布局如下圖所示:
4.傳感器模塊及LED控制模塊
傳感器主要用于測(cè)量當(dāng)前系統(tǒng)所處環(huán)境的各種參數(shù),比如溫度,濕度等。測(cè)量的數(shù)據(jù)一方面送到LCD顯示;另一方面送到Web服務(wù)器的事物邏輯控制中心以響應(yīng)用戶(hù)的Web請(qǐng)求。而LED控制部分則接受來(lái)自Web服務(wù)器的控制信號(hào)以控制LED燈的亮或滅。
5.測(cè)試
1. 當(dāng)上電或用戶(hù)復(fù)位后所有PIC32 位單片機(jī)配置自動(dòng)設(shè)置好,并正常工作;
2. 網(wǎng)絡(luò)連接通過(guò)板卡上的Ethernet 接口實(shí)現(xiàn),相關(guān)的IP地址,子網(wǎng)掩碼(Subnet mask),網(wǎng)關(guān)(Gateway)等網(wǎng)絡(luò)配置能夠通過(guò)DHCP(Dynamic Host Configuration Protocol)自動(dòng)實(shí)現(xiàn);
3. 相關(guān)外設(shè)(溫濕度傳感器及LED)正常工作。
評(píng)論