Skip to content

Repository files navigation

Bridge

CIPyPI versionPython VersionRuffCode style: blackChecked with mypy

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.

frombridge.eegimportEEGConnector, init, close# Inicjalizacja sterownikówinit()
try:
withEEGConnector() asdevice:
info=device.get_device_data()
print(f"Połączono z: {info.name}")
# Akwizycja 5 sekund danycheeg_data=device.get_output(duration=5.0)
print(f"Pobrano dane o kształcie: {eeg_data.shape}")
exceptRuntimeErrorase:
print(f"Błąd: {e}")
finally:
# Zwolnienie zasobówclose()

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

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages