Integracja RaceChrono BLE

Streamuj telemetrię w czasie rzeczywistym do RaceChrono przez protokół DIY BLE

Dashboard ApexDuck obsługuje streaming telemetrii w czasie rzeczywistym do aplikacji RaceChrono przez Bluetooth Low Energy (BLE). Implementacja wykorzystuje protokół RaceChrono DIY BLE do przesyłania 16 parametrów pojazdu jako wirtualnych pakietów CAN-Bus PID.

Po włączeniu, dashboard rozgłasza się jako urządzenie BLE i akceptuje jedno połączenie RaceChrono. Wszystkie 16 kanałów jest zawsze streamowanych — nie ma możliwości włączania/wyłączania poszczególnych kanałów. Jedynym przełącznikiem jest globalne włączenie/wyłączenie streamingu BLE.

Komunikacja dwukierunkowa

Połączenie BLE między ApexDuck a RaceChrono działa w obu kierunkach, tworząc pełną pętlę telemetrii i pomiaru czasów w ramach jednego połączenia.

ApexDuck → RaceChrono

Dane silnika na żywo są streamowane z ApexDuck do RaceChrono, dzięki czemu parametry takie jak obroty, bieg, prędkość, temperatura płynu chłodzącego i oleju, doładowanie, AFR, ciśnienie oleju czy napięcie akumulatora mogą być wyświetlane bezpośrednio na nakładce wideo RaceChrono — idealne do materiałów z kamery pokładowej.

RaceChrono → ApexDuck

Dane pomiaru czasu są streamowane z powrotem z RaceChrono do ApexDuck, dzięki czemu czasy okrążeń oraz delta do okrążenia referencyjnego pojawiają się na wyświetlaczu ApexDuck w czasie rzeczywistym podczas jazdy.

Z RaceChrono odbierane są następujące dane:

Parametr Nazwa kanału
Aktualny czas okrążenia RACECHRONO_LAP_TIME
Poprzedni czas okrążenia RACECHRONO_PREVIOUS_LAP_TIME
Najlepszy czas okrążenia RACECHRONO_BEST_LAP_TIME
Delta RACECHRONO_DELTA_LAP_TIME
Numer okrążenia RACECHRONO_LAP_NUMBER
Liczba satelitów RACECHRONO_SATELLITES
Prędkość GPS [km/h] RACECHRONO_SPEED

Instrukcja konfiguracji

1. Włącz streaming BLE

Włącz streaming BLE za pomocą strony konfiguracyjnej.

2. Połącz RaceChrono

Otwórz RaceChrono na telefonie/tablecie, przejdź do Settings → DIY CAN-Bus devices → Add new device, wybierz RaceChrono DIY BLE jako typ urządzenia, skanuj urządzenia BLE — dashboard pojawi się jako ApexDuck_XXXX (gdzie XXXX to ostatnie 4 cyfry hex adresu MAC urządzenia, wyświetlane na Device Config Page). Sparuj i połącz.

3. Skonfiguruj kanały w RaceChrono

Dla każdego kanału, który chcesz logować, dodaj nowy "CAN-Bus channel" w RaceChrono z wirtualnym PID (wartość hex) i równaniem z tabeli kanałów poniżej.

Kanały

Wszystkie 16 kanałów jest streamowanych jednocześnie po podłączeniu klienta.

Kanał Wirtualny PID Jednostka Równanie RaceChrono
RPM 0x40000000 rpm A + B * 256
GEAR 0x40000001 — if(A > 127, A - 256, A)
SPEED 0x40000002 km/h (A + B * 256) * 0.1 / 3.6
CLT 0x40000003 °C (A + B * 256) * 0.1
IAT 0x40000004 °C (A + B * 256) * 0.1
AFR 0x40000005 λ×14.7 (A + B * 256) * 0.001
LAMBDA 0x40000006 λ (A + B * 256) * 0.0001
OIL_TEMP 0x40000007 °C (A + B * 256) * 0.1
GEARBOX_TEMP 0x40000008 °C (A + B * 256) * 0.1
BOOST 0x40000009 bar if((A + B * 256) > 32767, (A + B * 256) - 65536, A + B * 256) * 0.1
MAP 0x4000000A bar (A + B * 256) * 0.1
TPS 0x4000000B % (A + B * 256) * 0.1
EGT 0x4000000C °C A + B * 256
BATT 0x4000000D V (A + B * 256) * 0.01
OIL_PRESSURE 0x4000000E bar (A + B * 256) * 0.1
FUEL_PRESSURE 0x4000000F bar (A + B * 256) * 0.1

Encoding: Wszystkie wartości to little-endian uint16. A to 1. bajt, B to 2. bajt (po usunięciu PID przez RaceChrono). Pełna wartość uint16 = A + B × 256.

Units: Przy użyciu wbudowanych typów kanałów RaceChrono (np. "Speed (km/h)"), aplikacja oczekuje wartości w bazowych jednostkach SI (m/s dla prędkości). Równanie prędkości zawiera ÷ 3.6 do konwersji km/h → m/s. Dla kanałów temperaturowych RaceChrono akceptuje °C bezpośrednio. Użyj typu "Custom", jeśli nie chcesz konwersji jednostek.

Kanały rozwiązywane dynamicznie

RPM, GEAR i SPEED respektują konfigurację runtime — jeśli skonfigurujesz RPM z CAN, stream BLE również użyje wartości RPM z CAN.

Rozwiązywanie źródła danych

Pozostałe kanały używają danych EMU, gdy EMU Serial jest głównym źródłem danych. W przeciwnym razie używane są dane CAN jako źródło zapasowe.

Połączenie i rozgłaszanie