www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于Android的GPRS的車載通信終端設(shè)計(jì)方案

摘 要:隨著車聯(lián)網(wǎng)技術(shù)的不斷發(fā)展和應(yīng)用,GPRS日臻普及和嵌入式系統(tǒng)的崛起,車輛網(wǎng)通信終端變得越來(lái)越智能化。

  采用Android操作系統(tǒng)和MD231GPRS模塊,以S3C6410嵌入式處理器為核心,設(shè)計(jì)了一個(gè)基于車輛故障參數(shù)的GPRS遠(yuǎn)程傳輸?shù)耐ㄐ沤K端,能實(shí)現(xiàn)數(shù)據(jù)的處理、遠(yuǎn)程傳輸。通過(guò)通信終端能對(duì)車輛狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控,出現(xiàn)故障時(shí),可以根據(jù)故障數(shù)據(jù)進(jìn)行準(zhǔn)確的修理,減少車輛的拋錨時(shí)間。

  關(guān)鍵詞:Android;GPRS;ARM;通信終端

  0 引 言

  隨著通信技術(shù)的發(fā)展,通信終端由單一的通話工具變成信息綜合處理平臺(tái),成為辦公、野外作業(yè)重要工具。

  隨著半導(dǎo)體制作工藝的發(fā)展和芯片設(shè)計(jì)水平的進(jìn)步,微處理器的性能大幅度地提高,ARM(Advanced RISCMachines)以其體積小、低功耗、低成本、高性能的特點(diǎn)逐漸在工業(yè)、無(wú)線通信、網(wǎng)絡(luò)消費(fèi)電子等領(lǐng)域占據(jù)主流。

  其中,在無(wú)線通信領(lǐng)域85%的無(wú)線通信設(shè)備采用了ARM 技術(shù)。另外,Android是Google于2007年11月5日宣布的基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng),它開(kāi)放性好,功能擴(kuò)展性強(qiáng),并可集成Google應(yīng)用。

  車輛故障遠(yuǎn)程監(jiān)控是一個(gè)實(shí)時(shí)的過(guò)程,當(dāng)有故障數(shù)據(jù)出現(xiàn)就通過(guò)GPRS發(fā)送到監(jiān)控中心,同時(shí)監(jiān)控中心給終端發(fā)送相應(yīng)的執(zhí)行命令,減少汽車拋錨時(shí)間。本文中使用了訊研通信息技術(shù)有限公司的MD231GPRS模塊和三星公司的S3C6410芯片。

  1 系統(tǒng)總體設(shè)計(jì)

  終端由ARM11?1 e衂芯片模塊通過(guò)串口線控制GPRS模塊的數(shù)據(jù)收發(fā),連接到移動(dòng)公司的GPRS網(wǎng)絡(luò),再連接到遠(yuǎn)程的計(jì)算機(jī)監(jiān)控中心,從而實(shí)現(xiàn)遠(yuǎn)程的數(shù)據(jù)傳輸功能。

  系統(tǒng)總體設(shè)計(jì)包括硬件設(shè)計(jì)和軟件設(shè)計(jì)。硬件部分包括處理器的選型、Android內(nèi)核移植等等,主要是為軟件部分搭建環(huán)境。軟件部分基于Java環(huán)境在Eclipse下編程,完成GPRS的數(shù)據(jù)傳輸功能。系統(tǒng)的總體設(shè)計(jì)流程如圖1所示。

  圖1 總體設(shè)計(jì)流程

  2 系統(tǒng)硬件設(shè)計(jì)

  2.1 系統(tǒng)硬件結(jié)構(gòu)

  本終端硬件由GPRS模塊和ARM11芯片處理模塊組成。由于Android系統(tǒng)對(duì)硬件的要求及經(jīng)濟(jì)考慮,處理器選擇為ARM11,內(nèi)核版本選擇為Android-Kernel-2.6.36,Android操作系統(tǒng)版本為Android-2.3.

  ARM11芯片模塊主要由S3C6410A 處理器、256MDDR RAM 內(nèi)存、1GB NAND FLASH 存儲(chǔ)器、串口、7寸LCD顯示器組成,NAND FLASH存儲(chǔ)器用于存放已調(diào)試好的應(yīng)用程序和嵌入式Android操作系統(tǒng),串口用于調(diào)試系統(tǒng)及與終端設(shè)備進(jìn)行通信,7寸LCD液晶顯示屏用于顯示系統(tǒng)信息和相關(guān)的狀態(tài)。目前,GPRS技術(shù)比較成熟,GPRS模塊選擇實(shí)惠型MD321模塊。

  GRPS模塊外圍有電源、天線和串口線,其中,串口線用于與ARM11處理器進(jìn)行通信,能完成數(shù)據(jù)傳輸、短信收發(fā)、語(yǔ)音等系統(tǒng)框圖如圖2所示[1].

  圖2 系統(tǒng)硬件結(jié)構(gòu)框圖

  2.2 Android操作系統(tǒng)移植

  有了ARM11的硬件,就可以進(jìn)行Android操作系統(tǒng)的移植。Android基于Linux內(nèi)核,Google提供的內(nèi)核源代碼中除了Linux部分外,有很大一部分是與虛擬處理器Qemu和模擬硬件平臺(tái)Goldfish相關(guān)。所以欲將Android移植到實(shí)際的硬件平臺(tái)上,需要編譯出一個(gè)適合目標(biāo)平臺(tái)運(yùn)行的系統(tǒng)內(nèi)核。

  在這里,電腦虛擬機(jī)上安裝的是Ubuntu系統(tǒng),用于Uboot移植和Android 內(nèi)核裁剪和編譯,并在Ubuntu 上安裝交叉編譯器arm-none-linuxgnueabi-gcc.

  2.2.1 Uboot移植

  下載U-boot源碼,在解壓文件夾里,刪除與該硬件版本無(wú)關(guān)的文件。在board目錄下建立Mini6410文件夾,把smdk6400目錄下的所有文件都拷貝到Mini6410目錄下,并建立自己的配置文件Mini6410.h,配置MakeFile文件;修改start.S文件、添加nand.c文件和修改Mini6410.h,使其支持從NAND FLASH 啟動(dòng);在Mini6410.h里,對(duì)網(wǎng)卡DM9000A、默認(rèn)下載地址、環(huán)境變量等進(jìn)行配置;修改網(wǎng)卡驅(qū)動(dòng)。最后編譯Uboot生成Uboot.bin二進(jìn)制文件[2].

  2.2.2 Android內(nèi)核的移植

  下載Android內(nèi)核源碼,進(jìn)入解壓的Kernel.git文件夾。修改common-smdk.c文件中的NAND FLASH使其為4個(gè)分區(qū),分別為BootLoader區(qū),內(nèi)核區(qū),文件系統(tǒng)區(qū),其他區(qū);更改MakeFile文件中目標(biāo)體系結(jié)構(gòu)ARCH為ARM 和交叉編譯工具CROSS_COMPILE為arm-none-linux-gnueabi-;從Android SDK模擬器提取。config配置文件;配置內(nèi)核,選中與S3C6410有關(guān)的選項(xiàng);從其他Linux 內(nèi)核中拷貝DM9000.h 和DM9000.c文件,并將兩個(gè)文件拷貝到內(nèi)核代碼目錄中,修改相應(yīng)的配置文件,配置內(nèi)核支持DM9000A 網(wǎng)卡;編輯mach-smdk6410.c中LCD 驅(qū)動(dòng)使其為7寸LCD,拷貝KConfig中相關(guān)內(nèi)容和文件到新內(nèi)核,并添加相應(yīng)的代碼,修改devs.h文件,然后對(duì)內(nèi)核進(jìn)行配置選擇ADC和觸摸屏選項(xiàng)。最后編譯內(nèi)核生成zImage文件[3].

  2.2.3 Android文件系統(tǒng)的制作

  下載Android源碼并編譯并生成out文件夾。其中root/就是root文件系統(tǒng),將system/文件夾下的內(nèi)容拷貝到root/system 下,這樣root/文件夾就是一個(gè)基本的文件系統(tǒng)。將Ubuntu系統(tǒng)/dev下文件夾內(nèi)容拷貝到root/dev下面,并通過(guò)mknod命令創(chuàng)建需要的device[4].

  2.3 硬件平臺(tái)測(cè)試

  通過(guò)SD卡燒寫Uboot、內(nèi)核和文件系統(tǒng)的鏡像文件到NAND FLASH,上電重啟開(kāi)發(fā)板,系統(tǒng)能正常運(yùn)行如圖3所示。運(yùn)用XP系統(tǒng)上超級(jí)終端對(duì)串口進(jìn)行通信測(cè)試,超級(jí)終端能收發(fā)信息,圖4為超級(jí)終端對(duì)Mini6410開(kāi)發(fā)板根目錄的查詢,串口RS 232可用。

  圖3 Android系統(tǒng)運(yùn)行界面。

