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.
- 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.
Wymagania: Python 3.11
-
Instalacja biblioteki:
# Podstawowe użycie jako SDK pip install neuron-bridge # Instalacja z funkcjonalnością serwera pip install "neuron-bridge[server]"
-
Instalacja sterowników urządzenia: Biblioteka nie zawiera zastrzeżonych SDK producentów – należy je zainstalować manualnie.
- BrainAccess: Strona producenta.
Serwer WebSocket automatycznie łączy się z pierwszym dostępnym urządzeniem EEG.
bridge-server --host localhost --port 50050Klienty mogą łączyć się z ws://localhost:50050 i wysyłać żądania w formacie JSON ({"request": "get_device_info"}).
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()- Sklonuj repozytorium:
git clone https://github.com/KN-Neuron/Bridge.git - Stwórz i aktywuj środowisko:
python -m venv .venv && source .venv/bin/activate - Zainstaluj zależności:
pip install -e ".[dev]" - Zainstaluj hooki pre-commit:
pre-commit install(jednorazowo)
Projekt wykorzystuje pre-commit do automatyzacji sprawdzania i formatowania kodu.
- Wprowadź zmiany w kodzie.
- Dodaj pliki do commita:
git add . - 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.
- Narzędzia (
- Stwórz nowy moduł w
bridge/eeg/. - Zaimplementuj klasę dziedziczącą po
EEGDevice. - Zarejestruj ją w
bridge/eeg/config.py. - Dodaj testy w katalogu
tests/.