Alexa Auto SDK 概述

Alexa 汽车软件开发套件
Alexa Auto SDK 包含将 Alexa 集成到汽车中所需的基本客户端软件。Auto SDK 提供连接到 Alexa 的库,并为您的车辆软件公开 C++ 和 Java 接口,以实现特定于平台的行为,包括音频输入、媒体流、通过连接的电话呼叫、逐向导航、控制车辆功能,例如作为加热器和灯,等等。您可以使用随附的示例应用程序(一个用于 C++,一个用于 Android)来了解 Auto SDK 接口并在集成之前测试交互。

目录

  • 汽车SDK架构
  • 自动 SDK 模块和扩展
  • Alexa 自动客户端服务 (AACS)
  • 安全最佳实践
  • 也可以看看

汽车SDK架构

以下架构图说明了用于将 Auto SDK 集成到车辆软件中的常见设计。

以下部分描述了体系结构中组件之间的关系。

汽车 SDK 引擎

Engine 是一个组件系统,提供 Auto SDK 的运行时实现。您的应用程序或后台服务的主程序创建 Engine 的实例并配置该实例、注册平台接口处理程序并管理其生命周期。当由主程序启动时,引擎维护与 Alexa 的连接,管理运行时执行状态,并提供平台接口功能的底层实现。

平台接口

平台接口是 Auto SDK 提供的抽象接口,用于实现 Auto SDK 集成的平台特定功能。“平台特定功能”是指与硬件、操作系统、底层软件框架或外部库交互的集成组件。每个平台接口都为应用程序定义了一个 API,以便与特定组件的引擎进行交互,例如音频输入或位置服务。当引擎需要查询数据或将处理(例如呈现视觉元素或拨打电话)委托给您的自定义实现时,它会调用已注册的平台接口“处理程序”。处理程序调用引擎以提供对来自引擎的请求的回调或提供状态更改的主动通知。

处理程序

将引擎和其他运行在主机单元中的进程连接起来,处理程序实现了它扩展的平台接口所需的功能。处理程序的实现可能包括使用事件总线、特定于平台的进程间通信 (IPC) 机制、使用系统库的直接实现或与现有应用程序的深度集成。

自动 SDK 模块和扩展

Auto SDK 被组织成逻辑相关的功能组,称为“模块”,使您能够仅选择要包含在集成中的功能。每个模块包括“平台”和“引擎”库。平台库包括功能所需的平台接口和配置选项,引擎库通过功能的底层实现来增强引擎的基本功能。

**注意:**每个模块的库都是用 C++ 编写的,但是为 Android 目标构建 Auto SDK 会启用 Android 版本的模块,这些模块在 C++ 接口上提供 Java 包装器以便于使用。

以下部分描述了 Auto SDK 中包含的模块。无法从 GitHub 使用 Auto SDK 下载的模块作为扩展提供,您可以在 Amazon 解决方案架构师 (SA) 或合作伙伴经理的帮助下获取这些模块。

核心模块

Core 模块(适用于C++或Android)为音频输入和输出、授权、日志记录、位置报告、指标、财产管理、网络监控服务、本地存储和车辆信息服务提供基础设施。任何提供平台接口的模块(例如,Alexa 模块)都需要基础设施。

Alexa 模块

Alexa 模块(用于C++或Android)支持语音输入和输出、授权、音量控制、媒体播放、均衡器控制、模板和状态渲染、本地媒体源、警报、通知和请勿打扰等 Alexa 功能。

导航模块

Navigation 模块(用于C++或Android)支持 Alexa 与车载导航系统交互。

电话呼叫控制器模块

电话呼叫控制器模块(适用于C++或Android)为 Alexa 提供与板载电话系统接口的支持。

地址簿模块

地址簿模块(适用于C++或Android)通过电话联系人和导航收藏夹(“家”、“工作”等)等用户数据增强了 Alexa 的通信和导航功能。

基于代码的链接 (CBL) 模块

CBL 模块(用于C++或Android)实现了获取 Login with Amazon (LWA) 访问令牌的 CBL 机制。有关 CBL 机制的信息,请参阅基于代码的链接文档。

Alexa 表示语言 (APL) 模块

APL 模块(用于C++或Android)使设备能够支持视觉 Alexa 体验。

**注:**该APL渲染模块提供了一个Android应用程序,使APL渲染能力。

消息模块

Messaging 模块(适用于C++或Android)提供对 Alexa 的短信服务 (SMS) 功能的支持,例如发送和阅读文本消息。

汽车控制模块

Car Control 模块(适用于C++或Android)使您的应用程序能够构建自定义车辆控制体验,允许用户使用 Alexa 语音控制车辆功能。

连接模块

Connectivity 模块(用于C++或Android)为 Alexa 创建了一个较低的数据消耗模式,允许汽车制造商根据其连接计划的状态提供分层功能。

文字转语音 (TTS) 模块

TTS 模块(用于C++或Android)使平台实现能够根据需要从文本或语音合成标记语言 (SSML) 字符串请求合成 Alexa 语音。

