當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于嵌入式WEB的AllLightSYS系統(tǒng)的設(shè)計

摘  要  HTTP協(xié)議是目前流行的Web技術(shù)的主要協(xié)議,是Web瀏覽器和Web服務(wù)器之間進(jìn)行通信的基礎(chǔ)。本文首先對嵌入式系統(tǒng)從整體上進(jìn)行了簡析,說明了嵌入式系統(tǒng)不同于通用型計算機(jī)系統(tǒng)的特點和嵌入式系統(tǒng)應(yīng)用的廣泛性。然后從協(xié)議的角度出發(fā)論述了HTTP協(xié)議。最后介紹了一個基于嵌入式Web技術(shù)的AllLightSYS系統(tǒng)的設(shè)計與實現(xiàn),重點闡述嵌入式服務(wù)器軟硬件部分的設(shè)計思想和體系架構(gòu),并對關(guān)鍵技術(shù)進(jìn)行了詳細(xì)的介紹。
關(guān)鍵詞:嵌入式Web服務(wù)器;HTTP協(xié)議;AllLightSYS系統(tǒng)

引言

21世紀(jì)是嵌入式計算系統(tǒng)時代,人們?nèi)粘I詈凸ぷ髦兴佑|的儀器與設(shè)備中,都將嵌入具有強(qiáng)大計算能力的微處理器。嵌入式系統(tǒng)是任意包含一個可編程計算機(jī)的設(shè)備,但是這個設(shè)備不是作為通用計算機(jī)而設(shè)計的。即嵌入式計算系統(tǒng)是嵌入在其他設(shè)備中,起智能控制作用的專用計算機(jī)系統(tǒng)。一臺通用個人電腦不能稱為嵌入式計算系統(tǒng),盡管有時會把它嵌入到某些設(shè)備中,而一臺包含有微處理器的打印機(jī)、數(shù)碼相機(jī)就可以算嵌入式計算系統(tǒng)。嵌入式計算系統(tǒng)已經(jīng)廣泛地應(yīng)用到工業(yè)控制設(shè)備系統(tǒng)、信息家電、智能家庭設(shè)備等眾多領(lǐng)域中。隨著因特網(wǎng)的迅速發(fā)展,Web應(yīng)用程序的應(yīng)用也越來越廣泛,它廣泛地用于各種監(jiān)控系統(tǒng)、通信設(shè)備等領(lǐng)域。嵌入式系統(tǒng)日益與Internet技術(shù)和 WWW技術(shù)結(jié)合起來發(fā)展為嵌入式Web或嵌入式Internet技術(shù)。嵌入式設(shè)備與Internet的結(jié)合將代表著嵌入式技術(shù)的真正未來。下文介紹一種嵌入式智能家庭遠(yuǎn)程監(jiān)控系統(tǒng),它是在Microchip公司提供硬件的基礎(chǔ),在功能實現(xiàn)上獨立完成了TCP/IP協(xié)議、HTTP協(xié)議的編寫,并在此基礎(chǔ)上加載了實際的應(yīng)用。

2  HTTP協(xié)議

HTTP是超文本傳輸協(xié)議的縮寫,用于傳送WWW方式的數(shù)據(jù)。HTTP協(xié)議采用了請求/響應(yīng)模型??蛻舳讼蚍?wù)器發(fā)送一個請求,請求頭包含請求的方法、URI、協(xié)議版本、以及包含請求修飾符、客戶信息和內(nèi)容類似于MIME的消息結(jié)構(gòu)。服務(wù)器以一個狀態(tài)行作為響應(yīng),相應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯誤編碼加上包含服務(wù)器信息、實體元信息以及可能的實體內(nèi)容。通常HTTP消息包括客戶機(jī)向服務(wù)器的請求消息和服務(wù)器向客戶機(jī)的響應(yīng)消息。這兩種類型的消息由一個起始行,一個或者多個頭域,一個頭域結(jié)束的空行和可選的消息體組成。在Internet上,HTTP通訊通常發(fā)生在TCP/IP連接之上。缺省端口是TCP80,但其它的端口也是可用的。但這并不預(yù)示著HTTP協(xié)議在Internet或其它網(wǎng)絡(luò)的其它協(xié)議之上才能完成。HTTP只預(yù)示著一個可靠的傳輸?;贖TTP協(xié)議的客戶/服務(wù)器模式的信息交換過程,它分四個過程,建立連接、發(fā)送請求信息、發(fā)送響應(yīng)信息、關(guān)閉連接。WWW服務(wù)器運行時,一直在TCP80端口監(jiān)聽,等待連接的出現(xiàn)。

嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)AllLightSYS的設(shè)計與實現(xiàn)

31 功能概要       

這里所提及的系統(tǒng),它的芯片類型是由Microchip公司提供的PIC18F6722。該機(jī)器是通過AllLight System和Internet相連,從而對住所內(nèi)的電器進(jìn)行遠(yuǎn)程控制的Interface單元。它是通過Modem,Rote連接到Internet,使用手機(jī)的WEB瀏覽器訪問AllLight系統(tǒng)來遠(yuǎn)程控制空調(diào)、電燈等電器的開和關(guān),只要在手機(jī)的WEB瀏覽器上輸入該系統(tǒng)的URL后,在該登陸頁面上輸入遠(yuǎn)程操作的AllLight的ControlUnit的編號,從而對登錄WEB I/F UNIT的用戶進(jìn)行認(rèn)證,經(jīng)過認(rèn)證的用戶可以繼續(xù),認(rèn)證不通過的轉(zhuǎn)到認(rèn)證錯誤畫面。同時可以啟動該系統(tǒng)的防盜監(jiān)視功能時,當(dāng)有入侵者打開被監(jiān)視的電器設(shè)備時,就可以向用戶手機(jī)(計算機(jī)終端)發(fā)送郵件進(jìn)行提醒。這里最多可以控制的AllLightControlUnit數(shù)是32臺。 (如圖)

在手機(jī)的WEB瀏覽器上輸入WEB I/F UNIT的URL后,為了防止非法登錄,一旦用戶登錄3次失敗以后,外部的登錄將失效,WEB I/F UNIT將通過HTTP協(xié)議向AllLight服務(wù)器發(fā)送非法登錄的警告信號。警告信息中包含了WEB I/F UNIT的MAC地址(為了和用戶的郵件地址關(guān)聯(lián))。AllLight專用服務(wù)器根據(jù)WEB I/F UNIT傳送警告信息中的MAC地址數(shù)據(jù),將警告郵件發(fā)送到與MAC對應(yīng)的用戶手機(jī)上。外部登錄的失效解除,是通過WEB I/F UNIT的外部登錄無效解除按鈕來實行的。

該系統(tǒng)還可以對和WEB I/F UNIT直接相連的AllLight Control Unit(Local Port連接)的回路進(jìn)行監(jiān)視。監(jiān)視回路和檢測狀態(tài)(ON/OFF)是通過在WEBPAGE設(shè)定的,根據(jù)設(shè)定的內(nèi)容對回路監(jiān)視。如果是檢測到防盜信息,向AllLight專用服務(wù)器發(fā)送警告信號,AllLight專用服務(wù)器向用戶發(fā)送郵件。防盜監(jiān)視機(jī)能的開和關(guān)是通過手機(jī)登陸頁面中的一個功能鍵來控制的。通過“外部接點”,可以對WEB I/F UNIT的防盜監(jiān)視機(jī)能進(jìn)行設(shè)定。因為只能在屋內(nèi)通過開關(guān)解除防盜監(jiān)視機(jī)能,回路狀態(tài)上的“有入侵者”通過回路狀態(tài)和設(shè)定的數(shù)據(jù)(監(jiān)視回路,監(jiān)視狀態(tài))是否一致來判斷?;芈凡灰恢碌那闆r下,在一定時間內(nèi),如果沒有解除“防盜監(jiān)視機(jī)能”,判斷為“有入侵者”;如果在這段時間內(nèi),解除了“防盜監(jiān)視機(jī)能”,判斷為“無入侵者”。上述的“一定時間”,是可以設(shè)定的數(shù)據(jù)。另外,當(dāng)通過外部接點打開“防盜監(jiān)視機(jī)能”時,為了避免屋內(nèi)操作電器的誤判為“有入侵者”,設(shè)計了延時。

另外,在AllLightSystem設(shè)計了和PC機(jī)的Interface。和計算機(jī)的Interface是通過Ethernet實現(xiàn)的。將AllLightSystem的通信協(xié)議數(shù)據(jù)轉(zhuǎn)換成計算機(jī)使用的通信協(xié)議。只能在Local內(nèi)使用。計算機(jī)和WEB I/F UNIT是靠Socket進(jìn)行通信的。在WEB I/F UNIT中封裝Sokect的通信服務(wù),連接端口通過設(shè)定機(jī)能設(shè)定。計算機(jī)發(fā)出連接請求后,建立連接。連接建立后,如果Sokect存在,進(jìn)行以下處理。如果是從AllLightSystem發(fā)來數(shù)據(jù)包,收到的數(shù)據(jù)包加上TCP協(xié)議的包頭,向計算機(jī)發(fā)送。如果是從計算機(jī)發(fā)來的數(shù)據(jù)包,從收到的數(shù)據(jù)包(TCP數(shù)據(jù)包)中取出AllLight數(shù)據(jù)包,向AllLightSystem發(fā)送AllLight數(shù)據(jù)包。

通過外部接點(AllLight的配套機(jī)器:SX)的操作,在AllLightSystem的管理下,可以將電燈,空調(diào)等電器全關(guān)閉。

3.2 軟件實現(xiàn)

l         軟件構(gòu)成圖

l         HTTP服務(wù)處理

接收從手機(jī)、計算機(jī)發(fā)送過來的HTTP數(shù)據(jù)包,通過HTTP服務(wù)將HTTP數(shù)據(jù)解析。將接收到的HTTP請求解析,根據(jù)請求的內(nèi)容(WEBPAGE請求或CGI請求),發(fā)送WEBPAGE的內(nèi)容或進(jìn)行CGI處理。生成客戶端請求的WEBPAGE,將該WEBPAGE送到客戶端。如果,設(shè)定模式的數(shù)據(jù)限制了該客戶端請求的WEBPAGE,將錯誤頁面發(fā)送到客戶端。如果外部登錄FLAG是有效的,進(jìn)行HTTP協(xié)議解析;如果外部登錄FLAG是無效的,為了禁止從Internet的登陸,檢查HTTP請求的IP協(xié)議的發(fā)包IP和WEB I/F UNIT的IP,子網(wǎng)掩碼是否是同一個網(wǎng)段,如果是同一個網(wǎng)段,進(jìn)行HTTP協(xié)議解析,不是同網(wǎng)段,返回錯誤頁面。根據(jù)HTTP請求的CGI種類可以進(jìn)行各種請求,例如,進(jìn)行用戶認(rèn)證處理是通過手機(jī)、計算機(jī)實行用戶認(rèn)證,和登錄在WEB I/F UNIT上的內(nèi)容進(jìn)行一致性檢查。(用戶ID,PASSWORD)如果一致則認(rèn)證失敗計數(shù)=0,將“主菜單”畫面的HTTP數(shù)據(jù)發(fā)送到客戶端。如果不一致則認(rèn)證失敗計數(shù)+1,“登錄失敗”畫面的HTTP數(shù)據(jù)發(fā)送到客戶端。如果連續(xù)登錄3次不一致,外部登錄無效。進(jìn)行防盜監(jiān)視設(shè)定處理是將防盜監(jiān)視機(jī)能FLAG設(shè)定成有效・無效,控制SL的LED(有效:紅燈ON,無效:綠燈ON),更新“主菜單”畫面的防盜監(jiān)視狀態(tài)。處理后,將“主菜單”畫面的HTTP送到客戶端。

