0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于S3C2410微處理器和linux-2.6.18內(nèi)核實現(xiàn)家庭網(wǎng)絡WEB平臺設(shè)計

電子設(shè)計 ? 來源:微計算機信息 ? 作者:王忠勇;安永帥;宋 ? 2021-05-18 16:19 ? 次閱讀

作者:王忠勇;安永帥;宋豫全

1 概述

信息家電和下—代寬帶無線通信是IPv6的兩大主要應用領(lǐng)域,隨著互聯(lián)網(wǎng)快速發(fā)展和家庭寬帶的逐步普及,將家庭中的微計算機、信息家電以及消費電子設(shè)備等組成家庭網(wǎng)絡,已經(jīng)成為重要的消費熱點。IPv6技術(shù)在家庭網(wǎng)絡中具有獨特的優(yōu)勢??梢允辜彝?nèi)的冰箱、空調(diào)等家電都擁有—個獨立的全球IPv6地址;全面支持服務質(zhì)量保證(QoS),這對于數(shù)字娛樂和多媒體信息應用非常有益。因此,在家庭網(wǎng)絡中應用IPv6具有廣闊的前景。

網(wǎng)絡迅速發(fā)展給人們帶來巨大便利的同時,也帶來了嚴重的網(wǎng)絡安全問題。在家庭網(wǎng)絡中,安全問題同樣很突出。各種新技術(shù)在家庭中的廣泛應用一方面提高了信息家電的性能,另一方面也對簡化操作和管理提出了新的要求。這些都需要通過一個統(tǒng)一的家庭網(wǎng)絡WSB平臺進行設(shè)置和管理,并實現(xiàn)與客戶端的動態(tài)交互。

本文提出了一種基于IPv6的嵌入式家庭網(wǎng)絡WEB平臺解決方案,以高性能的32位ARM微處理器S3C2410為硬件平臺,通過移植新版本的嵌入式linux-2.6.18內(nèi)核,實現(xiàn)了家庭網(wǎng)絡的管理平臺功能。

2 家庭網(wǎng)絡系統(tǒng)結(jié)構(gòu)

本系統(tǒng)由客戶端、寬帶接入端口、家庭網(wǎng)絡HUB、家庭網(wǎng)關(guān)和家電控制器組成。如圖1所示:

圖1系統(tǒng)結(jié)構(gòu)示意圖

系統(tǒng)分為三個部分。

第一部分,是位于家庭網(wǎng)絡以外的客戶端,家庭網(wǎng)絡用戶和信息家電廠商的維護人員,通過Intenet訪問家庭網(wǎng)絡對外的統(tǒng)一平臺,即網(wǎng)關(guān)中內(nèi)嵌的WEB服務器。

第二部分,是網(wǎng)關(guān)和PC主機,網(wǎng)關(guān)既是家庭網(wǎng)絡內(nèi)部的各個家電控制器對外的統(tǒng)一接口,也負責統(tǒng)一控制和管理各個信息家電中家電控制器。一方面接收來自用戶通過Internet發(fā)送的控制信息,另一方面采集信息家電的狀態(tài),提供給用戶參考。

第三部分.是家電控制模塊,它連接家電的執(zhí)行機構(gòu),接收來自網(wǎng)關(guān)的控制命令,并對家電進行操作,同時根據(jù)網(wǎng)關(guān)的命令,采集家電的信息上傳。

3 硬件開發(fā)環(huán)境

嵌入式系統(tǒng)硬件平臺的選擇主要是嵌入式處理器的選擇,針對開發(fā)嵌入式網(wǎng)關(guān)的需要,并考慮系統(tǒng)外圍設(shè)備情況,本系統(tǒng)采用了內(nèi)嵌ARM920T內(nèi)核的三星S3C2410處理器,ARM920T是高性能、低功耗特性方面最佳的通用封裝微處理器,它采用5級流水線,具有指令和數(shù)據(jù)Cache,支持協(xié)處理器、片上調(diào)試和MMU等技術(shù)。此外,還包括一些嵌入式外圍設(shè)備,由存儲設(shè)備(一片E28F640構(gòu)成的8MB容量的16位NOR型Flash存儲器和兩片HY57V281620構(gòu)成的32MB容量的32位SDRAM存儲器)、接口設(shè)備(異步串口、以太網(wǎng)口和USB接口)、顯示設(shè)備(LCD及觸摸屏模塊),這些共同構(gòu)成了硬件開發(fā)環(huán)境。