3 系統(tǒng)軟件設(shè)計(jì)

3.3 軟件測(cè)試

  通過(guò)adb工具把com.apk從模擬器中取出來(lái),再通過(guò)adb工具把生成好的com.apk放入終端上,或者140 現(xiàn)代電子技術(shù)2012年第35卷在Eclipse編譯時(shí)直接選擇硬件MINI6410_2011W08,com.apk就直接生成在終端上了。圖8為軟件通信時(shí)的界面,在中心軟件上輸入IP地址222.212.77.78,端口號(hào)上輸入6000,點(diǎn)擊連接,接收區(qū)將顯示“connect:

  addr=222.212.78.77,port=6000,type=tcp OATRACE:oa_soc_connect_req:sock_id=1connectblock waiting!”實(shí)時(shí)顯示區(qū)顯示傳感器數(shù)據(jù),這里以車霧燈為例,車霧燈狀態(tài)0(0表示正常,1為異常),在串口發(fā)送區(qū)可手動(dòng)給監(jiān)控中心發(fā)送數(shù)據(jù),數(shù)據(jù)以ASCII字符ESC作為結(jié)束符。為了測(cè)試能否發(fā)送數(shù)據(jù),以數(shù)據(jù)0為例,在發(fā)送區(qū)填寫30 1b點(diǎn)擊發(fā)送按鈕,在串口接收區(qū)有“SEND OK”字符串表示發(fā)送成功,有“SOCKET=0RECV=<datalen>:rn<30 1b>”字符串表示監(jiān)控中心收到數(shù)據(jù)。

  圖8 數(shù)據(jù)發(fā)送界面

  4 結(jié) 語(yǔ)

  系統(tǒng)經(jīng)過(guò)集成測(cè)試,工作性能和可靠性良好,能夠在車聯(lián)網(wǎng)應(yīng)用中和遠(yuǎn)程監(jiān)控中心實(shí)現(xiàn)有效通信,根據(jù)具體的情況給終端發(fā)送相應(yīng)的命令數(shù)據(jù),從而實(shí)現(xiàn)了車輛遠(yuǎn)程的監(jiān)控。

  3.1 Android軟件開(kāi)發(fā)環(huán)境的搭建

  Android作為一個(gè)開(kāi)放式的平臺(tái),并將Java語(yǔ)言作為它的官方語(yǔ)言,這不僅是考慮到Java語(yǔ)言的強(qiáng)大功能,而且考慮Android平臺(tái)上絕大部分的程序都是基于Java的程序。Eclipse作為時(shí)下最流行的Java開(kāi)發(fā)第15期唐奇明,等:基于Android的GPRS的車載通信終端的設(shè)計(jì)139工具之一,其良好的開(kāi)放性、開(kāi)發(fā)效率高、便于使用的特點(diǎn)非常符合OHA(Open Handset Alliance,開(kāi)放手機(jī)聯(lián)盟)的主旨,非常適合作為Android的開(kāi)發(fā)工具來(lái)使用。

  圖4 超級(jí)終端查詢Android系統(tǒng)根目錄界面

  在官方網(wǎng)站下載基于XP系統(tǒng)下的JDK6,安裝完成后需要配置環(huán)境變量、系統(tǒng)變量和路徑;在官方網(wǎng)站下載并安裝XP 系統(tǒng)下的Android SDK,啟動(dòng)SDKManager下載并安裝Android 2.3的相關(guān)Packages;在官方網(wǎng)站下載Eclipse、安裝Android DevelopmentTools插件和配置Eclipse(選擇SDK的安裝路徑);啟動(dòng)SDK Manager,創(chuàng)建Android 2.3-API Level 9模擬器如圖5所示[5].

  圖5 Android 2.3-API Level 9模擬器

  3.2 GPRS通信應(yīng)用軟件

  應(yīng)用軟件是在Eclipse環(huán)境下完成的。應(yīng)用軟件主要實(shí)現(xiàn)對(duì)傳感器實(shí)時(shí)數(shù)據(jù)顯示,連接遠(yuǎn)程監(jiān)控中心,當(dāng)出現(xiàn)異常數(shù)據(jù)時(shí),通過(guò)GPRS傳輸?shù)竭h(yuǎn)程監(jiān)控中心,同時(shí)顯示遠(yuǎn)程監(jiān)控中心傳輸過(guò)來(lái)的命令。

  3.2.1 通信應(yīng)用程序處理器通過(guò)串口與GPRS進(jìn)行通信

  通信程序主要包括初始化、GPRS參數(shù)配置、建立連接、數(shù)據(jù)傳輸、斷開(kāi)5個(gè)部分。GPRS通信應(yīng)用程序流程圖如圖6所示。

 ?。?)初始化。處理器通過(guò)AT命令初始化串口,包括波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等。

 ?。?)GPRS參數(shù)配置。需要AT 命令配置GPRS一些參數(shù)才能進(jìn)行通信。參數(shù)包括GPRS模塊通信網(wǎng)絡(luò)、登陸網(wǎng)絡(luò)的用戶名和密碼、遠(yuǎn)端IP地址、端口號(hào)、通信協(xié)議類型、工作模式[6].

  (3)建立連接。ARM 通過(guò)AT命令激活GPRS模式、控制GPRS進(jìn)行網(wǎng)絡(luò)連接,在正常反饋下,一條終端到遠(yuǎn)程監(jiān)控中心的物理通道就建立起來(lái)了。

  (4)數(shù)據(jù)傳輸。在與遠(yuǎn)程監(jiān)控中心連接成功后,就可以進(jìn)行數(shù)據(jù)的收發(fā)操作。當(dāng)接收數(shù)據(jù)時(shí),終端從GPRS網(wǎng)絡(luò)上接收到數(shù)據(jù)幀,經(jīng)協(xié)議處理模塊拆封之后,提取用戶數(shù)據(jù),然后傳輸給RS 232接口;當(dāng)發(fā)送數(shù)據(jù)時(shí),設(shè)備從RS 232接口收到要發(fā)送的數(shù)據(jù),經(jīng)協(xié)議處理模塊封裝,然后發(fā)送到GPRS網(wǎng)絡(luò)上。

 ?。?)斷開(kāi)連接。當(dāng)檢測(cè)到數(shù)據(jù)傳輸結(jié)束標(biāo)志“+++”時(shí),通過(guò)發(fā)送“AT#CONNECTIONSTOP”命令釋放數(shù)據(jù)鏈路。

  圖6 GPRS通信應(yīng)用程序流程圖

  3.2.2 應(yīng)用程序界面設(shè)計(jì)

  應(yīng)用程序在Eclipse環(huán)境下完成的。在Eclipse上創(chuàng)建“Android Project”類型的工程,用widget(Text-View,Button,EditText等)構(gòu)建UI,生成相關(guān)xml文件,并對(duì)UI進(jìn)行事件處理(Button控件事件監(jiān)聽(tīng)),軟件界面如圖7所示[7].

  圖7 軟件界面

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