文本到语音 (TTS) 提供程序模块

TTS 提供程序模块(用于C++或Android)按需合成 Alexa 语音。此模块需要使用本地语音控制扩展构建 Auto SDK。

AmazonLite 唤醒词扩展

Wake Word 支持与 Alexa 进行免提、语音启动的交互。Wake Word 扩展在 Auto SDK 中启用 AmazonLite Wake Word 支持。

Alexa 通讯扩展

Alexa Communications 扩展支持与 Alexa 到 Alexa 通话、Alexa 到 PSTN 通话和消息传递功能的集成。

Alexa 自定义助理扩展

Alexa 自定义助手扩展提供了切换 Alexa 和汽车制造商语音助手设置的功能,并在运行时通知 IVI 系统有关代理助手的更新以进行特定交互。

蓝牙扩展

蓝牙扩展允许 Auto SDK 通过蓝牙经典或蓝牙低功耗 (BLE) 协议连接到设备。使用这些协议,Auto SDK 可以为 Android 或 iOS 智能手机用户提供基于蓝牙的功能。

设备客户端指标 (DCM) 扩展

设备客户端指标 (DCM) 扩展支持记录 Auto SDK 指标并将其上传到 Amazon 云。例如,语音请求指标包括用户和 Alexa 语音的开始和结束时间戳,以及请求和 Alexa 响应之间的用户感知延迟 (UPL)。

地理定位扩展

Geolocation 扩展为 Auto SDK 添加了地理定位同意支持,使用户能够同意从您的应用程序与 Alexa 共享位置。

本地语音控制 (LVC) 扩展

LVC 扩展提供汽车控制、通信、导航、本地搜索和娱乐功能,无需互联网连接。它包括在车辆主机内运行 Alexa 端点的组件。

本地导航模块

本地导航模块使您能够在没有 WiFi 或数据计划连接的情况下为客户提供 Alexa 本地搜索和导航。

移动授权扩展

移动授权扩展支持在车辆主机上运行的应用程序,以简化登录体验。要登录 Alexa,用户在配对的智能手机上使用 Alexa 移动应用程序,而不是打开网络浏览器并输入代码。

适用于 Android 扩展的语音 Chrome

Voice Chrome 扩展程序为 Android x86 64 位和 Android ARM 32/64 位平台的 Auto SDK 添加了 Voice Chrome 支持。Voice Chrome 提供了一组一致的视觉提示,代表了一系列支持 Alexa 的设备上的 Alexa 注意力状态。Voice Chrome 扩展程序包括一个预构建的 Android AAR 库,可轻松与您的应用程序集成,以及一个添加 Voice Chrome 功能的 Android 示例应用程序补丁。

Alexa 自动客户端服务 (AACS)

AACS 简化了在基于 Android 的设备中集成 Auto SDK 的过程。在您安装、配置和初始化 AACS 之后,它会与应用程序通信,提供应用程序与各种 Alexa 功能(例如导航和汽车控制)之间的接口。如果您不想将 AACS 作为单独的应用程序运行,您还可以将 AACS 作为 Android 存档 (AAR) 包含在应用程序中。有关 AACS 的更多信息,请参阅 AACS README。

AACS 需要 Alexa Auto Service Bridge (AASB) 扩展,它为 Auto SDK Engine 提供基于消息的接口。有关 AASB 的更多信息,请参阅AASB 自述文件。

安全最佳实践

所有 Alexa 产品都必须遵循Alexa的安全最佳实践。使用 Auto SDK 构建 Alexa 体验时,还要遵守以下安全原则:

  • 保护 Auto SDK Engine 的配置文件不被篡改和检查。
  • 保护配置参数(例如在 Auto SDK Engine 配置文件中找到的参数)免遭篡改和检查,包括但不限于以下内容:SQLite 数据库文件、Unix 域套接字、唤醒词模型和指标接收器文件。
  • 保护用于本地语音控制 (LVC) 扩展的组件,包括关联的 LVC 语言模型包 (Linux) 和 APK (Android),免遭篡改和检查,包括但不限于以下内容:Unix 域套接字、模型目录、技能和服务可执行文件、提示和资产 JSON 文件,以及配置这些组件的所有文件。
  • Auto SDK 接口的 C++ 实现不得保留锁定、崩溃、挂起或抛出异常。
  • 在编译源代码时使用漏洞利用缓解标志和内存随机化技术来防止漏洞利用缓冲区溢出和内存损坏。

也可以看看

以下文档或网站提供了有关 Auto SDK 的更多信息。

  • 车载 Alexa 体验设计指南包括原则、语音、视觉、用户界面 (UI) 模式和多模式最佳实践。
  • 入门指南提供了开始使用 Auto SDK 和下载扩展的步骤。
  • 更改日志提供了功能增强、更新以及已解决和已知问题的摘要。
  • Android 示例应用程序和C++ 示例应用程序自述文件提供了有关示例应用程序的发行说明。
  • Auto SDK API 文档参见接口参考文档:
    • 适用于 Android 的 Alexa Auto SDK
    • 用于 C++ 的 Alexa Auto SDK
  • 迁移指南介绍了如何从一个 Auto SDK 版本迁移到另一个版本。

