亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        搭建Web服務的嵌入式Web Server*

        2014-08-27 08:34:22
        關鍵詞:腳本嵌入式客戶端

        安 峰

        (蘇州工業(yè)園區(qū)服務外包職業(yè)學院信息技術系,蘇州215123)

        引 言

        傳統(tǒng)的嵌入式Web Server搭建方案中,不論是直接基于開源網(wǎng)絡協(xié)議棧(uip等),還是基于Linux平臺下的輕量級服務器(Httpd等),Web Server均是運行在嵌入式設備當中,這也是其名稱為“嵌入式Web Server”的原因,如圖1所示。但隨著Web技術的不斷發(fā)展,Server的體積越來越大,嵌入式Web Server已不再滿足于簡單的網(wǎng)頁發(fā)送、CGI等技術,而是要求具有表單更新、實時流傳輸、大數(shù)據(jù)量交換和存儲以及復雜的后臺邏輯管理等功能。但與之相對的是嵌入式設備的硬件處理能力區(qū)別較大,很多設備無法負擔龐大的Web Server的運行壓力?;诖?,我們提出了一種新的Server搭建方式,即將Server搬運到運算處理能力更強大的PC上,通過成熟的PHP+HTML+JavaScript等技術來實現(xiàn)功能強大、界面精美的Web Server。Server提供一種稱為“Web服務”的接口,與客戶端(嵌入式設備)互通信息。對于用戶而言,直接通過瀏覽器訪問或控制嵌入式設備,絲毫感覺不到Web服務器的位置變化,因此仍然可以被稱作“嵌入式Web Server”。這種策略類似于常見的網(wǎng)站設計中的前后臺架構,達到在最少的資源上最大化運行效率的成效。

        圖1 傳統(tǒng)的嵌入式Web Server

        基于這一思路,可以不用再擔心硬件限制,在實際應用中選擇主流的Apache+PHP+HTML 方案來搭建服務器。這種嵌入式Web Server的示意圖如圖2所示。

        圖2 基于Web服務的嵌入式Web Server

        當系統(tǒng)中的節(jié)點設備數(shù)量眾多,或者是設備的開發(fā)平臺、系統(tǒng)不同(各種手機、設備等)的時候,這種Web Server更能體現(xiàn)優(yōu)越之處。通過Web服務接口來與眾多的設備通信,而設備通過Web請求,將自身采集到的數(shù)據(jù)發(fā)送到服務器,服務器在收集到數(shù)據(jù)后會進行邏輯分析,按照PHP腳本所指定的功能將這些數(shù)據(jù)進行存儲或者丟棄,并給設備特定的反饋信息。同時,該服務器提供了一個完善的Web頁面,用戶可以通過瀏覽器來訪問到相應的數(shù)據(jù),或者對設備進行一定的控制。

        搭建這種類型的服務器需要做兩方面的工作,一是搭建傳統(tǒng)意義上的Web服務器并實現(xiàn)服務接口;二是在嵌入式設備當中編寫Web請求程序,不斷地更新自身狀態(tài)或者發(fā)送信息到網(wǎng)站服務器當中。下文將對這些內(nèi)容進行詳細介紹。

        1 Web服務器搭建

        受限于嵌入式設備的處理能力,之前只能借助于Boa、Httpd等輕量級的Web服務器,現(xiàn)在可以采用更合適的Web服務器。Apache是一款開放源碼的HTTP服務器,可以在大多數(shù)計算機操作系統(tǒng)中運行,由于其跨平臺和安全性而被廣泛使用,是最流行的Web服務器端軟件之一。它快速可靠并且可通過簡單的API擴展、PHP/Python等腳本被內(nèi)嵌到服務器中。在本項目當中,為了對服務器進行高效的開發(fā),采用了目前比較流行的集成安裝包WAMP(或LAMP),其內(nèi)含Apache、PHP 和Mysql等功能。

        在Linux平臺(ubuntu12.04)下搭建服務器及開發(fā)環(huán)境的簡單步驟如下:

        LAMP 的安裝:sudo apt-get install apache2 mysqlserver mysql-client php5php5-gd php5-mysql。

        phpmyadmin安裝:sudo apt-get install phpmyadmin。

        Apache配置:啟用mod_rewrite模塊:sudo a2enmod rewrite;重啟Apache服務器:sudo/etc/init.d/apache2restart。

        在Windows平臺下只需下載WAMP集成安裝包,即可進行相應安裝。

        2 Web服務

        Web服務(Web Service)是一項新技術,它能使得運行在不同機器上的不同應用無需借助附加的、專門的第三方軟件或硬件,就可相互交換數(shù)據(jù)或集成。Web服務通過標準的數(shù)據(jù)接口與客戶端進行通信,在本項目當中,采用了Json這種輕量級數(shù)據(jù)格式??蛻舳税l(fā)送與接收到的數(shù)據(jù)均是封裝成Json格式的數(shù)據(jù)包,這保證了系統(tǒng)的擴展性與可維護性。

        通過編寫PHP腳本程序來實現(xiàn)Web服務的諸多服務接口,以本項目為例,實現(xiàn)了多達21個服務接口,客戶端通過訪問這些接口,即可實現(xiàn)與服務器的通信。以其中一個為例,該服務接口接收客戶端的信息,返回相應的反饋信息。接口規(guī)定如表1所列。

        表1 Web服務接口規(guī)范

        從表1可以看出,服務器提供了一個getRFID的服務接口,該接口接收三個參數(shù),同時對這些參數(shù)進行分析判斷??蛻舳送ㄟ^訪問http://localhost/lvsemoban/interface/getRFID.php來發(fā)送相應的信息,通信格式采用Json封裝。

        服務器為了實現(xiàn)這一接口功能,需要編寫PHP腳本,本項目當中對應的PHP腳本內(nèi)容如下:

        服務器通過$_REQUEST 來獲取客戶端所發(fā)送的信息參數(shù),進行一系列的分析、判斷和處理之后,以Json格式返回給客戶端相應的信息。在本項目當中,客戶端把采集到的學生RFID 卡、教室名和上課時間發(fā)送至服務器,服務器會判斷這些信息的正確性,同時將處理后的信息存儲到數(shù)據(jù)庫當中。其中,json_encode函數(shù)將返回數(shù)據(jù)封裝成Json格式后再進行返回。

        而對于用戶而言,則無需接觸到這些復雜的后臺邏輯,只需在瀏覽器當中輸入相應網(wǎng)址,即可獲取到相應信息。借助HTML+Javascript,服務器提供了一個良好的網(wǎng)站界面。同時,服務器后臺通過Web服務接口與嵌入式設備的互通信息,并實時顯示在前臺頁面中。本項目所提供的Web頁面之一如圖3所示。

        圖3 提供給用戶的Web界面

        3 嵌入式設備程序

        我們采用了Linux+QT 的軟件開發(fā)平臺來進行嵌入式設備的軟件開發(fā)。當系統(tǒng)采集到信息之后,會定時(間隔3s)訪問Web服務接口,QT 提供了一種http Request方案。在嵌入式設備的開發(fā)當中,主要包括數(shù)據(jù)的封裝與發(fā)送。

        3.1 數(shù)據(jù)封裝

        在QT 平臺上,借用了開源Json代碼來進行數(shù)據(jù)的封裝與解包。它提供了encode和decode兩個函數(shù),只需調(diào)用這兩個接口即可對數(shù)據(jù)進行操作。解包出來的數(shù)據(jù)以map容器形式出現(xiàn),代碼當中將容器中的數(shù)據(jù)提取出來即可進行處理。

        3.2 數(shù)據(jù)發(fā)送與接收

        在本項目當中,嵌入式設備采集到相關信息后會發(fā)送到服務器,并且接收服務器的處理結果進行相應的顯示。通過QT的信號—槽機制來整合對數(shù)據(jù)的發(fā)送與接收過程,在系統(tǒng)啟動之初將QtNetwork的接收信號與我們的處理函數(shù)相連接,這樣,在接收到服務器的返回數(shù)據(jù)之后,系統(tǒng)即可進行相應的處理與顯示,系統(tǒng)流程圖如圖4所示。

        結 語

        本文討論的基于Web服務的嵌入式Web Server的實現(xiàn)方法及應用的主要技術,使得開發(fā)者可以根據(jù)目標硬件平臺的實際資源進行選擇,不用再因為硬件資源的限制而降低Web Server的性能。同時,PHP腳本的引入,使得Web Server的功能與靈活性大大增強。更具實用意義的是,不僅嵌入式設備,其他智能手機等設備也完全可以與Web Server進行通信,實現(xiàn)了多平臺的整合。目前該方案已在多款開源平臺上被實際應用,在工程實踐中證明了其可行性。

        圖4 客戶端數(shù)據(jù)發(fā)送與處理流程

        [1]http://www.apache.org/.

        [2]http://www.mythtv.org/.

        [3]瑪麗尼,李軍.PHP、MySQL 和Apache編程導學[M].北京:機械工業(yè)出版社,2008.

        [4]韋東山.嵌入式Linux應用開發(fā)完全手冊[M].北京:人民郵電出版社,2008.

        [5]文全剛.嵌入式Linux操作系統(tǒng)原理與應用.北京:北京航空航天大學出版社,2002:155-169.

        [6]亞荷毛爾.構建嵌入式Linux系統(tǒng)[M].秦云川,譯.2版.北京:中國電力出版社,2011.

        猜你喜歡
        腳本嵌入式客戶端
        酒駕
        安奇奇與小cool 龍(第二回)
        數(shù)據(jù)庫系統(tǒng)shell腳本應用
        電子測試(2018年14期)2018-09-26 06:04:24
        縣級臺在突發(fā)事件報道中如何應用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設計與實現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        搭建基于Qt的嵌入式開發(fā)平臺
        快樂假期
        中學生(2017年19期)2017-09-03 10:39:07
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
        Altera加入嵌入式視覺聯(lián)盟
        曰本女人牲交全视频免费播放 | 日产精品高潮一区二区三区5月 | 国产日韩欧美911在线观看| 久久精品国产亚洲av蜜桃av| 国产成人一区二区三区影院| 日韩日韩日韩日韩日韩| 无码手机线免费观看| 精品不卡久久久久久无码人妻| 久久国产女同一区二区 | 国产精品一区二区三级| 丰满少妇av一区二区三区| 偷拍综合在线视频二区| 粗壮挺进人妻水蜜桃成熟漫画| 免费看操片| 女人一级特黄大片国产精品| 国产精品一区二区三区成人| 亚洲天堂成人av影院| 久久精品国产久精国产| 秋霞影院亚洲国产精品| 国产精品国产三级在线专区| 精品人妻码一区二区三区剧情| 男女车车的车车网站w98免费| 久久国产亚洲AV无码麻豆| 亚洲国产人成自精在线尤物| 日本强伦姧人妻一区二区| 日本亚洲色大成网站www久久| 麻豆AⅤ精品无码一区二区| 国产在线视频一区二区三区| 中文字幕亚洲无线码在线一区| 亚洲av中文无码乱人伦在线r▽| 亚洲色图视频在线观看网站| 国产午夜精品久久精品| 国产亚洲一区二区在线观看| 玖玖资源站无码专区| 老熟妇高潮av一区二区三区啪啪| 户外精品一区二区三区| 久久精品免费一区二区三区| 亚州AV无码乱码精品国产 | 粗大猛烈进出白浆视频| 欧美一欧美一区二三区性| 男女视频网站免费精品播放|