其他電腦(比如安卓手機(jī)/平板電腦)的屏幕壞了,你可能想在安排維修之前緊急訪問(wèn)一些東西。你可以使用android的USB OTG功能(是的,幾乎每個(gè)android都支持這個(gè)功能,你可以將鼠標(biāo)和鍵盤連接到它)。

關(guān)鍵字: USB 鼠標(biāo) Android 樹(shù)莓派

Google 宣布與中國(guó) AR 科技公司 XREAL 達(dá)成深度戰(zhàn)略合作,聯(lián)合推出全球首款專為 Android XR 平臺(tái)打造的旗艦級(jí) AR 眼鏡 Project Aura。

關(guān)鍵字: Google XREAL Android XR眼鏡 AR

繼停止維護(hù)AOSP開(kāi)源項(xiàng)目后,谷歌母公司Alphabet近日被曝在其安卓系統(tǒng)(Android)、Pixel手機(jī)以及Chrome瀏覽器等部門裁員數(shù)百人。這一舉措引發(fā)了業(yè)界的廣泛關(guān)注,也引發(fā)了對(duì)谷歌未來(lái)業(yè)務(wù)布局的諸多猜測(cè)。

關(guān)鍵字: 谷歌 AOSP Android 裁員

在本教程中,我們將使用Capacitor 6、Angular和TypeScript構(gòu)建一個(gè)Android應(yīng)用程序,該應(yīng)用程序通過(guò)串行端口連接到BleuIO USB加密狗。該應(yīng)用程序允許用戶直接從Android設(shè)備發(fā)送和接...

