<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

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

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

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

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

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

輕量級 WEB Server

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

設備管理架構 Device Manager Framework

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

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

2. 輕量級WEB Server 對比

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

GoAhead

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

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

Lighttpd

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

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

uHttpd

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

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

busybox httpd

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

3. 設備管理架構Luci

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

延伸閱讀
  1. Duktape在C/C++項目中嵌入JavaScript


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



關(guān)鍵詞: web

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>