• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Android平臺雙以太網(wǎng)接口設(shè)計與實現(xiàn)

      2017-09-09 12:57:01張建民高大利
      軟件導(dǎo)刊 2017年8期
      關(guān)鍵詞:宿主機有線IP地址

      張建民+高大利

      摘 要:隨著嵌入式技術(shù)的飛速發(fā)展,移動設(shè)備融合了PC的以太網(wǎng)等功能。介紹了有線通信終端的軟硬件平臺,使用USB2.0 HUB和USB轉(zhuǎn)以太網(wǎng)芯片,在嵌入式硬件平臺上設(shè)計了雙以太網(wǎng)接口,然后使用Eclipse集成開發(fā)工具,采用Java語言編程實現(xiàn)了雙以太網(wǎng)IP地址設(shè)置軟件,并通過功能測試驗證了雙以太網(wǎng)的接口功能。該方法能夠較好地解決嵌入式硬件平臺多以太網(wǎng)接口的設(shè)計問題,而且為Android平臺多以太網(wǎng)接口的IP地址設(shè)置提供了有效的擴展方法。

      關(guān)鍵詞:Android;雙以太網(wǎng);接口設(shè)計;地址設(shè)置

      DOIDOI:10.11907/rjdk.172175

      中圖分類號:TP319

      文獻標識碼:A 文章編號文章編號:1672-7800(2017)008-0097-03

      0 引言

      Android是一種基于Linux的開源操作系統(tǒng)[1],由Google公司開發(fā)。Android系統(tǒng)主要應(yīng)用于移動設(shè)備,如智能手機和平板電腦等。隨著嵌入式技術(shù)的飛速發(fā)展,移動設(shè)備融合了PC的諸多特性[2-4],如支持以太網(wǎng)等功能。由于原生的Android系統(tǒng)不支持以太網(wǎng)等功能,這就要求對Android系統(tǒng)進行定制開發(fā),以實現(xiàn)特定功能。

      對安全保密性要求較高的行業(yè),大多采用以太網(wǎng)接口進行有線通信。本文以有線通信終端為例,介紹了有線通信終端的軟硬件平臺,在嵌入式硬件平臺上設(shè)計了雙以太網(wǎng)接口,并在Ubuntu12.04宿主機上,使用Eclipse集成開發(fā)工具,采用Java語言編程實現(xiàn)了雙以太網(wǎng)IP地址設(shè)置軟件。

      1 有線通信終端軟硬件平臺

      1.1 有線通信終端硬件平臺

      有線通信終端硬件平臺由三星Exynos 4412四核ARM處理器、1GB DDR3內(nèi)存、4GB eMMC閃存、USB/OTG、液晶屏、觸摸屏、攝像頭、電源管理芯片、音頻芯片等部分組成。USB2.0 HUB芯片USB3503通過HSIC總線與Exynos 4412處理器相連,可擴展3個USB2.0接口,通過擴展的USB2.0接口連接2個USB轉(zhuǎn)以太網(wǎng)芯片DM9621,可對外提供2個10/100M自適應(yīng)的以太網(wǎng)接口。有線通信終端的硬件平臺如圖1所示。

      1.2 有線通信終端軟件平臺

      有線通信終端軟件平臺采用Android4.4系統(tǒng),由Linux 內(nèi)核、Android運行時和庫、應(yīng)用程序框架、應(yīng)用程序4個層次組成[5-7]。Linux內(nèi)核包括顯示驅(qū)動、攝像頭驅(qū)動、觸摸屏驅(qū)動、音頻驅(qū)動、USB驅(qū)動、電源管理等;Android運行時和庫包括界面管理器、媒體框架、SQLite、WebKit、libc、核心庫、Dalvik虛擬機等;應(yīng)用程序框架包括活動管理器、窗口管理器、內(nèi)容提供者、通知管理器、位置管理器等;應(yīng)用程序包括主程序、聯(lián)系人、電話、瀏覽器、小部件等。有線通信終端軟件平臺如圖2所示。

      有線通信終端的Linux內(nèi)核中,已適配了USB2.0 HUB芯片USB3503與USB轉(zhuǎn)以太網(wǎng)芯片DM9621的驅(qū)動,在Linux shell環(huán)境下通過ifconfig命令可對以太網(wǎng)接口的IP地址進行設(shè)置,使用ping命令可測試雙以太網(wǎng)接口功能是否正常。但對于大部分終端使用者而言,不會使用命令來設(shè)置以太網(wǎng)接口的IP地址。因此,通過友好的界面設(shè)置以太網(wǎng)接口IP地址是十分必要的。

      Android平臺雙以太網(wǎng)IP地址設(shè)置軟件的設(shè)計思路是:①界面設(shè)計采用Windows平臺以太網(wǎng)設(shè)置的傳統(tǒng)風(fēng)格,為用戶提供直觀友好的操作界面;②將用戶界面中的設(shè)置參數(shù)自動轉(zhuǎn)化成命令腳本來設(shè)置以太網(wǎng)接口IP地址;③對于多個以太網(wǎng)接口,只需增加標簽選項卡,復(fù)用代碼即可實現(xiàn)多個以太網(wǎng)接口IP地址設(shè)置軟件的開發(fā),具有較好的擴展性。

      該軟件在Ubuntu12.04的宿主機上進行開發(fā),需要安裝Java 語言軟件開發(fā)工具包(Java Development Kit,JDK的版本為1.6)、Android SDK(Software Development Kit)以及Eclipse ADT插件和編譯環(huán)境所需的軟件包。JDK是Java的核心,包含了Java運行環(huán)境(Java Runtime Environment)、Java工具和Java類庫。Android SDK提供了使用Java 語言開發(fā) Android 應(yīng)用程序的 API接口和工具,以便開發(fā)者便捷地開發(fā)應(yīng)用程序。Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺,可以通過在Eclipse中添加ADT(Android Development Tools,安卓開發(fā)工具)來搭建安卓應(yīng)用程序開發(fā)和調(diào)試環(huán)境。

      2 Android平臺雙以太網(wǎng)IP地址設(shè)置軟件實現(xiàn)

      Android平臺雙以太網(wǎng)IP地址設(shè)置軟件采用Java語言編程實現(xiàn),該軟件由以太網(wǎng)接口電源控制、靜態(tài)IP地址設(shè)置、自動獲取IP地址等部分組成。每部分的設(shè)計與實現(xiàn)簡述如下:

      2.1 以太網(wǎng)接口電源控制

      以太網(wǎng)接口供電通過Exynos 4412處理器的GPIO進行控制,若以太網(wǎng)接口供電未打開,以太網(wǎng)IP地址設(shè)置軟件會提示“請先開啟以太網(wǎng)!”。單擊“開啟”按鈕后,Exynos 4412處理器的控電GPIO輸出高電平,連通供電開關(guān),給以太網(wǎng)接口供電;以太網(wǎng)接口供電打開后,“開啟”按鈕的標題變?yōu)椤瓣P(guān)閉”,單擊“關(guān)閉”按鈕后,Exynos 4412處理器的控電GPIO輸出低電平,切斷以太網(wǎng)接口的供電;單擊“以太網(wǎng)1”、“以太網(wǎng)2”標簽選項卡可對兩個以太網(wǎng)接口進行設(shè)置,以太網(wǎng)接口電源控制界面如圖3所示。

      2.2 靜態(tài)IP地址設(shè)置

      以太網(wǎng)接口供電打開后,單擊“以太網(wǎng)1”或“以太網(wǎng)2” 標簽選項卡選擇不同的以太網(wǎng)接口,單擊“使用下面的IP地址”單選按鈕可對以太網(wǎng)接口的靜態(tài)IP地址進行設(shè)置,例如:可將以太網(wǎng)2的IP地址設(shè)置為:192.168.0.20,子網(wǎng)掩碼:255.255.255.0,默認網(wǎng)關(guān):192.168.0.1,DNS1地址:101.226.4.6,DNS2地址:218.85.152.99。靜態(tài)IP地址設(shè)置界面如圖4所示。endprint

      靜態(tài)IP地址設(shè)置的實現(xiàn)步驟如下:

      (1)靜態(tài)IP地址設(shè)置界面由標簽選項卡、單選按鈕、文本框、標簽和按鈕組成,單擊“使用下面的IP地址”單選按鈕,在文本框中輸入靜態(tài)IP地址的相關(guān)參數(shù)。

      (2)單擊“保存”按鈕后,用戶界面中的設(shè)置參數(shù)被自動轉(zhuǎn)化為命令腳本,保存在/sdcard/ethset.sh文件中,主要代碼如下:

      static public String sh_title="#! /system/bin/sh";

      static public void ethstaticip(Context i_context,int i_ethtype,String i_addr,String netmask,String i_gw,String i_dns1,String i_dns2)

      { String sendmsg=sh_title+"\\n"

      +"busybox ifconfig "+getethstr(i_ethtype)+" "+i_addr+" netmask "+i_netmask+" up \\n"

      +"busybox route add default gw "+i_gw+" "+getethstr(i_ethtype)+"\\n"

      +"setprop net.dns1 "+i_dns1+"\\n"

      +"setprop net.dns2 "+i_dns2+"\\n";

      writefile(i_context,sendmsg);

      }

      以上代碼用于生成命令腳本,/sdcard/ethset.sh示例文件內(nèi)容如下:

      #! /system/bin/sh

      busybox ifconfig eth1 192.168.0.20 netmask 255.255.255.0 up

      busybox route add default gw 192.168.0.1 eth1

      setprop net.dns1 101.226.4.6

      setprop net.dns2 218.85.152.99

      (3)執(zhí)行/sdcard/ethset.sh命令腳本文件,設(shè)置指定以太網(wǎng)接口的靜態(tài)IP地址、子網(wǎng)掩碼、默認網(wǎng)關(guān)、DNS1、DNS2,主要代碼如下:

      public class CommandExecution {

      public static final String TAG = "CommandExecution";

      public static CommandResult execCommand(String command, boolean isRoot) {

      String[] commands = {command};

      return execCommand(commands, isRoot); }

      }

      CommandExecution.execCommand(“/sdcard/ethset.sh”, true)

      以上代碼用于執(zhí)行/sdcard/ethset.sh命令腳本,并設(shè)置以太網(wǎng)接口的靜態(tài)IP地址。

      2.3 IP地址自動獲取

      以太網(wǎng)接口供電打開后,單擊“以太網(wǎng)1”或“以太網(wǎng)2”標簽選項卡,選擇不同的以太網(wǎng)接口,單擊“自動獲取IP地址”單選按鈕可從DHCP服務(wù)器獲取IP 地址等參數(shù)。例如,以太網(wǎng)1設(shè)置為“自動獲取IP 地址”方式,從DHCP服務(wù)器獲取IP地址等參數(shù)。自動獲取IP 地址界面如圖5所示。

      自動獲取IP 地址的實現(xiàn)步驟如下:

      (1)自動獲取IP 地址界面由標簽選項卡、單選按鈕和按鈕組成,點擊“自動獲取IP 地址”單選按鈕。

      (2)單擊“保存”按鈕后,設(shè)置參數(shù)被自動轉(zhuǎn)化為命令腳本,保存在/sdcard/ethset.sh文件中,主要代碼如下:

      static public String sh_title="#! /system/bin/sh";

      static public void ethauto(Context i_context,int i_ethtype)

      {

      String sendmsg=sh_title+"\\n"

      +"netcfg "+getethstr(i_ethtype)+" up dhcp \\n"; writefile(i_context,sendmsg);

      }

      以上代碼用于生成命令腳本,/sdcard/ethset.sh示例文件內(nèi)容如下:

      #! /system/bin/sh

      netcfg eth0 up dhcp

      (3)執(zhí)行/sdcard/ethset.sh命令腳本文件,從DHCP服務(wù)器獲取IP地址等參數(shù),主要代碼同靜態(tài)IP地址設(shè)置的代碼相同。

      3 功能測試

      將有線通信終端和宿主機通過RJ45雙絞線接入路由器,用USB調(diào)試線連接有線通信終端和宿主機。在宿主機上通過adb程序?qū)⒕幾g好的以太網(wǎng)IP地址設(shè)置軟件安裝到有線通信終端,運行程序后,設(shè)置有線通信終端以太網(wǎng)1、以太網(wǎng)2和宿主機的靜態(tài)IP地址,使它們在同一個網(wǎng)段。以太網(wǎng)1的IP地址為192.168.0.10,以太網(wǎng)2的IP地址為192.168.0.20,宿主機的IP地址為192.168.0.1,子網(wǎng)掩碼均為255.255.255.0。在宿主機上通過ping命令進行測試,宿主機和有線通信終端以太網(wǎng)1、以太網(wǎng)2之間均能相互通信,無丟包現(xiàn)象。endprint

      將有線通信終端以太網(wǎng)1、以太網(wǎng)2和宿主機均設(shè)置為“自動獲取IP地址”方式,從路由器自動獲取IP地址,在Linux shell環(huán)境下通過ifconfig命令可查看到以太網(wǎng)1的IP地址為192.168.0.116,以太網(wǎng)2的IP地址為192.168.0.113,宿主機的IP地址為192.168.0.112,子網(wǎng)掩碼均為255.255.255.0。在宿主機上通過ping命令進行測試,宿主機和有線通信終端以太網(wǎng)1、以太網(wǎng)2之間均能相互通信,無丟包現(xiàn)象。

      4 結(jié)語

      本文對有線通信終端的軟硬件平臺進行了介紹,在三星Exynos 4412硬件平臺上采用USB2.0 HUB芯片USB3503擴展了USB2.0接口,通過USB轉(zhuǎn)以太網(wǎng)芯片DM9621實現(xiàn)了以太網(wǎng)功能,并在Android4.4平臺上采用Java語言編程實現(xiàn)了雙以太網(wǎng)IP地址設(shè)置軟件。經(jīng)過大量測試,采用靜態(tài)IP地址或自動獲取IP地址方式,宿主機和有線通信終端以太網(wǎng)1、以太網(wǎng)2之間均能相互通信,無丟包現(xiàn)象。

      本文采用的方法簡單易行、高效快速,能夠較好地解決嵌入式硬件平臺多以太網(wǎng)接口的設(shè)計問題,為Android平臺多以太網(wǎng)接口的IP地址設(shè)置提供了有效的擴展方法。在以后的工作中,可根據(jù)實際需要設(shè)計兩個以上的以太網(wǎng)接口,并進一步測試多以太網(wǎng)接口的可靠性和穩(wěn)定性。

      參考文獻:

      [1] 文波,周淵平.基于Android的MT8880芯片的設(shè)計與實現(xiàn)[J].微型機與應(yīng)用,2016,35(21): 88-92.

      [2] 杜奇才,鄧誠剛,劉熒,等.基于Android平臺的VoIP設(shè)計實現(xiàn)[J].微處理機,2017(2):41-45.

      [3] 王燁.多媒體技術(shù)環(huán)境下嵌入式網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究[J].計算機測量與控制,2017, 25(4): 91-95.

      [4] 閻旭鵬.嵌入式計算機技術(shù)及其應(yīng)用的探討[J].信息與電腦:理論版,2016(17): 73-74.

      [5] 陸少鵬,周淵平.基于Android的通訊錄實時同步功能[J].計算機系統(tǒng)應(yīng)用,2017(5): 257-261.

      [6] 程傳旭,關(guān)娜.基于安卓系統(tǒng)的船聯(lián)網(wǎng)信息終端的設(shè)計[J]. 艦船科學(xué)技術(shù),2017,39(10): 146-148.

      [7] 申鴻燁,于維海. Android網(wǎng)絡(luò)學(xué)習(xí)平臺安全架構(gòu)的相關(guān)研究[J]. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017(5): 114-115.endprint

      猜你喜歡
      宿主機有線IP地址
      鐵路遠動系統(tǒng)幾種組網(wǎng)方式IP地址的申請和設(shè)置
      通信工程中有線傳輸技術(shù)的改進分析
      虛擬網(wǎng)絡(luò)實驗室在農(nóng)村職校計算機網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用研究
      嵌入式計算機軟件測試關(guān)鍵技術(shù)的思考
      東方有線點播排行榜
      電影故事(2017年10期)2017-07-18 11:39:14
      基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用
      黑龍江電力(2017年1期)2017-05-17 04:25:16
      通信工程中有線傳輸技術(shù)的改進研究
      有線數(shù)字電視網(wǎng)絡(luò)雙向化改造
      嵌入式計算機軟件測試關(guān)鍵技術(shù)研究
      在不連接網(wǎng)線的情況下Windows與VM之間如何ping通
      泌阳县| 吉安县| 海阳市| 五寨县| 双峰县| 德惠市| 义乌市| 哈尔滨市| 望谟县| 潼关县| 涡阳县| 石阡县| 麻江县| 龙井市| 广汉市| 旅游| 卢湾区| 安龙县| 黎川县| 黑水县| 西昌市| 图木舒克市| 武川县| 健康| 临西县| 浦东新区| 彩票| 莆田市| 旅游| 临安市| 昌乐县| 玉山县| 新郑市| 老河口市| 东方市| 宜宾市| 石柱| 长宁县| 施秉县| 泸水县| 收藏|