關(guān)鍵字: Android USB 電容器 BLE設(shè)備

早前媒體報(bào)道谷歌將停止維護(hù)Android開(kāi)源項(xiàng)目(AOSP),將Android開(kāi)發(fā)全面轉(zhuǎn)向內(nèi)部閉源分支,目前這一消息已經(jīng)得到谷歌官方確認(rèn)。

關(guān)鍵字: 谷歌 Android 開(kāi)源

本項(xiàng)目演示了如何通過(guò)OTG (on - go) USB在Android設(shè)備上使用BleuIO USB加密狗作為串行端口。使用電容器6和@adeunis/電容器-串行插件,我們建立串行連接,發(fā)送AT命令,并實(shí)時(shí)讀取響應(yīng)。該...

關(guān)鍵字: 電容器 Android 傳感器 微控制器 嵌入式系統(tǒng)

GPRS通信模塊是采用高性能工業(yè)級(jí)無(wú)線模塊及嵌入式處理器,以實(shí)時(shí)操作系統(tǒng)作為軟件支撐平臺(tái),內(nèi)嵌自主知識(shí)產(chǎn)權(quán)的TCP/IP協(xié)議,為用戶提供高速,穩(wěn)定可靠,永遠(yuǎn)在線的透明數(shù)據(jù)傳輸通道。

關(guān)鍵字: GPRS 通信模塊

在Linux操作系統(tǒng)中,Android Debug Bridge(ADB)是一個(gè)功能強(qiáng)大的命令行工具,它允許開(kāi)發(fā)者在計(jì)算機(jī)和Android設(shè)備之間建立通信,從而進(jìn)行調(diào)試、管理、安裝應(yīng)用等操作。本文將詳細(xì)介紹在Linux系...

關(guān)鍵字: Linux系統(tǒng) Android Debug ADB

隨著Android操作系統(tǒng)的進(jìn)步,智能手機(jī)的使用日益增加。隨后,有報(bào)道稱,惡意個(gè)人和黑客利用 Android 提供的漏洞來(lái)訪問(wèn)用戶珍視的數(shù)據(jù)。例如,此類威脅包括 2021 年針對(duì) Android 設(shè)備發(fā)布的 Flubot...

關(guān)鍵字: Android 惡意軟件
關(guān)閉