嵌入式web服務器子系統html
一.嵌入式web服務器的控制流程linux
以下圖所示,嵌入式web服務器可實現經過網絡遠程控制嵌入式開發板,便捷實用。web
控制流程:瀏覽器
1.用戶瀏覽器--(請求鏈接)-->>web服務器;服務器
(web服務器包含a.供瀏覽器登陸的網頁界面程序,b.供服務器調用的CGI程序(擴展服務器功能))網絡
2.瀏覽器登陸web服務器指定的網頁界面,給予指令->調用設定的CGI程序進行控制;函數
3.獲取的返回結果->web服務器發送到網絡中,用戶便可經過瀏覽器遠程獲取數據信息。spa
--------------------------------------------------------------------------------------------------------------設計
二.嵌入式web服務器->BOA的移植、cgi庫移植 --->>>應用orm
1)BOA:下載BOA服務器並解壓 -> 更改Makefile文件中的交叉編譯器arm-linux- -> make即生成boa應用程序、boa_conf腳本配置文件;
2)cgi庫:修改Makefile的交叉編譯器arm-linux-,make生成庫文件libcgi.a移動至/rootfs/lib/下便可;
3)修改boa_conf配置文件中的配置項,如:指定網頁界面設計文件/web/~.html、菜單跳轉cgi程序源目錄/web/cam/~.cgi。
開發板運行" #boa ",瀏覽器登陸開發板ip-192.168.1.2,便可登陸嵌入式web服務器的網頁設計界面。然後啓動移動物體監控主系統" motion -c motion_dist_conf ",便可登陸服務器,經過網頁界面發送指令調用相應CGI程序,在界面獲取監測到的移動圖像及視頻信息。
------------------------------------------------------------------------------
--->>>其中,網頁界面.html、獲取監控圖片和視頻的cgi程序開發
網頁界面:在原有的.html程序基礎上進行修改,僅修改:" class = "menu" href="/cam/movie.cgi" ,即界面菜單文字---跳轉後的網頁/cgi運行程序;
cgi程序 :主函數cgiMain()下,
1)print_file(cgiOut,"../top.html"); //加頭,將top.html內容打印到cgiOut
2)total = list_pic("/mnt/sd","jpg"); //將圖片加入顯示列表
3)if (cgiFormSubmitClicked("gopage") == cgiFormSuccess) { //處理用戶的選擇請求
4)show_pic(start,end,total); //顯示圖片
5)print_file(cgiOut,"../bottom.html"); //加尾,將bottom.html內容打印到cgiOut
arm-linux-gcc -L ./cgic205/ -lcgi movie.c -o movie.cgi
--------------------------------------------------------------------------------------------------------------
嵌入式web服務器程序設計---流程:
移植BOA服務器,移植CGI庫 -> 設置網頁界面程序 .html、cgi監控程序 -> 配置boa_conf配置文件,指定瀏覽服務器網頁界面文件、及菜單跳轉的cgi程序 -> 啓動motion 、boa -> 瀏覽器登陸web服務器的ip(開發板ip)便可。