4 軟件設(shè)計

與其他嵌入式操作系統(tǒng)相比,Linux具有開放源碼、內(nèi)核小、功能強大、運行穩(wěn)定、可移植性好等優(yōu)點,能充分發(fā)揮ARM920T內(nèi)核具有MMU(存儲單元管理)的強大功能,同時由于Linux的開源優(yōu)勢.Linux內(nèi)核對IPv6的支持比較全面,因此本系統(tǒng)選用Linux作為嵌入式操作系統(tǒng)。

4.1 Linux開發(fā)環(huán)境的建立

由于嵌入式系統(tǒng)的資源有限,嵌入式Linux的開發(fā)通常采用宿主機加目標板的方式,即需要一臺安裝Linux的PC機作為系統(tǒng)的編譯和調(diào)試環(huán)境。由于家庭網(wǎng)絡中的PC主機通常要使用Windows操作系統(tǒng),來滿足日常需要,因此,采用了虛擬化的方法來解決這個矛盾。

在PC主機上安裝虛擬機軟件VMware(版本5.0.0),VMware運行在主機的操作系統(tǒng)之上,它在Guest OS與Host OS之間加了一層虛擬操作平臺(VMware Virtual Platform),客戶操作系統(tǒng)透明地運行在虛擬操作平臺之上。然后在虛擬機上安裝RedHatLinux9.0,作為宿主機,來進行日標板所用到的操作系統(tǒng)的內(nèi)核裁剪、移植、編譯,應用程序的編譯、調(diào)試,以及將內(nèi)核和文件系統(tǒng)打包成映像(image)文件,然后就下載到目標板上去運行,雙方通過串El或以太網(wǎng)接口建立連接關(guān)系。

4.2 通過VMware管理

家庭網(wǎng)絡中的PC機上具有不同的兩種操作系統(tǒng),需要通過VMware Workstation對其進行管理,以解決二者不能相互訪問,傳送程序和文件的問題,并使Linux和Windows可以同時在互不影響的情況下,分別接入Internet。

第一步,在Linux中安裝VMware Tools,獲得對X windows界面和網(wǎng)絡等的強化支持。

第二步,設(shè)置VMWare為host-only方式.在options中的sharefolders設(shè)置共享目錄。把PC主機的網(wǎng)卡設(shè)為“允許共享”,并設(shè)定網(wǎng)絡接口為VMnetl,進入Linux,設(shè)定ethO為192.168.0.2,default gatewey為192.168.0.1。即可實現(xiàn)Linux和Windows分別獨立接入Intenet。

第三步,為實現(xiàn)Linux和Windows共享文件,采用smb (Server Message Block)服務的方式。在Linux中開啟samba服務器,并修改其配置文件/etc/smb.conf,在Windows中添加IPX/SPX和NETBEUI協(xié)議。

由上面的步驟可以看到,在不同的場合下,對虛擬機中的Linux配置是不同的。對于家庭網(wǎng)絡的用戶來說,這樣的配置難度過大,因此,本系統(tǒng)利用虛擬化的”clone”技術(shù),在VMware中對不同場合下的配置,分別進行“clone”.其名稱分別為“shareholders”、“Intenet”和“test”,如圖2所示,這樣,就可以方便地進行切換。

圖2 虛擬機的配置

4.3 內(nèi)核配置、協(xié)議棧優(yōu)化與服務器設(shè)置

