Skip to content

TexablePlum/PixelTree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PixelTree

Kompleksowy system sterowania oświetleniem dekoracyjnym ARGB LED

Flutter Dart C++ ESP32 Arduino FreeRTOS BLE


O projekcie

PixelTree to projekt inżynierski systemu sterowania łańcuchem adresowalnych diod LED. System składa się z mikrokontrolera ESP32-S3 z dedykowanym oprogramowaniem układowym, aplikacji mobilnej na platformy Android oraz iOS napisanej w technologii języku Dart i frameworku Flutter, a także obudowy zaprojektowanej w technologii druku 3D.

Projekt powstał w ramach pracy inżynierskiej pt. „Projekt i realizacja systemu oświetlenia dekoracyjnego ARGB LED z wykorzystaniem mikrokontrolera ESP32 wraz z dedykowaną aplikacją mobilną”.

Pełna dokumentacja projektowa

Szczegółowy opis architektury, poszczególnych modułów oraz warstwy sprzętowej znajdziesz w głównej dokumentacji: Projekt_inżynierski_Dominik_Porębski.pdf

Główne funkcjonalności

  • Złożone efekty świetlne – ponad 40 w pełni konfigurowalnych animacji generowanych z wykorzystaniem przestrzeni barw HSV oraz zoptymalizowanej biblioteki FastLED.
  • Płynność i wydajność – płynne animacje generowane w 60 klatkach na sekundę. Wysoka wydajność zapewniona jest dzięki podziałowi zadań na wielordzeniowej architekturze układu.
  • Aplikacja wieloplatformowa – jedna, spójna baza kodu dla systemów Android i iOS z dedykowanym, responsywnym interfejsem użytkownika i wsparciem dla dwóch języków (polski, angielski).
  • Wykrywanie w sieci lokalnej – obsługa protokołu mDNS pozwala na bezproblemowe wyszukiwanie oraz zarządzanie wieloma instancjami PixelTree bez konieczności ręcznego wpisywania adresów IP.
  • Bezpieczeństwo połączenia – wstępna konfiguracja danych sieciowych realizowana w oparciu o Bluetooth Low Energy z szyfrowaniem wymiany w standardzie ECDH + AES.

Architektura Systemu

Poniższy diagram przedstawia ogólną architekturę rozwiązania i przepływ informacji w systemie:

graph LR
    subgraph Aplikacja Mobilna
        APP[Aplikacja Flutter<br/>Android / iOS]
    end

    subgraph Interfejsy Komunikacyjne
        BLE[Bluetooth Low Energy<br/>Parowanie i Konfiguracja]
        WIFI[WiFi / REST API<br/>Sterowanie i mDNS]
    end

    subgraph Sprzęt i Firmware
        ESP[Mikrokontroler ESP32-S3<br/>Firmware C++ / FreeRTOS]
        LED[Łańcuch LED<br/>WS2812D]
    end

    APP <-->|Uwierzytelnianie| BLE
    APP <-->|Wymiana JSON| WIFI
    BLE <--> ESP
    WIFI <--> ESP
    ESP -->|Protokół NZR| LED
Loading

Wykorzystane Technologie

Warstwa Sprzętowa

Element Charakterystyka
ESP32-S3 Plus Dwurdzeniowy mikrokontroler (Xtensa LX7, 240 MHz) ze zintegrowanym modułem WiFi 4 oraz Bluetooth 5.0. Stanowi główną jednostkę obliczeniową.
WS2812D Adresowalne diody ARGB, sterowane kaskadowo za pomocą jednoprzewodowego protokołu NZR, połączone w łańcuch.
Obudowa FDM Autorska obudowa zabezpieczająca elektronikę i złącza, wyprodukowana techniką druku 3D z tworzyw sztucznych.

Warstwa Oprogramowania

Technologia Opis zastosowania
C++ / Arduino Język oraz środowisko użyte do budowy oprogramowania układowego.
FreeRTOS System operacyjny czasu rzeczywistego. Oddziela obsługę stosu sieciowego (PRO_CPU) od głównej logiki sterowania efektami (APP_CPU).
FastLED Wiodąca biblioteka w C++ odpowiedzialna za szybkie renderowanie animaci, zarządzanie paletami kolorów, zapewniająca mechanizm FastMath.
Flutter / Dart Nowoczesny framework wykorzystany do stworzenia warstwy interfejsu wizualnego aplikacji.
mDNS / REST API Mechanizm odkrywania usług połączony z bezstanową komunikacją po protokole HTTP.

Tryby Łączności i Pracy

System PixelTree został zaprojektowany z naciskiem na łatwość obsługi, oferując dwa komplementarne scenariusze połączenia sieciowego:

Tryb Sieciowy Zasada działania Główne zastosowanie
Station (STA) Sterownik łączy się do istniejącej sieci domowej. Wstępne przekazanie danych WiFi jest bezpiecznie realizowane przez moduł BLE. Standardowy tryb domowy. Umożliwia łatwy dostęp do sterowania wszystkim podłączonym domownikom.
Access Point (AP) Mikrokontroler sam tworzy bezprzewodowy punkt dostępowy, do którego telefon musi podłączyć się bezpośrednio. Brak dostępnej sieci LAN, zastosowania awaryjne oraz wstępne sprawdzenie działania.

Metryka

  • Dominik Porębski
„Projekt i realizacja systemu oświetlenia dekoracyjnego ARGB LED z wykorzystaniem mikrokontrolera ESP32 wraz z dedykowaną aplikacją mobilną”
Politechnika Śląska (Gliwice, 2026)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors