Skip to content

KN-Neuron/Bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bridge

CI PyPI version Python Version Ruff Code style: black Checked with mypy

Wersja: 0.1.0

Bridge to biblioteka (SDK) i aplikacja wiersza poleceń w Pythonie, która tworzy ujednolicony interfejs do zbierania danych z różnych urządzeń EEG. Działa jako "most" między sprzętem a oprogramowaniem analitycznym.

Główne Cechy

  • Architektura Pluginów: Łatwe dodawanie wsparcia dla nowych urządzeń.
  • Podwójne Zastosowanie: Działa jako biblioteka Pythona (SDK) lub samodzielny serwer WebSocket.
  • Ujednolicone API: Zapewnia jeden, spójny sposób komunikacji z każdym wspieranym urządzeniem.

Instalacja

Wymagania: Python 3.11

  1. Instalacja biblioteki:

    # Podstawowe użycie jako SDK
    pip install neuron-bridge
    
    # Instalacja z funkcjonalnością serwera
    pip install "neuron-bridge[server]"
  2. Instalacja sterowników urządzenia: Biblioteka nie zawiera zastrzeżonych SDK producentów – należy je zainstalować manualnie.

Szybki Start

Użycie jako Serwer

Serwer WebSocket automatycznie łączy się z pierwszym dostępnym urządzeniem EEG.

bridge-server --host localhost --port 50050

Klienty mogą łączyć się z ws://localhost:50050 i wysyłać żądania w formacie JSON ({"request": "get_device_info"}).

Użycie jako Biblioteka (SDK)

Klasa EEGConnector to główny punkt wejścia do interakcji z urządzeniem.

from bridge.eeg import EEGConnector, init, close

# Inicjalizacja sterowników
init()

try:
    with EEGConnector() as device:
        info = device.get_device_data()
        print(f"Połączono z: {info.name}")

        # Akwizycja 5 sekund danych
        eeg_data = device.get_output(duration=5.0)
        print(f"Pobrano dane o kształcie: {eeg_data.shape}")

except RuntimeError as e:
    print(f"Błąd: {e}")

finally:
    # Zwolnienie zasobów
    close()

Rozwój Projektu

Konfiguracja Środowiska

  1. Sklonuj repozytorium: git clone https://github.com/KN-Neuron/Bridge.git
  2. Stwórz i aktywuj środowisko: python -m venv .venv && source .venv/bin/activate
  3. Zainstaluj zależności: pip install -e ".[dev]"
  4. Zainstaluj hooki pre-commit: pre-commit install (jednorazowo)

Proces Pracy

Projekt wykorzystuje pre-commit do automatyzacji sprawdzania i formatowania kodu.

  1. Wprowadź zmiany w kodzie.
  2. Dodaj pliki do commita: git add .
  3. Wykonaj commit: git commit -m "Opis zmian"
    • Narzędzia (ruff, black, mypy, pytest) uruchomią się automatycznie.
    • Jeśli kod zostanie automatycznie sformatowany, commit zostanie przerwany. To celowe – przejrzyj zmiany, dodaj je ponownie (git add .) i ponów commit.

Dodawanie Nowego Urządzenia

  1. Stwórz nowy moduł w bridge/eeg/.
  2. Zaimplementuj klasę dziedziczącą po EEGDevice.
  3. Zarejestruj ją w bridge/eeg/config.py.
  4. Dodaj testy w katalogu tests/.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages