999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android平臺雙以太網接口設計與實現

2017-09-09 12:57:01張建民高大利
軟件導刊 2017年8期
關鍵詞:按鈕設置

張建民+高大利

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

關鍵詞:Android;雙以太網;接口設計;地址設置

DOIDOI:10.11907/rjdk.172175

中圖分類號:TP319

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

0 引言

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

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

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

1.1 有線通信終端硬件平臺

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

1.2 有線通信終端軟件平臺

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

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

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

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

2 Android平臺雙以太網IP地址設置軟件實現

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

2.1 以太網接口電源控制

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

2.2 靜態IP地址設置

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

靜態IP地址設置的實現步驟如下:

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

(2)單擊“保存”按鈕后,用戶界面中的設置參數被自動轉化為命令腳本,保存在/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示例文件內容如下:

#! /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)執行/sdcard/ethset.sh命令腳本文件,設置指定以太網接口的靜態IP地址、子網掩碼、默認網關、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)

以上代碼用于執行/sdcard/ethset.sh命令腳本,并設置以太網接口的靜態IP地址。

2.3 IP地址自動獲取

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

自動獲取IP 地址的實現步驟如下:

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

(2)單擊“保存”按鈕后,設置參數被自動轉化為命令腳本,保存在/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示例文件內容如下:

#! /system/bin/sh

netcfg eth0 up dhcp

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

3 功能測試

將有線通信終端和宿主機通過RJ45雙絞線接入路由器,用USB調試線連接有線通信終端和宿主機。在宿主機上通過adb程序將編譯好的以太網IP地址設置軟件安裝到有線通信終端,運行程序后,設置有線通信終端以太網1、以太網2和宿主機的靜態IP地址,使它們在同一個網段。以太網1的IP地址為192.168.0.10,以太網2的IP地址為192.168.0.20,宿主機的IP地址為192.168.0.1,子網掩碼均為255.255.255.0。在宿主機上通過ping命令進行測試,宿主機和有線通信終端以太網1、以太網2之間均能相互通信,無丟包現象。endprint

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

4 結語

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

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

參考文獻:

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

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

[3] 王燁.多媒體技術環境下嵌入式網絡視頻監控系統研究[J].計算機測量與控制,2017, 25(4): 91-95.

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

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

[6] 程傳旭,關娜.基于安卓系統的船聯網信息終端的設計[J]. 艦船科學技術,2017,39(10): 146-148.

[7] 申鴻燁,于維海. Android網絡學習平臺安全架構的相關研究[J]. 網絡安全技術與應用,2017(5): 114-115.endprint

猜你喜歡
按鈕設置
這些按鈕能隨便按嗎?
哪個是門鈴真正的按鈕
當你面前有個按鈕
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
7招教你手動設置參數
死循環
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
艦船人員編制的設置與控制
主站蜘蛛池模板: 免费看av在线网站网址| 国产99久久亚洲综合精品西瓜tv| 一级做a爰片久久免费| 大香网伊人久久综合网2020| 高清视频一区| 中文字幕va| 一区二区三区在线不卡免费| a国产精品| 免费啪啪网址| 国产99视频在线| 在线观看亚洲精品福利片 | 五月天丁香婷婷综合久久| 黑色丝袜高跟国产在线91| 国产精品福利导航| 不卡无码h在线观看| 极品国产一区二区三区| 日本亚洲国产一区二区三区| 老色鬼久久亚洲AV综合| 国产交换配偶在线视频| 无码一区二区三区视频在线播放| 国产成人综合欧美精品久久| 三上悠亚在线精品二区| 免费国产黄线在线观看| 亚洲成a人片7777| 久热99这里只有精品视频6| 九九久久99精品| www.狠狠| 欧美精品v日韩精品v国产精品| 就去吻亚洲精品国产欧美| 亚洲天堂视频网站| 99视频精品全国免费品| 91青青视频| 久久亚洲国产视频| 亚洲开心婷婷中文字幕| 精品乱码久久久久久久| 国产网站免费| 在线日韩日本国产亚洲| 国产精品久久久久鬼色| 五月激情婷婷综合| 国产视频资源在线观看| 国产幂在线无码精品| 国产一级妓女av网站| 91精品伊人久久大香线蕉| 日韩二区三区| 欧美日韩北条麻妃一区二区| 日本一区二区三区精品视频| 激情综合五月网| 亚洲精品无码AⅤ片青青在线观看| 国产最新无码专区在线| 国产网站免费观看| 真人免费一级毛片一区二区| av在线人妻熟妇| 一级香蕉视频在线观看| 六月婷婷激情综合| 好久久免费视频高清| 97国产在线观看| 中文成人在线视频| 色婷婷亚洲十月十月色天| 丰满的少妇人妻无码区| 国产成人精品一区二区秒拍1o| 日韩成人午夜| 天天摸天天操免费播放小视频| 一区二区午夜| 伊人色天堂| 亚洲人成网站在线观看播放不卡| 午夜激情婷婷| 国产在线精品网址你懂的| 99久久国产综合精品2020| 欧类av怡春院| 亚洲一区无码在线| 国产经典免费播放视频| 欧美特黄一级大黄录像| 91国内在线视频| 亚洲AV无码乱码在线观看代蜜桃 | 手机看片1024久久精品你懂的| 国产91丝袜在线播放动漫| 精品1区2区3区| 精品少妇人妻无码久久| 午夜国产小视频| 久久久久国产精品熟女影院| www.精品国产| 国产午夜不卡|