• WinCE 手机互联


    手机互联的概念

    手机互联:通过手机车机映射技术可以在车载终端上充分发挥智能手机的优势,例如:手机端资源丰富,软件更新方便、快速等等。

    手机成万物互联的中心,应用于车载市场,是由于车载市场的高端性。

    手机的优点

    车机的优点:屏幕大

    把手机的优点和车机的优点结合起来,满足消费者的需求,是现在车载产品的一个重要的发展方向。例如:一些车载产品,通过手机互联技术,在车载产品将不再有导航功能。而是利用手机上的导航软件,这样可以做到节省成本。

     

    手机互联现状:

    原车载行业

    国际巨头

    本地巨头

    本来车载行业在手机互联方面已经是一片混战,先有苹果和Google,现在又加上了 BAT 中的两家。由于阿里收购高德,利用高德A-Link的资源开始布局手机互联。百度也通过 CarNet 进入手机互联产品。

     

    手机互联都有哪些技术呢?

    标准手机互联(为手机互联技术而生):

    1) MirrorLink

    2) 苹果:CarPlay

    3) 谷歌:AndroidAUTO

     

    1) MirrorLink 手机通过USB,BT 或 WIFI,即可与车机建立连接

        Nokia 发布的技术,现被 MS 收购

        通过 USB 连接,打电话还是走 BT 通道

        将手机虚拟成网卡,车机通过 RTSP 流媒体播放显示

        最新版本:V1.2(30帧);常用的是 V1.1(10-15帧),显示还不能完成达到用户的要求。

        将 Android 手机插入 PC 上,会在 PC 的网络链接中看到一个虚拟的网卡: Windows Mobile-based Internet SharingDevice

     

    2)苹果:CarPlay

        连接方式:USB/WIFI

    硬件系统等的要求:需要 iOS 7.1,iPhone 5,要求硬按键支持 SIRI,

    功能:不支持视频;车机显示界面与手机显示界面不同,采用 RTP/RTSP 视频流显示界面。

        只能使用苹果在线地图,不实用(流量太大)

        与其它方案的一个差别:车机做为从设备、手机做为主设备

     

    3) 谷歌:Android AUTO

        OpenAutomotive Alliance,开源汽车联盟

        将一些简单的功能映射到车机,与苹果的实现类似。

    其它应用于手机互联的技术:

    1)MHL/HDMI

    2)DLNA

    3)Mirocast

     

    MHL:Mobile High-Definition Link,移动终端高清影音标准接口,从 HDMI 引申而来

        使用一条信号电缆,通过标准 HDMI 输入接口

        Micro USB

    DLNA:Digital Living Network Alliance,由索尼、英特尔、微软等发起成立、旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通。DLNA并不是创造技术,而是形成 一种解决的方案,一种大家可以遵守的规范。

     

    Mirocast本身不是为手机互联设计的,BT回控

        WIFIDisplay,通过WIFI Direct(WIFI直连)实现

        只能通过 BT 回控,不支持苹果手机

     

    App-Link 技术:

    AppLink:高德:ASDL/百度:CarNet

        A-Link + SDL:Smart Device Link(由 Ford 开发,开源协议)

        只能回控 App,不能回控系统或其它 App

       

        CarNet:针对 WinCE,通过 USB 将手机上的一些服务投射到车机上。

    Apple 未开放对国内的授权

    Android AUTO 也只有几个有限的大公司在做

    接下来我们来研究一下 MHL 的具体实现:

    MHL 硬件关键元器件列表:

    器件名称

    器件型号

    价格XX

    MHL IC

    EP94Z1

    XX

    音频D/A

    CS4344

    XX

    HDMI_E插座

     MX50/53

    XX

                                                   图:MHL框图

    车载设备通过 MHL 与手机连接时,可以支持 Android 和 iOS 系统的手机,当然手机的硬件需要支持 MHL。这样可以将手机的屏幕显示映射到车载设备的屏幕上显示,但如何通过车载设备来控制手机呢?此功能我们称之为“回控”,一般是通过 BT 来实现。当然,也可以通过其它无线通讯技术来实现回控。

     

    两种回控方式

    一种是通过 HID(Human Interface Device),这时手机将车载设备当成一种输入设备。

    另一种,是通过在手机上安装应用软件,通过车载设备上软件与此应用软件之间的通过 BT SPP 通讯来完成回控。下面我们来重点介绍第2种方法,采用这样方式需要手机与车载设备之间进行短距离通讯,现在比较流行的利用 BT。

    Android 系统:通过 BT 的 SPP(蓝牙串行端口)协议来完成指令的传输。

    iOS 系统:因为苹果的要求,通过 BT 控制 iPhone 必须通过其认证。控制的方式较 Android 要复杂很多,要通过 iAP 认证,就比较相应的 IC 才能完成。

     

    无论是哪一种手机系统,开发手机端软件都必须具备较深的功底。手机与车载设备之间的通讯协议因为完全是自定义的,没有什么难度。一般来说,协议需要支持:

    1 手机是什么系统

    2 手机屏幕分辨率

    3 手机屏幕是横屏显示、还是竖屏显示

    4 是否处于手机互联 App 界面

    5 控制方式:SPP、还是 HID

    6 心跳包、应答包

    7手机与车机连接/断开连接指令

    8 Touch信息

    9 其它功能控制,如 音乐 控制等指令

    等等

    通讯协议示例:

    (1) Type

           Func 功能分类,例如:通用、音频、视频、SMS等等

                  0x00 通用功能

                  0x01 音频功能

                  0x02 视频功能

                  0x03 SMS(???)

           Index 各分类中的具体功能索引,例如:通用功能中有手机与车机连接指令、手机与车机断开连接指令、当前应用、启动应用指令、心跳包、ACK、音量、USB存贮设备状态、SD卡状态、手机OS类型[iOS(0x01)/Android(0x02)/WindowsPhone(0x03)]等等。

                  0x00~0x1F  通用功能中各子功能的索引

                  0x20~0x5F  车机发送到手机的指令索引

                  0x60~0x9F  手机发送到车机的指令索引

    (2) D_Flag 指令是否需要应答(ACK)

           0 bit: 0 不需要 ACK;1 需要 ACK。

           其它 bits 备用。

    (3) Checksum 采用异或和

    (4) 采用网络字节序:即高字节优先

    (5) 流水号:从 0 开始到 65535,循环使用

    (6) Length:指 Payload 的有效长度,取值:0-65535

    (7) Payload:有效负载的数据

    (8) Header 与 End:帧头与帧尾

    如果使用 BT 可以参考 BT 相关的指令分析方法,然后加入对 SPP 和 HID 指令的处理;如果使用其它无线通讯技术,如:Socket,可以参考以前讲过的Socket 编程的代码,加入对如上述自定义协议的数据解析的过程。

  • 相关阅读:
    IE678下,select 诡异的样式
    跟着我一步一步的搭建一个基于springcloud的微服务实例
    关于Future踩过的坑
    Apache下的SocketClient的使用
    Jaxb处理泛型,转化成xml字符串
    Linux Centos虚拟机扩容
    docker 搭建zookeeper集群和kafka集群
    sysbench 数据库性能测试工具的使用
    docker 容器技术
    自己手写实现Dubbo
  • 原文地址:https://www.cnblogs.com/91program/p/5194227.html
Copyright © 2020-2023  润新知