色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > 設(shè)備產(chǎn)品WEB管理界面實(shí)現(xiàn)

          設(shè)備產(chǎn)品WEB管理界面實(shí)現(xiàn)

          發(fā)布人:電子禪石 時(shí)間:2022-02-23 來源:工程師 發(fā)布文章
          1. 需求分析

          需要在設(shè)備內(nèi)部集成WEB管理功能,類似于家用路由器,通過網(wǎng)頁瀏覽器登陸設(shè)備,實(shí)現(xiàn)對(duì)設(shè)備進(jìn)行狀態(tài)監(jiān)視、參數(shù)設(shè)置、固件升級(jí)等功能。

          硬件條件:設(shè)備內(nèi)部主控制器的嵌入式CPU普遍低端,主頻只有幾百兆,內(nèi)存有128M的,也有的只有幾百K片上配置,WEB管理功能的集成不能影響設(shè)備網(wǎng)絡(luò)主業(yè)務(wù)性能,可能無文件系統(tǒng)。

          輕量級(jí) WEB Server

          首先要找一個(gè)合適的輕量級(jí)的WEB Server,最好是C/C++實(shí)現(xiàn)的,有OS和沒有OS都能方便移植。WEB Server不需要太復(fù)雜,能支持1種動(dòng)態(tài)語言,提供良好的CGI接口。

          設(shè)備管理架構(gòu) Device Manager Framework

          以輕量級(jí)的WEB Server為基礎(chǔ),提供一個(gè)設(shè)備管理框架,可通過代碼直接定制目錄結(jié)構(gòu),可直接修改模板增減狀態(tài)和配置頁面。

          使用AJAX等技術(shù)實(shí)現(xiàn)不重新加載頁面的情況下,刷新網(wǎng)頁局部,實(shí)現(xiàn)設(shè)備狀態(tài)“實(shí)時(shí)”監(jiān)視功能。

          2. 輕量級(jí)WEB Server 對(duì)比

          開源的輕量級(jí)WEB Server很多,比如GoAhead、Shttpd、Thttpd、Lighttpd、BOA、mathopd、minihttpd、appweb,但適合于移植到嵌入式平臺(tái)的并不多。

          GoAhead

          GoAhead基于C語言的嵌入式WEB Server,由Embedthis公司維護(hù),實(shí)現(xiàn)了服務(wù)端的嵌入式Javascript、CGI、DHTML,支持文件上傳,,網(wǎng)上資料比較多,最新V3.4.3源碼在這。

          GoAhead本身自帶Windows、Linux、各種RTOS的移植子目錄文件,其他服務(wù)器公共模塊移植性做的很好,可不使用文件系統(tǒng)而將所有WEB資源文件ROM化,是學(xué)習(xí)進(jìn)階C語言的很好例子。若開發(fā)linux平臺(tái)下的web監(jiān)控,你可以利用windows下的vs先調(diào)試好JS+CSS前端,再去linux平臺(tái)下解決數(shù)據(jù)交互層面的問題。

          Lighttpd

          Lighttpd是一個(gè)德國人領(lǐng)導(dǎo)的開源Web服務(wù)器軟件,具有非常低的內(nèi)存開銷、cpu占用率低、性能好以及豐富的模塊等特點(diǎn),相比GoAhead更專業(yè),支持php,當(dāng)然更占點(diǎn)資源。Lighttpd是眾多OpenSource輕量級(jí)的web server中較為優(yōu)秀的一個(gè)。支持FastCGI,CGI,Auth,輸出壓縮(output compress),URL重寫,Alias等重要功能。

          lighttpd針對(duì)web并發(fā)請(qǐng)求的特點(diǎn),采用事件驅(qū)動(dòng)模式架構(gòu)以提高性能,可以看作是一個(gè)輕量級(jí)的Apache,消耗內(nèi)存更少,Apahche的很多功能在lighttpd上都有相應(yīng)的實(shí)現(xiàn)。lighttpd支持FastCGI,利用臨時(shí)內(nèi)存文件快速響應(yīng)HTTP請(qǐng)求;支持COMET,服務(wù)器端的主動(dòng)推送技術(shù);并支持異步IO模式的響應(yīng)。

          uHttpd

          uHTTPd是一個(gè)OpenWrt/LUCI 開發(fā)者從頭編寫的Web服務(wù)器,能滿足嵌入式設(shè)備在linux平臺(tái)下的輕量級(jí)任務(wù)需求,使用select模型進(jìn)行多請(qǐng)求并發(fā)處理。

          uHTTPd是OpenWRT上默認(rèn)的Web服務(wù)器,支持CGI,以及靜態(tài)文件的服務(wù),很多路由器使用OpenWRT架構(gòu),順便使用支持lua的uHTTPd開發(fā)管理界面。通過Luci處理CGI請(qǐng)求,實(shí)現(xiàn)基于Lua腳本的web開發(fā)。

          busybox httpd

          busybox是嵌入式Linux下的開發(fā)“瑞士軍刀”,基本上Android手機(jī)上都有安裝;httpd是busybox的附帶工具之一,輕量級(jí),支持CGI。用的人少:(

          3. 設(shè)備管理架構(gòu)Luci

          感興趣的童鞋可以在虛擬機(jī)上先安裝OpenWrt鏡像,體驗(yàn)下Luci的管理界面。

          延伸閱讀
          1. Duktape在C/C++項(xiàng)目中嵌入JavaScript


          *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



          關(guān)鍵詞: web

          相關(guān)推薦

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

          關(guān)閉