Terminal Mode VNC Server 智慧手機 車載資通訊 汽車導航 CE4A 諾基亞 VNC 宏達電

Terminal Mode標準推助
智慧手機化身車載資通訊裝置

2011-08-01
近年來,隨著智慧型手機應用程式的人氣高漲,在汽車導航領域已開始嶄露頭角,頗有取代汽車儀表板上(In-dash)系統和攜帶式導航設備的意味。去年由汽車消費電子(Consumer Electronics for Automotive, CE4A)所發表的Terminal Mode標準,更進一步鎖定可攜式裝置之應用程式和車載機的連結,期望藉由消費性電子產品的多元化和豐富內容等優勢,注入封閉的車載應用系統,帶動全球汽車電子市場的成長。
根據相關報告指出,拜北美景氣復甦之賜,預估2011年全球新車出貨量將可達五千五百八十萬輛,成長約5%;而今年全球汽車電子市場規模也預估將成長12%,達到172億美元,並於2014年攀升到200億9,000萬美元,年平均成長率達14.5%。

為此,汽車製造商為滿足消費者需求,莫不卯足全力,於車內嵌入式資訊娛樂系統(In-Vehicle Infotainment, IVI)提供視訊、導航、網際網路存取和電子郵件等各種不同應用。不過,由於欠缺統一的業界標準,市面上的解決方案分屬不同的技術陣營,仍需許多的開發資源投入其中。

CE4A制訂共通標準

CE4A是2007年由奧迪(Audi)、寶馬(BMW)、戴姆勒(Daimler)、保時捷(Porsche)及福斯集團(Volkswagen)五家德國車廠所共組的工作群組(Working Group),其目的在於推廣車機(OBU)與行動裝置介接的共通標準。CE4A包含有八個專家群組(Expert Group)(圖1)。

資料來源:CE4A
圖1 CE4A的八個專家群組

在諾基亞(Nokia)參與CE4A相關工作後,其於消費性電子領域的豐富經驗,直接促成車機與行動裝置介接的願景。2010年,諾基亞與CE4A共同提出Terminal Mode技術規格,它倡導在汽車人機介面中整合行動裝置應用程式(Integration of Mobile Apps into the Vehicle HMI)的概念(圖2),希望將行動裝置應用程式的多樣性與車機系統的穩定性之間做一完善且互補的結合,以達成以下五個目的:借助車機(較大)的顯示螢幕來展現行動裝置上的應用程式;借助車機來控制行動裝置上的應用程式;毋須更新車機便能擴充其功能(因為新的應用程式實際上執行於行動裝置之上);提升行動裝置之應用程式於行車時的可用性;植基於既有標準之整合。

資料來源:CE4A
圖2 Terminal Mode的概念

為此,Terminal Mode技術規格提出如圖3的軟體架構,其中Virtual Networking Computing (VNC)主要是負責顯示資訊與控制資訊於行動裝置與車機間的交換,其應用情境如圖4所示。

資料來源:CE4A
圖3 Terminal Mode的軟體架構

資料來源:CE4A
圖4 Terminal Mode中VNC的應用情境

VNC負責顯示/控制資訊

由於VNC是一種普遍使用的遠端連線軟體,在許多平台上均有對應的應用程式,因此市面上已經有一些簡單的應用展示。本文接下來將先針對VNC做一概略性介紹,然後講述如何在市面上實際販售的行動裝置與車機平台進行VNC應用程式的移植,以對此應用做一完整的呈現。

VNC為一種使用RFB(Remote Framebuffer)協定的螢幕畫面分享和遠端操作軟體,其中VNC Server程式為將螢幕畫面分享給用戶端,VNC Client傳送鍵盤與滑鼠的動作給Server端,如此達成VNC Client與VNC Server互動。VNC協定的圖像協定,其使用方式則為先將圖像組成某塊矩形的點後再填入相關X、Y位置。此外,VNC程式可讓使用者調整畫面的色彩數、解析度等,以配合各種不同的頻寬,達成較佳的傳輸效能。VNC提供編碼方式包括:

Raw
  不進行編碼,直接傳送數據。

Copyrect
  屬於簡單且有效率的編碼方式,只針對有變動的影像做編碼,適用於畫面變動率較小使用。

RRE
  基礎在於模擬一段的二維(2D)編碼,比對畫素顏色後相同的顏色區域,當做一矩形,作為一個整體傳輸。

Hextile
  是RRE編碼的延伸,把Server端畫面分成16×16小塊畫素,每塊畫素用RRE方式轉送。