這里需要說明的是,由于WEB I/F UNIT的GlobalIP地址是動態(tài)分配的,所以必須構(gòu)建AllLight的專用服務(wù)器,并且在該服務(wù)器上將WEB I/F UNIT的GlobalIP登錄。GlobalIP的登錄需要定期執(zhí)行,在AllLight專用服務(wù)器上,是將WEB I/F UNIT的IP地址和MAC地址綁定的,因此,WEB I/F UNIT必須將自己的MAC地址通過HTTP協(xié)議傳送到AllLight專用服務(wù)器上。

l         AllLight響應(yīng)的接收處理

通過PIC的UART機(jī)能,接收AllLightSystem發(fā)出的數(shù)據(jù)包。只響應(yīng)AllLight ControlUnit發(fā)出的數(shù)據(jù)。(其它數(shù)據(jù)忽略。)如果遠(yuǎn)程操作機(jī)能FLAG,防盜監(jiān)視機(jī)能FLAG有效,根據(jù)接收到的數(shù)據(jù)更新WEB I/F UNIT的回路狀態(tài)數(shù)據(jù)。如果PC I/F機(jī)能FLAG有效,由于發(fā)送的數(shù)據(jù)是有AllLight協(xié)議的信息,為了使接受的數(shù)據(jù)能夠進(jìn)行PC I/F處理,除去AllLight協(xié)議的報文頭。

l         AllLight指令發(fā)送處理

遠(yuǎn)程操作機(jī)能如果FLAG有效,實行有效回路檢查。有效回路設(shè)定數(shù)據(jù)Check,如果指令控制的回路遠(yuǎn)程操作有效,實行指令發(fā)送處理。根據(jù)手機(jī)發(fā)出的要求,將“ON”,“OFF”指令轉(zhuǎn)換成AllLight協(xié)議數(shù)據(jù)發(fā)送。如果是通過PC I/F處理,去掉TCP數(shù)據(jù)的報頭,將取出的數(shù)據(jù)加上AllLight協(xié)議的報頭,發(fā)送數(shù)據(jù)包。

4         結(jié)論

本文介紹了一個基于對嵌入式Web技術(shù)的家庭遠(yuǎn)程操作監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn),主要實現(xiàn)通過手機(jī)或電腦對自己家用電器進(jìn)行監(jiān)控和遠(yuǎn)程操作,極大地保證了家庭的安全,也方便了人們的生活。本文作者的創(chuàng)新點就是:服務(wù)器的設(shè)計基于嵌入式WEB技術(shù),支持動態(tài)IP,可以直接進(jìn)入以太網(wǎng),用戶無需使用專用的操作系統(tǒng)和軟件,可以直接通過瀏覽器進(jìn)行操作,通過HTTP與嵌入式WEB進(jìn)行通信。通過這次項目的完成,相信隨著網(wǎng)絡(luò)監(jiān)控技術(shù)的發(fā)展,基于嵌入式WEB的遠(yuǎn)程操作系統(tǒng)必將有良好的發(fā)展前景。

參考文獻(xiàn):

1、Terry H.Ess, T.H.E.Solution  LLC,Greer,SC,  Accessing Devices Using a Web Service”, Proceedings IEEE SoutheastCon 2002
2、嚴(yán)麗平,曾輝,宋凱,甘嵐.嵌入式智能家庭網(wǎng)關(guān)的研究與設(shè)計,微計算機(jī)信息,2005年,第12-2期,14-16頁
3、嵌入式系統(tǒng)設(shè)計原理及應(yīng)用/符意德編著.—北京:清華大學(xué)出版社,2004.11
4、張曦煌,柴志雷.嵌入式Web服務(wù)器中CGI的特點及實現(xiàn).[J]小型微型計算機(jī)系統(tǒng).Vol24,No11(2003)2046-20482003
5、Rich Bowen,Ken Coar等著,羅四維等譯,Apache Server實用全書,電子工業(yè)出版社,北京,2001.

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