This is a project to replace the clock in my car with an ESP32 and a small display.
The replacement clock screen will display time, the currently playing music, and iOS notifications.
Bluetooth low energy is used to communicate with a phone. Note, some services should support any BLE phone, for example the current time service. However the Apple Media Service and the notification service only support iOS.
This displays the current playback information from the iPhone. It doesn't currently support playback controls (e.g. next/previous track).
Special thanks to the following examples. As far as I can tell, this hasn't been implemented using the Arduino ESP32 board library before.
- James Hudson's Apple Notification Center Service This example finally showed how to solicit services using the Arduino ESP32 library, which is not built-in.
- John Park's Adafruit Guide to the Apple Media Service Display This was the first working example I could find. Written in CircutPython.
- Moddable's Apple Media Service example This was another good example, written in javascript.
This gets the current time.
Current Time Service Documentation
Note, the documentation is split over several PDFs. See CurrentTimeService.cpp for more documentation links.