Dingleberry
Dingleberry is an IoT project with the goal to create a small Raspberry Pi-powered alarm clock.
Hardware
The device consists of a Raspberry Pi Zero 2 W with a Unicorn Hat HD LED matrix display.
Since the Pi Zero does not have an inbuilt audio connector, I'm currently using an old Logitech USB sound adapter that came with a gaming headset (Model A-00061). I will definitely replace this part with a better alternative (it requires an additional Micro-USB to USB-A adapter and is all in all rather bulky).
I'm planning on designing a custom 3D-printed case for the device as soon as the audio connectivity is finalized.
Software
Device
The device runs a .NET 8 application on the default Raspberry Pi OS. Communication with the server happens both via MQTT and REST. First-time-setup is done using BLE to establish a WiFi connection. Audio is done via interop to PulseAudio.
Server
The server is an ASP.NET Core 8 API exposing the aforementioned MQTT and REST/JSON endpoints. Authentication is handled by an Azure AD B2C instance. Data is stored using EF Core in an SQL Server instance.
App
A .NET MAUI app allows controlling the device from a variety of platforms (Windows, MacOS, Android, iOS).
Images
03.06.2023
Device
Case