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

        ?

        計(jì)算機(jī)CAN—TCPIP網(wǎng)關(guān)的嵌入式WebServer研究

        2018-01-24 11:40:50肖飛李巍
        新教育時(shí)代·教師版 2018年48期
        關(guān)鍵詞:嵌入式程序

        肖飛 李巍

        摘要:介紹了計(jì)算機(jī)CAN、TCP/IP協(xié)議及其上開發(fā)的嵌入式CAN-TCP/IP網(wǎng)關(guān),研究并實(shí)現(xiàn)了基于CAN-TCP/IP網(wǎng)關(guān)的嵌入式WebServer。嵌入式CAN總線的Web服務(wù)器大大提升了CAN-TCP/IP網(wǎng)關(guān)的易用性和實(shí)用性。

        關(guān)鍵詞:uClinux CAN-TCP/IP 嵌入式WebServer

        一、CAN、TCP/IP概述

        CAN、TCP/IP是兩種應(yīng)用非常廣泛的協(xié)議。TCP/IP是internet上廣為流行的協(xié)議,它是計(jì)算機(jī)之間的通信協(xié)議。但其傳輸方式和效率很難滿足現(xiàn)場(chǎng)的要求。CAN是一種優(yōu)秀的現(xiàn)場(chǎng)總線,但遠(yuǎn)程通訊卻又有許多不足。嵌入式產(chǎn)品的發(fā)展,尤其以源代碼開放為特征的Linux的出現(xiàn),把 TCP/IP和CAN兩種優(yōu)勢(shì)技術(shù)相結(jié)合的嵌人式系統(tǒng)具有很高的性能和實(shí)用性。

        二、嵌入式CAN-TCP/IP的網(wǎng)關(guān)

        嵌入式CAN-TCP/IP的網(wǎng)關(guān)是在uClinux系統(tǒng)上開發(fā)出來的,它實(shí)現(xiàn)CAN總線與以太網(wǎng)TCP/IP協(xié)議的轉(zhuǎn)換,通過以太網(wǎng)能夠進(jìn)行CAN發(fā)送和CAN接收,要求網(wǎng)絡(luò)上的一臺(tái)PC能通過應(yīng)用軟件操作網(wǎng)關(guān),實(shí)現(xiàn)CAN信息的收發(fā)。 在局域網(wǎng)中運(yùn)行在PC上編寫的基于Windows的CAN-TCP/IP以太網(wǎng)通訊程序,通過以太網(wǎng)連接目標(biāo)板,實(shí)現(xiàn)對(duì)CAN網(wǎng)絡(luò)信息的接收并顯示,以及向CAN網(wǎng)絡(luò)發(fā)送信息。CAN-TCP/IP網(wǎng)關(guān)的硬件結(jié)構(gòu)如圖1所示。

        三、嵌入式WebServer

        嵌入式WebServer可實(shí)現(xiàn)CAN總線網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程監(jiān)控,網(wǎng)絡(luò)端的客戶程序就不需要單獨(dú)安裝,有瀏覽器就可以操作嵌入式CAN-TCP/IP的網(wǎng)關(guān)。我們?cè)谶@里選擇了支持CGI又適合嵌入式系統(tǒng)的Boa Web Server。Boa是一個(gè)源代碼開放、執(zhí)行效率高的系統(tǒng)。uClinux的已經(jīng)包含了boa的源代碼。如果在特定的uClinux系統(tǒng)下實(shí)現(xiàn)Boa,還需要對(duì)Boa做一修改。

        四、嵌入式WebServer在Boa Web Server中的實(shí)現(xiàn)

        1.Boa Server配置

        Boa Server配置通過對(duì)boa.conf 和mime.types 這兩個(gè)文件進(jìn)行修改配置:

        (1)手動(dòng)建目錄

        因?yàn)閡Clinux 默認(rèn)的根文件系統(tǒng)romfs是只讀的,所以不能使用mkdir等命令來新建目錄,故應(yīng)在編譯內(nèi)核前先建好要用到的目錄,這通過修改/uclinux-samsung/vendors/Samsung/4510b/makefile 文件來實(shí)現(xiàn)。在ROMFS_DIRS =bin dev etc home lib mnt proc usr var的后邊增加home/webhome/web/cgi-bin,修改完成后就可以編譯內(nèi)核,根文件系統(tǒng)被編譯好后,就包含了這些目錄。

        (2)指定Web 服務(wù)器的根目錄路徑(SERVER_ROOT)

        進(jìn)入/uclinux-samsung/user/boa/src/目錄,通過修改define.h 文件中#define ERVER_ROOT“/home”語句來指定SERVER_ROOT。也可以通過命令來實(shí)現(xiàn):boa-c /home/&。SERVER_ROOT可以覆蓋define.h 文件中所指定的。

        (3)修改boa.conf 文件

        在./uclinux-samsung/user/boa/src/boa.conf里修改:

        將user obody

        Group ogroup

        改為User 0

        Group 0;

        將DocumentRoot/var/www改為DocumentRoot/home/web, web服務(wù)器的文檔根目錄為/home/web ;

        將MimeTypes /etc/mime.types改為MimeTypes /home/web/mime.types;

        默認(rèn)主頁和C G I 程序所在的目錄,即

        DirectoryIndexindex.htm

        ScriptAlias /cgi-bin/ /home/web/cgi-bin/

        boa.conf 文件和mime.types這兩個(gè)文件放到Web服務(wù)器根目錄下,所以把最后的bao.conf和mime.types拷貝到“./uclinux-samsung/romfs/home/”目錄下。然后在/uclinux-samsung/Vendors/Samsung/4510b/inittab里修改,在inet:unknown:/bin/inetd后加入:boa:unknown:/bin/boac/home。

        配置完成后,把內(nèi)核重新編譯, Boa選項(xiàng)要被選中。然后把內(nèi)核下載到開發(fā)板,啟動(dòng)uClinux,完成IP配置,Open Boa Web Server,網(wǎng)頁就可以通過IP來訪問了。

        2.CGI簡(jiǎn)介

        CGI通過了一個(gè)用來執(zhí)行外部程序的通道,能夠?qū)崿F(xiàn)服務(wù)器和瀏覽器的交互。CGI 程序其實(shí)是一個(gè)外部程序,可以把它編譯成可執(zhí)行文件,然后運(yùn)行在服務(wù)端,結(jié)構(gòu)如圖2所示。

        用戶輸入的數(shù)據(jù)通過瀏覽器送到Web服務(wù)器,Web服務(wù)器使用stdin 將數(shù)據(jù)送給CGI 程序, CGI 程序被執(zhí)行后,存放數(shù)據(jù)的文檔可能會(huì)被訪問到,最后使用stdout 輸出HTML 形式的結(jié)果文件,在瀏覽器端顯示W(wǎng)eb 服務(wù)器送回的數(shù)據(jù)。

        我們的CGI 程序用C語言來編寫??紤]到uClinux不支持?jǐn)?shù)據(jù)庫存儲(chǔ),我們把數(shù)據(jù)保存在文件中,CGI可以查詢這些文件。

        設(shè)備在uClinux中也是被作為文件來訪問的,所以在CGI程序中也可以對(duì)如sja1000 CAN等設(shè)備進(jìn)行讀寫,即CAN發(fā)送和CAN接收操作。

        3.編寫Web頁面

        Web頁面就是一個(gè)HTML網(wǎng)頁文件,要求內(nèi)嵌表單。編寫Web頁面時(shí),要由ACTION屬性來指定相關(guān)的CGI程序,如:ACTION=cgi-bin/CanServer ;由MOTHOD屬性來指明所用的提交數(shù)據(jù)的方法,即METHOD = POST(GET也可)。將該文件放到/home/web目錄下。這個(gè)頁面即是其他瀏覽器進(jìn)行訪問設(shè)備的IP地址而出現(xiàn)的頁面。

        4.編寫CGI程序

        CGI 程序可以分為3個(gè)部分:①數(shù)據(jù)的接收通過POST方法或GET方法從提交的表單中獲取;② URL編碼的解碼;③ HTML源代碼用用printf( )函數(shù)來產(chǎn)生,并將經(jīng)過解碼后的數(shù)據(jù)正確地返回給瀏覽器。最后把編寫好的CGI程序編譯成二進(jìn)制文件放在cgibin/目錄下。

        下面介紹我們編寫的CGI程序CanTcp.c的核心部分,它完成CAN信息接收并顯示到瀏覽器中。主要包括讀取CAN接收信息和輸出HTML數(shù)據(jù)流兩部分。

        sjadev = open(“/dev/sja1000”,O_RDWR); //打開sja1000設(shè)備

        if ( sjadev == -1 ) { printf(“Cannt open file “); exit(0);}

        read(sjadev,buf,13); //讀取sja1000設(shè)備,將獲取的CAN信息存入buf

        for (i = 0; i < 13;i++)

        itos(buf[i],strbuf+i); //CAN數(shù)據(jù)整形轉(zhuǎn)換為字符串

        close(sja1000); //關(guān)閉CAN設(shè)備

        printf(“Content-type:text/html\n\n”);

        printf(“\n”); //HTML文件開始標(biāo)志

        printf(“\n”); //HTML文件頭部信息

        printf(“HTML & CGI Script Demo Result\n”);//標(biāo)題信息

        printf(“

        \n”);printf(“\n”);

        printf(“

        sja1000 CAN 設(shè)備接收信息顯示

        \n”);

        printf(“CAN_ID0: %s\n”, strbuf[0]); //顯示CAN_ID0

        printf(“CAN_ID1: %s\n”, strbuf[1]); //顯示CAN_ID0

        ………………

        printf(“CAN_DATA7: %s\n”, strbuf[12]); //顯示CAN_DATA7

        printf(“

        \n”);printf(“

        \n”);

        fflush(stdout); //將上述HTML信息以數(shù)據(jù)流送出

        exit(0); //程序結(jié)束

        結(jié)語

        嵌入式uClinux下的WebServer提升了CAN-TCP/IP網(wǎng)關(guān)的易用性。本文研究使用的boa WebServer服務(wù)器是一個(gè)小型的Web服務(wù)器,能夠同時(shí)處理的客戶端連接數(shù)量有限。可以對(duì)thhttpd或其他的WebServer進(jìn)行研究并移植到uClinux系統(tǒng)中,更好地實(shí)現(xiàn)其產(chǎn)品化。

        參考文獻(xiàn)

        [1]楊甜甜.TCP/IP網(wǎng)絡(luò)與CAN網(wǎng)絡(luò)網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[J].文藝生活·文藝?yán)碚?015(4):287-287.

        [2]安妮,董俊.基于嵌入式的現(xiàn)場(chǎng)總線和TCP/IP協(xié)議轉(zhuǎn)換的技術(shù)研究[J].現(xiàn)代電子技術(shù),2016,39,(1):16-19.

        [3]趙衛(wèi).基于RS485總線的存儲(chǔ)器網(wǎng)絡(luò)化技術(shù)研究[J].計(jì)算機(jī)測(cè)量與控制,2017,25(10):206-208.

        作者簡(jiǎn)介

        肖飛(1980.2—),男,漢族,湖北荊門人,黃岡師范學(xué)院計(jì)算機(jī)學(xué)院,高級(jí)工程師,武漢理工大學(xué)碩士研究生,主要從事計(jì)算機(jī)應(yīng)用軟件開發(fā)與創(chuàng)新創(chuàng)業(yè)教育研究.

        猜你喜歡
        嵌入式程序
        試論我國未決羈押程序的立法完善
        TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
        電子制作(2019年7期)2019-04-25 13:17:14
        嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
        電子制作(2018年18期)2018-11-14 01:48:16
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        英國與歐盟正式啟動(dòng)“離婚”程序程序
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        Altera加入嵌入式視覺聯(lián)盟
        国产不卡在线视频观看| 中文字幕亚洲无线码高清| 日本熟妇精品一区二区三区| 国产亚洲综合另类色专区| 一本久道综合色婷婷五月| 国产精品久久久久久52avav| 欧美日韩亚洲一区二区精品| 久久亚洲精品中文字幕蜜潮 | 中国少妇久久一区二区三区| 男女啪动最猛动态图| 性夜夜春夜夜爽aa片a| 国产精品亚洲专区无码不卡 | 亚洲不卡电影| 美女被强吻并脱下胸罩内裤视频| 少妇真人直播免费视频| 精品人妻少妇一区二区三区不卡 | 国产精品九九九久久九九| 粗一硬一长一进一爽一a视频| 国产精品一区二区三区卡| 欧美一区二区三区激情| 女女同性黄网在线观看| 在线观看中文字幕不卡二区| 国产成人精品无码片区在线观看| 精品无码人妻一区二区三区品| 欧美日韩性高爱潮视频| 亚洲最大不卡av网站| 真人抽搐一进一出视频| 人妻妺妺窝人体色www聚色窝| 成人国产精品免费网站| 亚洲成人一区二区av| 成人做受黄大片| 国产精品综合日韩精品第一页| 国产喷白浆精品一区二区豆腐| 久久亚洲道色综合久久| 国产一女三男3p免费视频| 99re6久精品国产首页| 久久一区二区av毛片国产| 女人被狂躁c到高潮视频| 中文字幕在线免费| 少妇又紧又色又爽又刺| 国产精品三级av一区二区|