考慮到嵌入式系統(tǒng)對穩(wěn)定可靠性的要求,選用目前較新版本的Linux 2.6.18內(nèi)核,它對IPv6協(xié)議棧、無線網(wǎng)卡以及Cisco的LEAP無線認證協(xié)議提供了更好的支持,而且已經(jīng)經(jīng)過一段時間的運行,比較穩(wěn)定。

在IPv6網(wǎng)絡中,由ICMPv6(Intemet Control Messages Protocol)協(xié)議實現(xiàn)的鄰居發(fā)現(xiàn)和IP地址的自動配置是IPv6協(xié)議在嵌入式應用中最實用的部分,其鄰居發(fā)現(xiàn)功能取代了IPv4協(xié)議中使用的ARP(Address Resolution Protocol)、ICMP路由器發(fā)現(xiàn)和重定向報文的功能,而自動配置則實現(xiàn)了設(shè)備接入網(wǎng)絡的“即插即用”,因此本嵌入式系統(tǒng)平臺根據(jù)實際需要重點對ICMPv6協(xié)議進行了優(yōu)化配置。

mini_httpd是嵌入式Linux下少數(shù)支持IPv6協(xié)議的輕量級WEB服務器,它內(nèi)核很小,非常適合板上資源有限、一般為單任務的家庭網(wǎng)絡WEB環(huán)境,因此本系統(tǒng)選用了mini_httpd-1.19作為嵌入式WEB服務器,將其下載到宿主機后解壓縮、制定交叉編譯器,然后編譯生成二進制可執(zhí)行文件。在網(wǎng)關(guān)的系統(tǒng)配置文件/usr/etc/rc.local中增加命令“mini_httpd/jffs2 cgi-bin/”使得在系統(tǒng)啟動時自動加‘載到網(wǎng)關(guān)flash存儲設(shè)備的JFFS2(Journalling Flash File System閃存日志型文件系統(tǒng)第二版)文件系統(tǒng)中。

為了配置和測試IPv6的網(wǎng)絡環(huán)境和協(xié)議,還需要安裝BusyBox。這是一個集成了一百多個常用標準Linux工具的單個可執(zhí)行實現(xiàn),由于使這些工具共享相同的元素,因此體積非常輕巧,而且可以在圖形工具下進行配置,被稱為Linux工具中的瑞士軍刀,其安裝配置與前述嵌入式服務器的過程類似,不再贅述。

4.4 編寫CGI程序進行認證和管理

目前Web技術(shù)中生成動態(tài)Web頁面的方法有CGI和服務器腳本,如JSP,ASP等,但后者需要Web服務器具有這些腳本的運行支持模塊。在嵌入式Web服務器中,考慮到資源限制問題,一般都只提供CGI (Common Gateway Interface)支持,因此在嵌入式設(shè)備中Web方式應用實際上就是基于CGI的程序開發(fā)。

CGI提供了客戶機與服務器交互的接口,服務器響應客戶端請求后執(zhí)行相應的CGI程序,并把執(zhí)行結(jié)果返回給客戶端,從而實現(xiàn)了基于WEB的動態(tài)交互。使用FORM方式作為輸入界面,用戶在FORM中輸入的信息經(jīng)過URL編碼處理后再送到CGI程序中,這就是CGI的關(guān)鍵所在。程序完成對輸入處理和結(jié)束工作后,把結(jié)果以信息流的方式傳給服務器,服務器負責把要反饋的信息流以HTTP的形式封裝起來,轉(zhuǎn)換到客戶端的瀏覽器上。

CGI程序分為以下幾部分:①用戶在客戶端的瀏覽器上訪問網(wǎng)關(guān),載入用戶界面,并在FORM中輸入ID和口令,采用get方法提交;②服務器響應請求,分析瀏覽器請求的資源,發(fā)現(xiàn)是一個CGI程序,于是引導到指定位置的CGI程序;③URL編碼的解碼,程序從環(huán)境變量“QUERY_STRING(path&info)中提取信息”;④用printf()函數(shù)來產(chǎn)生HTML源代碼,并將經(jīng)過解碼后的數(shù)據(jù)正確地返回給瀏覽器。

