新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于SX52的嵌入式Web服務(wù)器的快速實現(xiàn)

        基于SX52的嵌入式Web服務(wù)器的快速實現(xiàn)

        作者: 時間:2012-04-19 來源:網(wǎng)絡(luò) 收藏

        除了用JavaApplet動態(tài)網(wǎng)頁外,利用post方法也可與交互。例如通過IE瀏覽器用復(fù)選框按鈕控制并顯示一組燈的開與關(guān)的基本控制,其HTML網(wǎng)頁的提交表單FORM內(nèi)應(yīng)該包含有的類似語句,其中0~n為欲控制燈的編號,name的取值為一位數(shù)字或字符,有利于節(jié)省的查詢匹配程序空間,E2File程序?qū)⒕W(wǎng)頁中如下顯示燈的狀態(tài)的HTML超鏈接語句中的?編號為非ASCII字符#$f0~#$fn等下載存儲到的EEPROM中。當n用POST方法發(fā)送數(shù)據(jù)給時,服務(wù)器計算兩個空格間的abs_path形式的URI的ASCII字符之和后到相應(yīng)EEPROM中,用上述下載網(wǎng)頁的計算方法找到該網(wǎng)頁的地址后,跳過HTTP的請求頭匹配l=0…l=n表示復(fù)選框被選中的數(shù)據(jù)并對相應(yīng)編號的燈開關(guān)后,返回該網(wǎng)頁給IE時會根據(jù)實際燈的狀態(tài)將EEPROM中存儲網(wǎng)頁的非ASCII字符#$f0~#$fn退換為ASCII字符n或f。這樣IE就能正確地通過超鏈接再次與服務(wù)器交互(GET方法),下載顯示ledon.gif或ledof.gif顯示實際燈的狀態(tài)了。而要在IE上正確顯示現(xiàn)場某個控制變量的值時,同樣可以將n位顯示數(shù)值編號為非ASCII字符#$f0#$fl…#$fn的形式存儲到服務(wù)器中,服務(wù)器端先將實際的數(shù)值轉(zhuǎn)換為BCD碼后再用對應(yīng)的ASCII字符將#Sf0#$f1…#$fn替換返回,從而能在瀏覽器端顯示服務(wù)器端控制變量的變化。國內(nèi)用戶使用的北京革新提供的開發(fā)演示板程序較充分地提供了常用的Intemet網(wǎng)絡(luò)協(xié)議軟件虛擬模塊,也提供了一個基本可實際應(yīng)用的演示控制,只要做較少改動就可以用于實際控制中。不過它只能一次控制一個燈的開關(guān),且任何人都可以輕易地更改。現(xiàn)要求一次能控制所有的燈,但需要在IE瀏覽器上輸入密碼123abc方可生效。程序修改如下:

        (5)在模塊TcpAppRxData的分支:lookforl的開頭增加以下語句:

        當然以上密碼通過IE仍以明文傳送,不安全,但是它可以通過常用的IE瀏覽器操作,不需要專用的客戶端軟件。這適用于大企業(yè),它們有局域網(wǎng),電腦上只能用固定的幾種軟件。當然編寫客戶端軟件加入加密解密算法來適應(yīng)各種應(yīng)用環(huán)境也是容易的。用SX52構(gòu)建各種小型的現(xiàn)場控制服務(wù)器只要合理利用相應(yīng)的網(wǎng)絡(luò)協(xié)議軟件虛擬模塊,參照演示板的做法在應(yīng)用子模塊TcpAppTxBytes、TcpAppRxData中對發(fā)送及接收數(shù)據(jù)按照自己特定的要求做處理即可。它還可以通過UDP的方式同時與客戶端軟件傳送語音或視頻數(shù)據(jù)流,只要增加很少的外圍接口電路并改動相應(yīng)的UDP處理模塊UDPProcPktIn即可。而如果未來協(xié)議的更新也只要下載最新的程序替換即可,開發(fā)人員單獨修改特定協(xié)議模塊的一些方式如增加滑動窗口的TCP/IP等也比重新編寫一個完整的協(xié)議族遠為輕松。

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 伊宁市| 东港市| 沁阳市| 广宁县| 淄博市| 灌阳县| 留坝县| 白朗县| 浦城县| 龙井市| 建阳市| 大兴区| 日喀则市| 田阳县| 顺昌县| 安新县| 乌什县| 兴安县| 读书| 康乐县| 南昌县| 密云县| 宁都县| 南投县| 栾川县| 九龙城区| 双牌县| 且末县| 浪卡子县| 建平县| 武城县| 洪雅县| 乡城县| 榕江县| 乌鲁木齐县| 象州县| 柘荣县| 鄯善县| 天峻县| 永福县| 铁岭市|