手機(jī)互聯(lián)技術(shù)及通訊協(xié)議
手機(jī)互聯(lián)的概念
手機(jī)互聯(lián):通過手機(jī)車機(jī)映射技術(shù)可以在車載終端上充分發(fā)揮智能手機(jī)的優(yōu)勢,例如:手機(jī)端資源豐富,軟件更新方便、快速等等。
手機(jī)成萬物互聯(lián)的中心,應(yīng)用于車載市場,是由于車載市場的高端性。
手機(jī)的優(yōu)點(diǎn)
車機(jī)的優(yōu)點(diǎn):屏幕大
把手機(jī)的優(yōu)點(diǎn)和車機(jī)的優(yōu)點(diǎn)結(jié)合起來,滿足消費(fèi)者的需求,是現(xiàn)在車載產(chǎn)品的一個(gè)重要的發(fā)展方向。例如:一些車載產(chǎn)品,通過手機(jī)互聯(lián)技術(shù),在車載產(chǎn)品將不再有導(dǎo)航功能。而是利用手機(jī)上的導(dǎo)航軟件,這樣可以做到節(jié)省成本。
手機(jī)互聯(lián)現(xiàn)狀:
原車載行業(yè)
國際巨頭
本地巨頭
本來車載行業(yè)在手機(jī)互聯(lián)方面已經(jīng)是一片混戰(zhàn),先有蘋果和Google,現(xiàn)在又加上了 BAT 中的兩家。由于阿里收購高德,利用高德A-Link的資源開始布局手機(jī)互聯(lián)。百度也通過 CarNet 進(jìn)入手機(jī)互聯(lián)產(chǎn)品。
手機(jī)互聯(lián)都有哪些技術(shù)呢?
標(biāo)準(zhǔn)手機(jī)互聯(lián)(為手機(jī)互聯(lián)技術(shù)而生):
1) MirrorLink
2) 蘋果:CarPlay
3) 谷歌:AndroidAUTO
1) MirrorLink 手機(jī)通過USB,BT 或 WIFI,即可與車機(jī)建立連接。
??? Nokia 發(fā)布的技術(shù),現(xiàn)被 MS 收購
??? 通過 USB 連接,打電話還是走 BT 通道
??? 將手機(jī)虛擬成網(wǎng)卡,車機(jī)通過 RTSP 流媒體播放顯示
??? 最新版本:V1.2(30幀);常用的是 V1.1(10-15幀),顯示還不能完成達(dá)到用戶的要求。
??? 將 Android 手機(jī)插入 PC 上,會(huì)在 PC 的網(wǎng)絡(luò)鏈接中看到一個(gè)虛擬的網(wǎng)卡: Windows Mobile-based Internet SharingDevice
2)蘋果:CarPlay
??? 連接方式:USB/WIFI
硬件系統(tǒng)等的要求:需要 iOS 7.1,iPhone 5,要求硬按鍵支持 SIRI,
功能:不支持視頻;車機(jī)顯示界面與手機(jī)顯示界面不同,采用 RTP/RTSP 視頻流顯示界面。
??? 只能使用蘋果在線地圖,不實(shí)用(流量太大)
??? 與其它方案的一個(gè)差別:車機(jī)做為從設(shè)備、手機(jī)做為主設(shè)備
3) 谷歌:Android AUTO
??? OpenAutomotive Alliance,開源汽車聯(lián)盟
??? 將一些簡單的功能映射到車機(jī),與蘋果的實(shí)現(xiàn)類似。
其它應(yīng)用于手機(jī)互聯(lián)的技術(shù):
1)MHL/HDMI
2)DLNA
3)Mirocast
MHL:Mobile High-Definition Link,移動(dòng)終端高清影音標(biāo)準(zhǔn)接口,從 HDMI 引申而來。
??? 使用一條信號(hào)電纜,通過標(biāo)準(zhǔn) HDMI 輸入接口
??? Micro USB
DLNA:Digital Living Network Alliance,由索尼、英特爾、微軟等發(fā)起成立、旨在解決個(gè)人PC,消費(fèi)電器,移動(dòng)設(shè)備在內(nèi)的無線網(wǎng)絡(luò)和有線網(wǎng)絡(luò)的互聯(lián)互通。DLNA并不是創(chuàng)造技術(shù),而是形成?一種解決的方案,一種大家可以遵守的規(guī)范。
Mirocast:本身不是為手機(jī)互聯(lián)設(shè)計(jì)的,BT回控
??? WIFIDisplay,通過WIFI Direct(WIFI直連)實(shí)現(xiàn)
??? 只能通過 BT 回控,不支持蘋果手機(jī)
App-Link 技術(shù):
AppLink:高德:ASDL/百度:CarNet
??? A-Link + SDL:Smart Device Link(由 Ford 開發(fā),開源協(xié)議)
??? 只能回控 App,不能回控系統(tǒng)或其它 App
???
??? CarNet:針對 WinCE,通過 USB 將手機(jī)上的一些服務(wù)投射到車機(jī)上。
?
Apple 未開放對國內(nèi)的授權(quán)
Android AUTO 也只有幾個(gè)有限的大公司在做
?
接下來我們來研究一下 MHL 的具體實(shí)現(xiàn):
MHL 硬件關(guān)鍵元器件列表:
器件名稱
器件型號(hào)
價(jià)格XX
MHL IC
EP94Z1
XX
音頻D/A
CS4344
XX
HDMI_E插座
?MX50/53
XX
車載設(shè)備通過 MHL 與手機(jī)連接時(shí),可以支持 Android 和 iOS 系統(tǒng)的手機(jī),當(dāng)然手機(jī)的硬件需要支持 MHL。這樣可以將手機(jī)的屏幕顯示映射到車載設(shè)備的屏幕上顯示,但如何通過車載設(shè)備來控制手機(jī)呢?此功能我們稱之為“回控”,一般是通過 BT 來實(shí)現(xiàn)。當(dāng)然,也可以通過其它無線通訊技術(shù)來實(shí)現(xiàn)回控。
兩種回控方式:
一種是通過 HID(Human Interface Device),這時(shí)手機(jī)將車載設(shè)備當(dāng)成一種輸入設(shè)備。
另一種,是通過在手機(jī)上安裝應(yīng)用軟件,通過車載設(shè)備上軟件與此應(yīng)用軟件之間的通過 BT SPP 通訊來完成回控。下面我們來重點(diǎn)介紹第2種方法,采用這樣方式需要手機(jī)與車載設(shè)備之間進(jìn)行短距離通訊,現(xiàn)在比較流行的利用 BT。
?
Android 系統(tǒng):通過 BT 的 SPP(藍(lán)牙串行端口)協(xié)議來完成指令的傳輸。
iOS 系統(tǒng):因?yàn)樘O果的要求,通過 BT 控制 iPhone 必須通過其認(rèn)證??刂频姆绞捷^ Android 要復(fù)雜很多,要通過 iAP 認(rèn)證,就比較相應(yīng)的 IC 才能完成。
無論是哪一種手機(jī)系統(tǒng),開發(fā)手機(jī)端軟件都必須具備較深的功底。手機(jī)與車載設(shè)備之間的通訊協(xié)議因?yàn)橥耆亲远x的,沒有什么難度。一般來說,協(xié)議需要支持:
1 手機(jī)是什么系統(tǒng)
2 手機(jī)屏幕分辨率
3 手機(jī)屏幕是橫屏顯示、還是豎屏顯示
4 是否處于手機(jī)互聯(lián) App 界面
5 控制方式:SPP、還是 HID
6 心跳包、應(yīng)答包
7手機(jī)與車機(jī)連接/斷開連接指令
8 Touch信息
9 其它功能控制,如 音樂 控制等指令
等等。
?
通訊協(xié)議示例:
(1) Type
?????? Func 功能分類,例如:通用、音頻、視頻、SMS等等
????????????? 0x00 通用功能
????????????? 0x01 音頻功能
????????????? 0x02 視頻功能
????????????? 0x03 SMS(???)
?????? Index 各分類中的具體功能索引,例如:通用功能中有手機(jī)與車機(jī)連接指令、手機(jī)與車機(jī)斷開連接指令、當(dāng)前應(yīng)用、啟動(dòng)應(yīng)用指令、心跳包、ACK、音量、USB存貯設(shè)備狀態(tài)、SD卡狀態(tài)、手機(jī)OS類型[iOS(0x01)/Android(0x02)/WindowsPhone(0x03)]等等。
????????????? 0x00~0x1F? 通用功能中各子功能的索引
????????????? 0x20~0x5F? 車機(jī)發(fā)送到手機(jī)的指令索引
????????????? 0x60~0x9F? 手機(jī)發(fā)送到車機(jī)的指令索引
(2) D_Flag 指令是否需要應(yīng)答(ACK)
?????? 0 bit: 0 不需要 ACK;1 需要 ACK。
?????? 其它 bits 備用。
(3) Checksum 采用異或和
(4) 采用網(wǎng)絡(luò)字節(jié)序:即高字節(jié)優(yōu)先
(5) 流水號(hào):從 0 開始到 65535,循環(huán)使用
(6) Length:指 Payload 的有效長度,取值:0-65535
(7) Payload:有效負(fù)載的數(shù)據(jù)
(8) Header 與 End:幀頭與幀尾
?
如果使用 BT 可以參考 BT 相關(guān)的指令分析方法,然后加入對 SPP 和 HID 指令的處理;如果使用其它無線通訊技術(shù),如:Socket,可以參考以前講過的 Socket 編程的代碼,加入對如上述自定義協(xié)議的數(shù)據(jù)解析的過程。