5 IPv6家庭網(wǎng)絡的組網(wǎng)及測試

在家庭網(wǎng)絡中的配置主要包括PC主機和網(wǎng)關(guān)兩部分的配置。

PC主機安裝家庭用戶常用的Windows XP操作系統(tǒng),在DOS方式下使用命令“ipv6 install”安裝IPv6協(xié)議棧,然后通過命令“ipconfig /all”查看,可以發(fā)現(xiàn)在本地連接下面,除IPv4地址外,又增加了一個IP地址“fe80::20c:76ff:fe67:5832%5”,表示該網(wǎng)卡在操作系統(tǒng)中的接口索引是5,于是通過以下命令.為PC主機和網(wǎng)關(guān)分別指定在本地鏈接IPv6地址,即“ipv6 adu 5/ 3ffe::1”等,然后在網(wǎng)關(guān)的CGI控制程序中分別為各個家電控制器依次分配地址。

最后要注意的是目前IE瀏覽器尚不支持IPv6訪問,需要通過Firefox瀏覽器進行訪問。

圖3家庭網(wǎng)絡登錄界面

6 小結(jié)

本文設(shè)計了一個基于IPv6的嵌入式WEB平臺,并從虛擬化管理方面針對家庭網(wǎng)絡的情況進行了優(yōu)化,具有一定的實用價值。該系統(tǒng)還存在一些值得改進和進一步努力的地方,如屬于網(wǎng)關(guān)的顯示模塊的引入、和控制總線的融合等,這些技術(shù)的實現(xiàn)會進一步推進IPv6在家庭網(wǎng)絡中的應用。

本文作者創(chuàng)新點:設(shè)計了基于IPv6和Linux-2.6.8內(nèi)核的家庭網(wǎng)絡嵌入式WEB平臺,并從虛擬化管理等方面簡化了管理和使用。

責任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5083

    文章

    19131

    瀏覽量

    305549
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11310

    瀏覽量

    209625
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2263

    瀏覽量

    82485
