raspberry pi_认识OpenAuto,这是Raspberry Pi的Android自动模拟器

raspberry pi

2015年,Google推出了Android Auto ,该系统允许用户将其Android智能手机上的某些应用投射到汽车的信息娱乐显示器上。 Android Auto的驾驶员友好界面带有较大的触摸屏按钮和语音命令,旨在使驾驶员在导航,音乐,播客,广播,电话等时更轻松,更安全地控制道路。 Android Auto还可以在Android智能手机上作为应用程序运行,从而使没有现代主机座显示器的旧型号车辆的所有者可以利用这些功能。

尽管有许多可用于Android Auto的应用程序 ,但开发人员正在努力将其添加到其目录中。 一个名为OpenAuto的新的开放源代码工具希望通过为开发人员提供一种在Raspberry Pi上模拟Android Auto的方式来简化这一过程。 使用OpenAuto,开发人员可以在与实际汽车机头单元类似的工作条件下测试其应用程序。

OpenAuto的创建者Michal Szwaj回答了有关他在Opensource.com上的项目的一些问题。 为了简明扼要,对某些回复进行了编辑。

什么是OpenAuto?

简而言之,OpenAuto是Android Auto主机的仿真器。 它模拟了主机软件,并允许您在PC或任何其他嵌入式平台(如Raspberry Pi 3)上使用Android Auto。

主机软件是Android Auto投影的前端。 与Android Auto相关的所有魔术(例如导航,Google Voice Assistant或音乐播放)均在Android设备上完成。 使用视频的H.264编解码器和音频流的PCM编解码器可以完成Android Auto在主机上的投影。 主机软件通常就是这样做的-它解码H.264视频流和PCM音频流并将它们一起播放。 主机的另一功能是提供用户输入。 OpenAuto同时支持触摸事件和硬键。

OpenAuto在哪些平台上运行?

我部署OpenAuto的目标平台是Raspberry Pi 3计算机。 为了成功部署,我需要使用Raspberry Pi 3 GPU(VideoCore 4)实现对视频硬件加速的支持。 因此,即使使用1080p @ 60 fps分辨率,也可以处理Raspberry Pi 3计算机上的Android Auto投影。 我使用了随Raspberry Pi固件一起提供的OpenMAX IL和IL客户端库来实现视频硬件加速。

利用Raspberry Pi操作系统是基于Debian Linux的Raspbian这一事实,OpenAuto也可以为支持硬件视频解码的任何其他基于Linux的平台构建。 大多数基于Linux的平台都直接在GStreamer中提供对硬件视频解码的支持。 借助于Boost和Qt等高度可移植的库,OpenAuto可以在Windows平台上构建和运行。 社区正在实施对MacOS的支持,并应尽快提供。

项目使用什么软件库?

OpenAuto的核心是aasdk库,该库提供对所有Android Auto功能的支持。 aasdk库建立在Boost,libusb和OpenSSL库的顶部。 libusb实现主机和Android设备之间的通信(通过USB总线)。 Boost提供了对异步通信机制的支持。 主机软件的高效率和可扩展性是必需的。 OpenSSL用于加密通信。

aasdk库旨在完全可重复使用,以实现与主机软件相关的任何目的。 您可以使用它为所需的平台构建自己的主机软件。

Qt是OpenAuto中另一个非常重要的库。 它支持OpenAuto的多媒体,用户输入和图形界面。 OpenAuto使用的构建系统是CMake 。

注意:Android Auto协议取自另一个名为HeadUnit的出色的Android Auto 主机单元项目。 从事此项目的人员在对AndroidAuto协议进行反向工程并创建用于对所有消息进行结构化的协议缓冲区方面做得非常出色。

您需要什么设备在Raspberry Pi上运行OpenAuto?

除了Raspberry Pi 3计算机和Android设备之外,您还需要:

  • USB声卡: Raspberry Pi 3没有麦克风输入,使用Google Voice Assistant时需要
  • 视频输出设备:您可以使用触摸屏或连接到HDMI或复合输出(RCA)的任何其他视频输出设备
  • 输入设备:例如,触摸屏或USB键盘

您还需要什么其他入门?

有关如何为Raspberry Pi 3平台进行构建的详细说明 。 在其他基于Linux的平台上,构建过程看起来非常相似。

在Wiki页面上,您还可以找到其他有用的说明,例如如何配置蓝牙免提配置文件(HFP)和高级音频分发配置文件(A2DP)和PulseAudio。

关于OpenAuto我们还应该了解什么?

OpenAuto允许任何人基于Raspberry Pi 3硬件创建主机。 不过,您应该始终注意安全性,并记住OpenAuto只是一个模拟器。 它未经任何权威机构的认证,也未在驾驶环境中进行测试,因此不建议在汽车中使用。


OpenAuto已根据GPLv3许可。 有关更多信息,请访问项目的GitHub页面 ,您可以在其中找到其源代码和其他信息。

翻译自: https://opensource.com/article/18/3/openauto-emulator-Raspberry-Pi

raspberry pi

你可能感兴趣的:(linux,android,java,嵌入式,操作系统)