Fluke Bridge, czyli bezprzewodowy adapter Wi-Fi dla mierników Fluke 287/289 z obsługą OBS

Ostatnio zauważyłem, że coraz częściej elektronicy na youtube mają wyświetlane wartości pomiarów multimetrem. Aktualnie jestem posiadaczem miernika marki Fluke, który domyślnie nie oferuje takiego rozwiązania bezprzewodowo. Z tego powodu zacząłem rozkminiać i powstało konkretne rozwiązanie. Pomiar bez kabli, bez sterowników i bezpośrednio w OBS, to cel projektu Fluke Bridge, który stworzyłem jako uniwersalne rozwiązanie dla multimetru Fluke 289. Adapter oparty jest na Seeed XIAO ESP32-C3 i obsługuje zarówno Wi-Fi, jak i tryb USB.

⚙️ Do czego służy Fluke Bridge

  • Umożliwia bezprzewodowy odczyt pomiarów z Fluke 287/289 przez port IR.
  • Dane są przesyłane przez Wi-Fi do lokalnego interfejsu webowego (/status.html) oraz JSON API (/status.json).
  • Działa też w trybie USB (CDC serial), więc nie wymaga sieci.
  • Może współpracować z OBS Studio, aktualizując pliki tekstowe na ekranie streamu lub nagrania.

🔋 Wymagany sprzęt

KomponentFunkcjaUwagi
Seeed XIAO ESP32-C3mikrokontroler + Wi-Fimały moduł z USB-C
LM393 IR transceiverinterfejs z portem IR FlukeRX=GPIO20, TX=GPIO21
Akumulator Li-ion 18650zasilaniez płytką ochronną
DW01A + 8205Aukład PCMzabezpieczenie przed przeładowaniem
Dioda LED GPIO3wskaźnik bateriiświeci / miga przy niskim napięciu
BOOT / RESETkonfiguracja Wi-Fi i restartBOOT > 3 s → reset sieci

🌐 Tryb sieciowy i panel webowy

  • Po pierwszym uruchomieniu tworzy sieć FlukeBridge-XXXX i uruchamia portal konfiguracyjny.
  • Po wpisaniu danych Wi-Fi moduł łączy się z domową siecią.
  • Interfejs:
    • / – strona główna
    • /status.html – panel na żywo
    • /status.json – API dla skryptów
    • /update – OTA aktualizacja firmware’u
    • /config – kalibracja baterii i dzielnika

🧠 Funkcje oprogramowania

  • automatyczna konfiguracja Wi-Fi (AP + portal)
  • dashboard AJAX + tryb dark
  • obsługa mDNS (fluke-bridge.local)
  • monitor napięcia baterii z histerezą
  • logika LED dla poziomu naładowania
  • OTA update z przeglądarki
  • tryb USB fallback z poleceniami SOC/VBAT

🐍 Oprogramowanie na komputerze - fluke_read.py

Skrypt Python czyta dane z HTTP lub USB i zapisuje je dla OBS.
Obsługuje tryby LIVE / HOLD / OFF, filtruje błędy i tworzy log CSV.

Pliki generowane:

  • fluke_value.txt – wartość pomiaru
  • fluke_status.txt – status (LIVE/HOLD/OL/OFF)
  • fluke_log.csv – historia pomiarów

Uruchomienie:

# Wi-Fi
python3 fluke_read.py --http http://fluke-bridge.local/status.json
# USB
python3 fluke_read.py --serial /dev/ttyACM0

🎥 Integracja z OBS Studio (Linux / Windows)

💻 Linux / macOS

1. Zainstaluj Pythona 3 (w systemie zwykle już jest).

2. Zainstaluj bibliotekę pyserial:

pip install pyserial

3. Dodaj w OBS dwa źródła tekstowe (Text → Read from file):

  • fluke_value.txt → aktualna wartość pomiaru
  • fluke_status.txt → status (LIVE / HOLD / OFF)

4. Uruchom skrypt:

./run_obs_with_fluke.sh

Skrypt automatycznie:

  • sprawdza dostępność HTTP (/status.json),
  • jeśli urządzenie nie odpowiada, przełącza się na tryb USB (/dev/ttyACM0),
  • uruchamia OBS, jeśli jest zainstalowany.

🪟 Windows

1. Zainstaluj Python 3 (ze strony python.org).
W PowerShell wpisz:

py -3 -m pip install --upgrade pip
py -3 -m pip install pyserial

2. Upewnij się, że Fluke Bridge jest widoczny w „Menedżerze urządzeń” jako port COM (np. COM3).

3. W OBS dodaj dwa źródła tekstowe (GDI+ → Read from file):

  • fluke_value.txt
  • fluke_status.txt

4. Uruchom skrypt:

pc\run_obs_with_fluke.bat

Skrypt automatycznie próbuje połączyć się z urządzeniem przez Wi-Fi (/status.json), a jeśli nie odpowiada - przełącza się na port USB (domyślnie COM3).

Można też nadpisać domyślne zmienne środowiskowe:

set URL=http://fluke-bridge.local/status.json
set SER=COM5
pc\run_obs_with_fluke.bat

🔧 Aktualizacja OTA

  1. W Arduino IDE → Export Compiled Binary lub pobierz aktualny release z GitHub.
  2. Otwórz http://fluke-bridge.local/update
  3. Wgraj plik .ino.bin i poczekaj na restart
    Ustawienia Wi-Fi pozostają zachowane.
StanPróg napięciaLED GPIO3
pełna> 4.15 VOFF
niski (WARN)≤ 3.40 VON ciągle
krytyczny (CRIT)≤ 3.00 Vmiga ~1 Hz
CRIT > 15 suśpienie ESP

Kompletna dokumentacja jest dostępna pod adresem:

https://github.com/Andrzej-Jablonski-project/FlukeBridge

Dołącz do rozmowy

Witaj na moim blogu, gdzie elektronika i oprogramowanie to główne tematy. Jako osoba za sterami tego miejsca, dążę do dostarczania wartościowych treści. Twoje komentarze stanowią dla mnie napęd do ciągłego doskonalenia. Ciekawią mnie Twoje myśli, pytania i osobiste doświadczenia związane z tym fascynującym światem. Przeglądając wpisy, na pewno masz wiele pomysłów i opinii. Nie krępuj się, podziel się nimi poniżej. Każdy komentarz to nie tylko opinia zwrotna, ale także początek inspirującej dyskusji.