KrzyszurandClaude Opus 5.5 2b6d43eb45 macOS: do not reset the box on connect
On macOS/Linux the OS asserts DTR and RTS when the port is opened and
pyserial then writes DTR before RTS, passing through RTS=1/DTR=0 - the
USB-Serial-JTAG reset state. Every Connect restarted the box. Drop RTS
before open and DTR right after it on posix; Windows is unchanged.

Verified on macOS 27 / arm64 with box A4:CB:8F:C9:47:3C (fw 1.0.16,
build 3ae273ec): connect keeps the box running, Reset & capture still
restarts it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 00:06:48 +02:00
2026-09-26 16:11:07 +02:00
2026-09-28 17:31:03 +02:00

KOTA Sensorbox Technician Tool

Diagnoza sensorboxa przez USB, wgrywanie firmware z folderu firmware/ i przygotowanie karty SD. Działa na Windows 10/11 i macOS 13 (Ventura) lub nowszym, na Macach z Intelem i Apple Silicon.

Repozytorium: https://gitea.kota-app.com/kkallas/kota-technician-tool (dostęp nadaje właściciel repozytorium).

Instrukcja krok po kroku ze zrzutami ekranu: docs/INSTRUKCJA_TECHNIKA.md (do druku: PDF). Box podłączaj tak, żeby po drodze była wtyczka USB 2.0 typu A (do komputera albo do huba).

Dla technika: dwa pliki

System Aktualizacja Uruchomienie
Windows update_windows.bat run_windows.bat
macOS update_macos.command run_macos.command
  • Aktualizacja sprawdza na Gitea najnowszą wydaną wersję i pobiera tylko to, co się zmieniło (pliki programu, firmware i potrzebne biblioteki). Uruchom ją, gdy firmware team ogłosi nową wersję, albo po prostu przed wyjazdem do klienta. Pokazuje, co się zmieniło.
  • Uruchomienie startuje program. Nie łączy się z Gitea, działa też bez internetu (po pierwszej aktualizacji).

Nie trzymaj folderu narzędzia w Google Drive ani OneDrive.

Pierwsza instalacja (raz na komputer)

  1. Na Gitea otwórz Releases i przy najnowszej wersji pobierz Source Code (ZIP).
  2. Rozpakuj do zwykłego folderu, np. Dokumenty\KOTA\technician-tool (macOS: ~/Documents/KOTA/technician-tool).
  3. Uruchom plik aktualizacji dla swojego systemu. Za pierwszym razem:
    • połączy folder z Gitea i zapyta o login do Gitea (hasło lub token); system je zapamięta,
    • zainstaluje brakujące narzędzia za Twoją zgodą: Git (Windows: przez winget; macOS: Apple Command Line Tools
      • po ich instalacji uruchom aktualizację jeszcze raz) oraz uv (menedżer Pythona, tylko dla bieżącego użytkownika),
    • pobierze biblioteki Pythona (1–2 minuty, potrzebny internet).
  4. Uruchom program plikiem run_....

macOS: jeśli Finder odpowie, że pliku nie można uruchomić (zdarza się po rozpakowaniu zip), otwórz Terminal, wpisz bash (ze spacją), przeciągnij update_macos.command do okna i naciśnij Enter. Po pierwszej aktualizacji oba pliki .command dają się już otwierać dwuklikiem.

Zamiast zip można też zrobić git clone https://gitea.kota-app.com/kkallas/kota-technician-tool.git i dalej używać tych samych dwóch plików.

Konkretna starsza wersja (np. do serwisu nietypowego boxa): w folderze narzędzia git switch --detach v0.8; kolejna aktualizacja wraca do najnowszej.

Wszystkie wersje używają jednego środowiska Pythona poza folderem narzędzia: %LOCALAPPDATA%\KotaTechnicianTool\venv (Windows), ~/Library/Caches/KotaTechnicianTool/venv (macOS). Stare środowiska venv-0.x z poprzednich wersji można usunąć.

Sesje, kopie zapasowe flash i ustawienia są w ~/KotaTechnicianTool (Windows: C:\Users\<użytkownik>\KotaTechnicianTool).

Port sensorboxa

  • Windows: COMx - Sensorbox (native USB) [MAC]
  • macOS: /dev/cu.usbmodemXXXX - Sensorbox (native USB) [MAC]

Kabel USB musi przenosić dane (nie tylko ładowanie). Przy restartach z komunikatem o brownout użyj innego portu lub zasilacza.

Wi-Fi przez USB (bez otwierania obudowy)

Zakładka Wi-Fi (USB): podłącz box kablem USB, kliknij Connect to the box, wpisz nazwę sieci i hasło, kliknij Write to the box and connect. Box zapisuje je na karcie SD, restartuje się i łączy z siecią (zamiast Matter); zakładka pokazuje każdy krok aż do „Connected ... (signal -58 dBm)”. Read current Wi-Fi settings pokazuje zapisaną sieć (bez hasła), Remove Wi-Fi wraca do Matter. Wymaga firmware z komendami USB (plik firmware/merged-binary-v13.bin lub nowszy); starszy firmware wgraj w zakładce Flash firmware (tryb App only zachowuje parowanie i ustawienia).

Firmware

Wgrać można tylko pliki .bin z folderu firmware/. Lista pokazuje datę kompilacji zapisaną w pliku, najnowszy build jest na górze. Nowy build: wrzuć plik do firmware/ i kliknij Refresh list.

Dla zespołu

  • Praca nad zmianą: gałąź (git switch -c feature/<nazwa>) → commity z przechodzącymi testami → git push -u origin feature/<nazwa> → pull request na Gitea → merge do main.
  • Wydanie wersji: numer w pyproject.toml, kota_tech/__init__.py i uv.lock, tag vX.Y (git tag -a vX.Y -m "Technician tool vX.Y", git push origin vX.Y), opis w Releases na Gitea. Aktualizacja techników bierze tylko tagi v* – zmiany w main bez tagu do nich nie trafiają.
  • Nie commitujemy ENV.TXT z prawdziwym tokenem ani haseł Wi-Fi.
  • Testy:
uv run --frozen pytest -q

Zmiany w wersjach: docs/CHANGES-v0.*.md; historia v0.1–v0.8 jest w tagach gita.

S
Description
No description provided
Readme
5.4 MiB
0 Stars 1 Watchers 0 Forks
Languages
Python 97.8%
Batchfile 1.1%
Shell 1.1%