Android App um eine LED-Strip zu steuern
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

Project Plan

I want to build an app to configure a SK6812 RGBW-LED-Strip via websocket connection. Similar to duoCol Strip App in Google Playstore.

Project Brief

Project Brief: LEDLampControl

An intuitive Android application designed to control SK6812 RGBW-LED strips in real-time. The app establishes a low-latency WebSocket connection to provide seamless adjustment of colors, brightness, and dynamic lighting effects, mirroring the functionality of professional LED controllers like duoCol Strip.

Features

  1. Precision Color Control: Interactive RGBW color wheel for selecting millions of colors, including dedicated control for the White (W) channel .
  2. WebSocket Connectivity: Low-latency, bi-directional communication with the LED controller for instantaneous lighting updates.
  3. Dynamic Style Library: A suite of preset lighting modes and animations (e.g., pulse, strobe, rainbow) with adjustable speed and intensity.
  4. Device Discovery & Management: Easy scanning and connection management for local LED controllers on the network.
  5. Adaptive Dashboard: A Material 3 interface that dynamically adjusts its layout for optimal use on phones, tablets, and foldables.

High-Level Technical Stack


Language**: Kotlin

  • UI Framework: Jetpack Compose (Material 3)
  • Navigation: Jet pack Navigation 3 (State-driven)
  • Adaptive Strategy: Compose Material Adaptive Library * ** Networking**: OkHttp (WebSocket support)
  • Asynchrony: Kotlin Coroutines & Flow for reactive state management

UI Design Image

UI Design

Implementation Steps

Task_1_Networking_Domain: Implement the WebSocket communication layer and core data models for LED control (RGBW, Brightness, Modes). Set up the Repository and ViewModel to handle real-time state updates.

  • Status: COMPLETED
  • Updates: Implemented LedState, LedColor, LedModeType, and LedCommand data models. Created LedWebSocketManager using OkHttp for real-time communication. Implemented LedRepository and LedViewModel for state management. Verified with unit tests and a successful build.
  • Acceptance Criteria:
    • WebSocket connection established using OkHttp
    • Data models for RGBW and lighting modes defined
    • State flow for real-time updates implemented
    • Project builds successfully

Task_2_Dashboard_UI: Develop the main adaptive Dashboard UI using Jetpack Compose and Material 3. Include the interactive RGBW color wheel, dedicated White (W) channel slider, and brightness controls.

  • Status: IN_PROGRESS
  • Acceptance Criteria:
    • UI matches the design in D:/Work/Android/LEDLampControl/input_images/image_0.jpeg
    • RGBW color selection and brightness sliders are functional
    • Layout is adaptive for phones and tablets
    • Material 3 vibrant color scheme applied
  • StartTime: 2026-07-16 18:48:33 CEST

Task_3_Device_Management_Styles: Implement device discovery/connection management and the dynamic style library (presets like pulse, rainbow). Integrate Room or DataStore for persisting device settings.

  • Status: PENDING
  • Acceptance Criteria:
    • Device discovery or manual IP entry works
    • Preset lighting modes are selectable and sent via WebSocket
    • Recent devices are saved and restorable
    • App handles connection/disconnection states gracefully

Task_4_Final_Polish_Verify: Finalize the application with an adaptive app icon, edge-to-edge display, and full stability verification.

  • Status: PENDING
  • Acceptance Criteria:
    • Adaptive app icon implemented
    • Full Edge-to-Edge display functional
    • All existing tests pass
    • App does not crash during typical usage
    • Critic agent verifies alignment with project brief and UI design