收藏 人收藏

    評論

    相關(guān)推薦

    基于嵌入式LinuxS3C2410平臺的視頻采集

    基于嵌入式LinuxS3C2410平臺的視頻采集首先簡介基于嵌入Linux系統(tǒng)的S3C2410平臺
    發(fā)表于 03-28 12:51

    S3C2410處理器

    S3C2410處理器通過GPD端口連接LED1-4四個燈,試著畫出其電路連接圖,并變成實現(xiàn)其逐一點亮功能。
    發(fā)表于 11-23 21:50

    s3c2410中文手冊第3章下載

    s3c2410中文手冊第3章ARM微處理器的指令系統(tǒng)介紹。
    發(fā)表于 08-04 12:36 ?8次下載

    基于S3C2410Linux移植代碼

    基于S3C2410Linux移植代碼
    發(fā)表于 03-28 09:50 ?32次下載

    基于嵌入式LinuxS3C2410平臺的視頻采集

    首先簡介基于嵌入式Linux 系統(tǒng)的S3C2410 平臺和在平臺上進行開發(fā)所需的軟件環(huán)境,接著詳細論述在該平臺上如何
    發(fā)表于 04-15 09:22 ?20次下載

    基于S3C2410的井下WiFi便攜終端的設(shè)計

    設(shè)計了基于WiFi技術(shù)的煤礦井下信息設(shè)備終端,利用WiFi無線局域網(wǎng)技術(shù)和VoIP語音處理技術(shù),通過采用嵌入式微處理器S3C2410Linux操作系統(tǒng)作為軟件
    發(fā)表于 08-04 08:36 ?40次下載

    Linux實時操作系統(tǒng)在s3c2410的移植

             本文描述了linux實時操作系統(tǒng)移植到arm處理器的方法和嵌入式linux實時操作系統(tǒng)的結(jié)構(gòu)特征,論述了利用交叉編譯環(huán)境,進行基于
    發(fā)表于 09-11 08:27 ?34次下載

    基于S3C2410的RTC模塊應用設(shè)計

    基于S3C2410的RTC模塊應用設(shè)計 摘 要:本文簡要介紹了S3C2410嵌入式微處理器,分析了RTC(Real-time clock)硬件構(gòu)架及其工作
    發(fā)表于 04-08 23:13 ?1610次閱讀
    基于<b class='flag-5'>S3C2410</b>的RTC模塊應用設(shè)計

    基于ARM芯片S3C2410的TFT-LCD驅(qū)動方法

    基于ARM芯片S3C2410的TFT-LCD驅(qū)動方法 S3C2410是三星公司生產(chǎn)的基于ARM920T內(nèi)核的RISC微處理器,主頻率可達203MHz,適用于信息家電、Smart Ph
    發(fā)表于 10-17 08:54 ?1751次閱讀
    基于ARM芯片<b class='flag-5'>S3C2410</b>的TFT-LCD驅(qū)動方法

    ARM9微處理器S3C2410的IP電話通信設(shè)計

    ARM9微處理器S3C2410的IP電話通信設(shè)計 0  概述IP電話以其通話費率低、方便集成和智能化等優(yōu)勢而得到了眾多消費者的極大認可,并因此而對
    發(fā)表于 03-31 10:17 ?1368次閱讀
    ARM9<b class='flag-5'>微處理器</b><b class='flag-5'>S3C2410</b>的IP電話通信設(shè)計

    基于S3C2410Linux的智能家居系統(tǒng)的設(shè)計

    提出一種基于S3C2410Linux的智能家居系統(tǒng)的設(shè)計,該系統(tǒng)通過ARM9微處理器和各種傳感模塊實現(xiàn)溫濕度的采集顯示和控制、入侵防盜檢
    發(fā)表于 09-03 17:26 ?138次下載

    基于S3C2410和Windows CEnet的智能移動終端設(shè)計

    本文介紹 S3C2410 微處理器的性能以及 Windows CE. net 作為嵌入式操作系統(tǒng)的開發(fā)流程 。闡述基于 S3C2410芯片和 Windows CE. net 操作平臺設(shè)
    發(fā)表于 04-18 10:46 ?0次下載

    基于微處理器S3C2410Linux系統(tǒng)構(gòu)建

    ,windows-CE,PalmOS,Linux等。在眾多的嵌入式操作系統(tǒng)中,Linux以其開源代 碼及免費使用倍受開發(fā)人員的喜愛。本文選用的微處理器S3C2410是基于32位ARM9
    發(fā)表于 10-18 16:07 ?3次下載

    基于Linux操作系統(tǒng)和S3C2410微處理器實現(xiàn)GPS實時導航系統(tǒng)的設(shè)計

    這里提出一種實用的設(shè)計方案,通過對系統(tǒng)的各方面配置,實現(xiàn)GPS實時導航功能。系統(tǒng)主控器件采用韓國Samsung公司生產(chǎn)的ARM核32位RISC微處理器S3C2410,并在由其組成的開發(fā)板上移植
    發(fā)表于 03-09 10:47 ?1086次閱讀
    基于<b class='flag-5'>Linux</b>操作系統(tǒng)和<b class='flag-5'>S3C2410</b><b class='flag-5'>微處理器</b><b class='flag-5'>實現(xiàn)</b>GPS實時導航系統(tǒng)的設(shè)計

    基于S3C2410微處理器Linux實現(xiàn)嵌入式網(wǎng)關(guān)的設(shè)計

    介紹了一種基于ARM9的嵌入式以太網(wǎng)的設(shè)計方案?;贏RM內(nèi)核微處理器S3C2410的功能特點及其外擴組成部分,分析了以太網(wǎng)控制芯片RTL8019AS的性能以及與
    的頭像 發(fā)表于 06-22 14:28 ?2636次閱讀
    基于<b class='flag-5'>S3C2410</b><b class='flag-5'>微處理器</b>和<b class='flag-5'>Linux</b><b class='flag-5'>實現(xiàn)</b>嵌入式網(wǎng)關(guān)的設(shè)計