扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1. HVAC 功能介绍
HVAC 全称:供暖通风及空调(Heating Ventilation and Air Conditioning)。用户可以通过他来控制整个汽车的空调系统,这是汽车中非常重要的一个功能。
虽然汽车空调HMI并不复杂,但它们大多使用符号来表示功能。对于还没有实际使用过汽车空调系统的开发人员来说,了解空调各符号的含义也是非常必要的。
下面是Android HVAC介绍了空调系统中最基本的功能。
1.1 双区温度调节
默认情况下,空调的温度调节功能是华氏度,可在系统中设置修改温度单位。可调范围为61 - 82华氏度,对应162华氏度 - 28 摄氏度。
左按钮用于调节主驾驶员,右按钮用于调节副驾驶员。过去只有高配置车型才有双区空调,现在车上的双区空调几乎是标准配置。
1.2 空调开关
打开和关闭空调开关
1.3 内/外循环
内循环是汽车空调系统的一种状态。在这种状态下,车内外通风通道关闭,风扇关闭时车内气流不循环。当风扇打开时,吸入的气流只来自车内,形成车内的气流循环。
相反,当风扇打开时,吸入的气流只来自车外,可以更新车内的空气质量,成本更高。
1.4 风量调节
用于增加或减少空调的风量。
1.5 风向调节
从左到右分别是吹脸、吹脸+吹脚、吹脚+吹挡风玻璃
1.6 A/C开关
A/C按钮,即制冷开关,按A/C按钮,即启动压缩机,一般来说就是开冷空气。
1.7 加热主副驾座椅
左按钮用于调节主驾驶座加热,右按钮用于调节副驾驶座加热
1.8 除霜
左边的按钮是打开/关闭前挡风玻璃加热,打开后用来去除前挡风玻璃上的雾气。右边的按钮是打开/关闭后加热挡风玻璃,打开后用来去除后挡风玻璃上的雾气。
1.9 自动模式
事实上,自动空调省略了风速、风向等调节功能。自动空调是全自动调节,只需选择风向和设定温度。按下AUTO按钮后,根据车内传感器控制出风温度,冬季热风,夏季冷风。它会保持车内更合适的温度。如果温度过高或过低,空调会自动改变出风口的温度和风速,调节车内温度。
以上是车载空调系统中最基本的功能。在实际开发中,我们还会遇到一些近年来才出现的新型空调功能,如座椅通风、座椅按摩、智能新风、负离子等。在应用程序开发中,只不过是更多的界面或按钮。
2. HVAC 源码结构
本文中的源代码基于Android 12下HVAC APP,源码请见:https://github.com/linux-link/CarHvac
原生Hvac Activity中没有Activity、Fragment等传统意义上用于显示HMI的组件,取而代之的是使用Service显示Window。主要原因是HVac的界面层次高于普通HMI,呼出HVac时需要部分或全部覆盖其他应用(当然IVI中还是有比HVac更高的应用)。这个时候使用Activity是不合适的。
需要注意的是,Havc在Android 虽然12中有一个独立的应用程序,但上图显示,空调并没有使用这个独立的应用程序,它的HMI和逻辑实现直接写在SystemUI中。
我们可以通过adb发送广播来调出独立的Hvac应用程序。
adb shell am broadcast -a android.car.intent.action.TOGGLE_HVAC_CONTROLS
以下是Hvac 源代码结构图是App关键部分
3. HVAC 核心源代码分析
3.1 AndroidManifest.xml
3
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流