Introduction
tmanager is a specialized application designed to manage and automate updates to Kreativ-Tonie devices through external triggers. It provides a seamless way to update your Kreativ-Tonie’s audio content without manual intervention.
Primary Use Case
The application is designed for scenarios like:
- Set up a microcontroller with an NFC reader
- Choose an NFC card and place it on the reader
- The microcontroller sends an HTTP request to tmanager
- Based on the trigger and configuration, tmanager automatically updates the Kreativ-Tonie
- Start listening to your favorite audiobook immediately
This creates a magical experience where simply placing an NFC card triggers the loading of specific audio content onto your Kreativ-Tonie.
Features
Automated Tonie Management
- HTTP Trigger Support: Responds to external HTTP requests to initiate Tonie updates
- Kreativ-Tonie Integration: Direct integration with the my.tonies.com platform
- Audio Content Management: Handles uploading and managing audio files for your Kreativ-Tonies
Audio Processing
- Re-encoding Capability: Automatically re-encode incoming audio files to the desired format
- Multiple Format Support: Handle various audio file formats and convert them as needed
- Storage Management: Organized storage system for audio files and database
Web Interface
- Trigger Management: Web UI with trigger buttons for manual Tonie updates
- Configuration Interface: Easy setup and management of Tonie configurations
- Status Monitoring: Track the status of updates and operations
External Integration
- NFC Reader Support: Designed to work with microcontroller-based NFC readers
- RESTful API: HTTP endpoints for triggering updates from external systems
- Flexible Triggers: Support for multiple trigger types and configurations
Installation
Docker Compose (Recommended)
The easiest way to deploy tmanager is using Docker Compose:
- Create a
docker-compose.yml
file:
version: "3.5"
services:
app:
image: registry.gitlab.com/dedicatedcode/tmanager:latest
environment:
- TONIE_ID=your_tonie_id_here
- MY_TONIE_USERNAME=your_username
- MY_TONIE_PASSWORD=your_password
- REENCODE_CONTENT=true
volumes:
- ./database:/storage/database
- ./audiofiles:/storage/data
ports:
- "8080:8080"
-
Configure your environment variables:
- TONIE_ID: Get this from my.tonies.com/creative-tonies. Select your Kreativ-Tonie and copy the ID from the URL
- MY_TONIE_USERNAME: Your my.tonies.com username
- MY_TONIE_PASSWORD: Your my.tonies.com password
- REENCODE_CONTENT: Set to
true
to enable automatic audio re-encoding
-
Start the application:
docker-compose up -d
From Source
To build and run from source:
- Clone the repository:
git clone https://gitlab.com/dedicatedcode/tmanager.git
cd tmanager
- Build the application:
./mvnw clean install
- Run the application:
./mvnw spring-boot:run
Prerequisites:
- Java 17 or higher
- Maven 3.6 or higher
Configuration
Getting Your Tonie ID
- Visit my.tonies.com/creative-tonies
- Log in to your account
- Select the Kreativ-Tonie you want to manage
- Copy the ID from the browser URL (everything after
/creative-tonies/
)
Environment Variables
TONIE_ID
: Your Kreativ-Tonie’s unique identifierMY_TONIE_USERNAME
: Your my.tonies.com account usernameMY_TONIE_PASSWORD
: Your my.tonies.com account passwordREENCODE_CONTENT
: Enable/disable automatic audio re-encoding (true
/false
)
Storage Volumes
/storage/database
: Application database storage/storage/data
: Audio files storage location
Usage
Web Interface
Access the web interface at http://localhost:8080
to:
- Configure triggers and tags
- Manually trigger Tonie updates
- Monitor application status
- Manage audio content
API Integration
Send HTTP requests to trigger Tonie updates programmatically. Perfect for integration with:
- NFC reader microcontrollers
- Home automation systems
- Custom applications
- IoT devices
NFC Integration Example
For a typical NFC setup:
- Configure your microcontroller with an NFC reader
- Program it to send HTTP requests to tmanager when cards are detected
- Map different NFC cards to different audio content
- Place a card on the reader to automatically update your Kreativ-Tonie
Technical Details
- Framework: Spring Boot application
- Language: Java
- Container: Docker support with GitLab Container Registry
- CI/CD: GitLab CI pipeline for automated builds
- Audio Processing: Built-in re-encoding capabilities
- External API: Integration with my.tonies.com platform
Status
This project is feature complete for my current needs and will not receive new features unless specific requirements arise.
License
tmanager is available under an open-source license. Check the repository for specific license details.