展示HN:我为我的2001年宝马的原装信息娱乐系统制作了一个Matrix聊天客户端
我为我的2001年宝马信息娱乐系统制作了一个Matrix聊天客户端,使用了Kotlin、Jetpack Compose、树莓派以及我设计的自定义PCB,以便插入到原厂接线束中:
<a href="https://e39.dev/hmi/Matrix/Matrix.html" rel="nofollow">https://e39.dev/hmi/Matrix/Matrix.html</a><p>我使用Compose MPP交叉编译到树莓派(运行Raspbian),从零开始制作了自己的信息娱乐系统。它可以在2001年款的宝马原厂显示屏上运行,该显示屏配有一个可以收缩的屏幕,后面有一个卡带播放器。<p>随后,我为该系统编写了一个Matrix聊天客户端。唯一的输入设备(没有触摸屏)是一个可以按压的旋钮。旋钮事件通过汽车的IBUS串行总线发送,我将其集成到Compose MPP的用户界面状态中。<a href="https://e39.dev/hmi/WidgetFramework/KnobListener.html" rel="nofollow">https://e39.dev/hmi/WidgetFramework/KnobListener.html</a><p>我从2021年1月开始着手这个项目,当时Compose MPP处于里程碑2版本。<p>Matrix页面上有一个很棒的视频,展示了我在台式车模拟器上运行该系统的情况。主页<a href="https://e39.dev/" rel="nofollow">https://e39.dev/</a>提供了整个系统的概述,并且还有关于我制作的其他功能的介绍,例如我从零开始制作的开放街图查看器。
查看原文
I made a Matrix chat client for my 2001 BMW infotainment system using Kotlin, Jetpack Compose, a Rasbperry Pi, and a custom PCB I designed to plug into the factory wiring harness:
<a href="https://e39.dev/hmi/Matrix/Matrix.html" rel="nofollow">https://e39.dev/hmi/Matrix/Matrix.html</a><p>I used Compose MPP cross-compiled to a Raspberry Pi (running Raspbian) to make my own Infotainment system from scratch. It works on the 2001-vintage factory BMW display with a retractable screen that has a cassette deck behind it.<p>I then wrote a Matrix Chat Client for the system. The only input device (no touch screen) is a rotary knob that can be pressed. The knob events are sent via the car's IBUS serial bus, which I integrated into the Compose MPP UI state <a href="https://e39.dev/hmi/WidgetFramework/KnobListener.html" rel="nofollow">https://e39.dev/hmi/WidgetFramework/KnobListener.html</a><p>I've been working on this project since January 2021, when Compose MPP was at the Milestone 2 release.<p>The Matrix page has a great video of the system in action on the bench-top car-surrogate I made. The homepage, <a href="https://e39.dev/" rel="nofollow">https://e39.dev/</a>, shows an overview of the whole system, and also has writeups on the other features I made, such as the Open Street Map viewer that I also made from scratch.