Matthias Blankertz 69e119a8a0 Add playlist database
Add playlist database based on the micropython 'btree' module.
Supported features are:
* Create playlist
* Load playlist
* Store position in playlist

Different playlist modes will be added in a followup for #24.

Implements #23.

The playlist data is stored in the btree database in a hierarchical
schema. The hierarchy levels are separated by the '/' character.
Currently, the schema is as follows: The top level for a playlist is the
'tag' id encoded as a hexadecimal string. Beneath this, the 'playlist'
key contains the elements in the playlist. The exact keys used for the
playlist entries are not specified, they are enumerated in native sort
order to build the playlist. When writing a playlist using the
playlistdb module, the keys are 000, 001, etc. by default.  The
'playlistpos' key is also located under the 'tag' key and stores the key
of the current playlist entry.

For example, a playlist with two entries 'a.mp3' and 'b.mp3' for a tag
with the id '00aa11bb22' would be stored in the following key/value
pairs in the btree db:
- 00aa11bb22/playlist/000: a.mp3
- 00aa11bb22/playlist/001: b.mp3
- 00aa11bb22/playlistpos: 000

Signed-off-by: Matthias Blankertz <matthias@blankertz.org>
2025-10-07 22:23:51 +02:00
2025-04-01 21:14:39 +02:00
2025-10-07 22:23:51 +02:00
2024-05-31 12:30:59 +00:00
2024-04-15 19:01:00 +02:00

TonBERRY pico

Von TonUINO inspiriert, auf einer moderneren Platform für zusätzliches Features: WLAN und Bluetooth zum Managen der Audiodateien per Handy-App oder Webseite - kein Ausbau der SD-Karte mehr nötig. Aus Sicht des Hörers bleibt die Funktionalität aber die selbe - durch einfaches Auflegen einer RFID-Karte (oder einer Figur mit RFID-Chip) und wenige Tasten zur Lautstärkeregelung kann das Gerät kinderleicht bedient werden.

Dabei soll der Geist des Ursprungsprojekts, dass es ein "einfach" zu bastelndes Projekt auch für Elektronik- und Programmier-Unerfahrene ist erhalten bleiben. Deswegen:

  • Zusammenbau aus fertigen Modulen, die mittels 2.54mm-Raster Sockel/Steckleisten zusammengesetzt werden - keine SMD-Lötarbeiten
  • Die Software ist größtenteils (bis auf kritische Module wie z.B. den MP3-Dekoder) in MicroPython geschrieben, sodass Anpassungen auch ohne weitergehende Programmierkenntnisse möglich sind
  • Die Kombination aus Raspberry Pi Pico W und sonstigen nötigen Modulen sollte nicht nennenswert teurer sein als die Arduino-Module des TonUNIO.

Design

Überlegungen zum Design gibt's im Wiki.

Description
Von TonUINO inspirierte Musikbox auf Basis eines Raspberry Pi Pico W
Readme MIT 4.9 MiB
Languages
C 78.2%
Python 17.7%
CMake 1.8%
Shell 1.2%
C++ 1.1%