Zlib
  傳送前先透過Zlib的函式庫壓縮,而Zlib使用抽象化的DEFLATE演算法,將會加快壓縮效能。

目前現有常用VNC Free軟體,分別如表1所介紹。

遠端連線實作

本文選定實作的行動裝置為宏達電HERO,將作為VNC Server,而車機平台則為瑞薩(Renesas)MS7724,將作為VNC Client(圖5)。VNC Server的程式為Android Market上的Droid VNC Server,VNC Client的程式為DirectVNC。接下來,將個別介紹相關套件與設備:

手機
  使用宏達電HERO(圖6),內建512MB唯讀記憶體(ROM)、288MB隨機存取記憶體(RAM),內建Android 2.1作業系統(平台),傳輸介面有通用序列匯流排(USB)、藍牙(Bluetooth)、無線區域網路(Wi-Fi),以及高通(Qualcomm) MSM7200A 528MHz處理器。

圖6資料來源:宏達電
圖5(左圖) VNC的實作規畫、圖6(右圖) 宏達電HERO

VNC Server
  可使用Android Market上的Droid VNC Server(圖7)。安裝使用前須ROOT過,也就是有最高權限可執行相關軟體。

若尚未ROOT,可下載Universal Androot來ROOT。先下載及安裝Universal Androot APK,安裝完程式後,打開名為Universal Androot的程式,再點選ROOT(圖8)。

圖7資料來源:Droid、圖8資料來源:Androot
圖7(左圖) Droid VNC Server、圖8(右圖) Universal Androot畫面

車機平台
 
資料來源:瑞薩
圖9 車機平台
圖9為瑞薩公司所推出的車機平台,相關配備包括Agreements/Legal Paperwork、MS7724套件(包括中央處理器、LCD和Camera Board)、MS7724 Linux Golden Package BSP CD、通用序列匯流排Memory Stick、通用序列匯流排纜線(Cable)、RJ-45乙太網路跳線(Ethernet Cross-over Cable),以及具有三種接腳轉換器的PSU(PSU with 3 types of pin converter)。

VNC Client
  本實驗使用DirectVNC,先行下載程式碼後透過SH4交叉編譯(Cross Compile)後即可執行。此軟體的優點在於不需要X Window(X Window系統透過主從式的架構模型,由一個X伺服器與多個X用戶端程式進行通訊,來建立作業系統所用的圖形使用者介面),直接使用DirectFB(Direct Frame Buffer是GNU/Linux作業系統上的函式庫,提供硬體圖形加速等功能),特別適用於一般嵌入式系統。相關DirectVNC指令參數介紹如表2。其中編碼方式如雙方頻寬足夠,則使用Copyrect編碼方式;若頻寬不夠,但中央處理器(CPU)還夠強,則可適用Zlib來做編碼傳遞。相關指令為./directvnc 192.168.10.30:0 -e"copyrect",初始通訊埠(Port)為5900,如為5901,則須設為1。

本實驗將使用通用序列匯流排方式來連結車機平台與手機。有關通用序列匯流排連結設定,可依據下列步驟完成:

首先開啟手機中的行動網路共用功能,讓手機可以透過3G或其他對外連線方式與其他裝置(Device)分享連線。但須注意,某些手機須要開啟3G或無線區域網路才可把此功能打開。

接著在目標(Target)車機上安裝Remote NDIS based Device(RNDIS)驅動程式,也就是在通用序列匯流排設備上執行TCP/IP,讓通用序列匯流排設備為Target上的一張網卡。

最後設定好Target與VNC Server為同一段區域網路(LAN),例如VNC Server網路通訊位址(IP)為192.168.1.2,則Target上的VNC Viewer則須設定ifconfig usb0 192.168.1.xxx,xxx為相同網段內無任何裝置使用到的位址即可。

邁向新里程

根據最新產業動態,無論是車廠或車用電子廠商都一致看好,藉由車機應用的多樣豐富化,未來將可大幅提升車機使用的便利性,而此等應用將是取自車機外部,可透過與智慧型手機等行動裝置的連接來取得。在眾多解決方案中,植基於既有標準整合的Terminal Mode規格之導入門檻最低。

當車機上無導航應用或多媒體播放時,可透過如通用序列匯流排介面與一般智慧型手機連接,直接自擁有較大顯示畫面的車機來操作手機上對應的程式功能,一來可省卻車機上軟體的更新,二來可提升行動裝置的應用程式於行車時的可用性。可以預見,當車內外資訊分享、娛樂休閒、通訊和自動化控制等各項需求在未來被滿足時,車載資通訊將可邁向另一個重要里程碑。

(本文作者任職於資策會新興智慧研究所)

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!