Alexa | Alexa Auto SDK 概述相关推荐

  1. Alexa | Alexa通信扩展

    Alexa | Alexa通信扩展 Auto SDK Alexa Communication 扩展为 Alexa Auto SDK 添加了 Alexa Communication 支持,使您能够在您的 ...

  2. HiCar SDK概述

    HiCar SDK概述 HUAWEI HiCar SDK 是 HUAWEI HiCar(以下简称 HiCar )为汽车硬件设备提供的软件开发工具包,为汽车硬件厂商接入 HiCar 提供应用 API 接 ...

  3. 蚂蚁区块链第15课 JS SDK概述及API接口速查

    1,摘要 本文讲解蚂蚁BAAS的JavaScript SDK概述,说明JS SDK对应的API接口速查.其他语言包SDK参考官网其他章节说明即可. 2,JS SDK 说明 JavaScript SDK ...

  4. 《ArcGIS Runtime SDK for Android开发笔记》——(3)、ArcGIS Runtime SDK概述

    1.前言 ArcGIS Runtime SDK是一整套用于构建原生及跨平台的地图应用程序的开发包,包括移动设备的Android.iOS.Windows Phone,针对桌面的.Net.Java.OSX ...

  5. acm java_ACM Java Native SDK 概述

    示例代码 添加依赖后,即可在程序中使用 ACM Java Native SDK 提供的接口. 说明 请将代码中的 $regionId.$endpoint.$namespace.$accessKey.$ ...

  6. 语音编程之Speech SDK概述

    Microsoft Speech SDK提供关于语音(Speech)处理的一套应用程序编程接口SAPI(Speech Application Programming Interface).SAPI提供 ...

  7. Android集成谷歌定位sdk,概述-Android 定位SDK | 高德地图API

    什么是定位SDK Android 定位 SDK 是一套简单的LBS服务定位接口,您可以使用这套定位API获取定位结果.逆地理编码(地址文字描述).以及地理围栏功能. 面向的读者 Android 定位 ...

  8. alexa api php,php 读取 alexa信息

    php 读取 alexa信息 function Alexa($domain) { $alexa = ''; $content = get_content('http://www.alexa.com/d ...

  9. ALEXA站长全攻略(转)

    写此文之前本拟在"ALEXA"前加一个"网站流量世界排名",可转而一想ALEXA主营业务及目前的功能也不一个专做网站流量排名的网站,更确切的说它是一个提供搜索的 ...

  10. 亚马逊echo中国使用_我如何编程我的第一个Amazon Alexa技能并赢得了免费的Echo Dot...

    亚马逊echo中国使用 by Lorrie Pearson 洛里·皮尔森(Lorrie Pearson) 我如何编程我的第一个Amazon Alexa技能并赢得了免费的Echo Dot (How I ...

最新文章

  1. 十条不错的编程观点(转载)
  2. 机器学习中常见的希腊字母
  3. 【转】Dicom文件解析!!!!!!
  4. Linux CAN通信
  5. Linux磁盘及文件系统(二)Linux下磁盘命名和分区
  6. 21 张让你代码能力突飞猛进的速查表(神经网络、线性代数、可视化等)
  7. nginx.conf配置文件简单说明
  8. Oracle存储过程基本语法
  9. 前端- 不用React 而使用 Vue,这么做对吗?
  10. GB2312简体中文编码表
  11. 快播创始人王欣成立人工智能公司
  12. 电脑、手机常用分辨率
  13. SREng 使用指南(二)启动项目详细解说
  14. 仿QQ登录界面UI设计
  15. 【电脑系统】c盘误操作删除EFI引导分区后,开机一直checking media
  16. CocosCreator微信小游戏开发 之 开放数据域设置微信好友排行榜布局自适应高度和宽度
  17. [附源码]计算机毕业设计JAVA领导干部听课评课管理系统
  18. 打开网页弹出“出现了运行时间错误,是否要调试”的解决办法
  19. Leecode 刷题记录 1217 玩筹码
  20. NXP的S32K系列MCU怎么样?

热门文章

  1. EXCEL常用查询函数?查询函数的妙用
  2. JAVA毕业设计大数据在线考试系统在线阅卷系统及大数据统计分析计算机源码+lw文档+系统+调试部署+数据库
  3. Arduino与墨子号 BC26 4G模块的对接开发
  4. 电磁学matlab仿真实验报告,利用MATLAB语言处理电磁学实验.doc
  5. 接口测试用例设计理论
  6. SpringBoot2通过CXF框架整合Webservice
  7. Word里的数学符号在哪里
  8. Android input touchpanel双击灭屏
  9. 搭建环境方便简单教程之php环境详细搭建
  10. message计算机英语,计算机英语词汇解释汇总