Opis bardzo prostych/banalnych skryptów, które w moim przypadku bardzo usprawniają pracę.

Podczas pracy z wieloma urządzeniami komunikującymi się przez UART na windowsie na pewnym etapie stwierdziłem, że sprawdzanie listy portów COM w menagerze urządzeń jest dość niepotymalnym rozwiązaniem - za dużo klikania i można to zdecydowanie usprawnić.

Skrypty zostały napisane około ~3 lata temu i wykorzystuje je cały czas.

Lista portów COM

Powstał więc prosty skrypt w pythonie “COMPorts.py”, który po uruchomieniu wyświetla w formie tabelki informacje o portach COM:

  • ilość portów COM
  • STAN - czy port jest wolny/używany przez jakąś aplikację
  • jego opis w systemie
  • HWID
  • “NAME” - na podstawie HWID można stwierdzić, czy to np. FT232, CH340 itp

Po uruchomieniu wygląda to tak:

obr

Skrypt wykorzystuje moduły pySerial oraz BeatifulTable.

Istnieje też opcja “-n” przy uruchomieniu skryptu - która wyświetli nowe porty COM jakie zostały podłączone do komputera.

Terminalowe GUI do putty

Po usprawnieniu sprawdzania listy portów kolejnym “wąskim gardłem” przy pracy okazało się uruchamianie np. Putty - które wymaga wyklikania kilku rzeczy itp - więc skoro można już wyświetlać listę urządzeń - to może ją wykorzystać dalej - i obudować to w interfejs umożliwiający uruchomienie jakiegoś terminala np. Putty z wykorzystaniem tych danych plus dodać interfejs do wyboru baudrate.

Te funkcjonalności zawarto w skrypcie “termRunner.py”.

Zasada działania:

  • uruchamiamy skrypt z przełącznikiem “-t xxx”, gdzie xxx to nazwa używanego narzędzia do obsługi portu COM - aktualnie działają:
    • putty
    • teraterm
    • dmb - to mój własny stary program
  • program wyświetli listę urządzeń - należy wprowadzić numer portu COM które chcemy uruchomić
  • program wyświetli tabelkę z baudrate do wyboru (domyślnie to 115200)
  • nastąpi uruchomienie wybranego monitora portu

Ważne założenie - “widoczność” putty/teraterm w ścieżkach systemowych.

Prezentacja działania:

obr

Lokalizacja skryptów

Skrypty znajdują się na moim starym GitHubie: https://github.com/dambo1993/moje_konfigi_itp/tree/master/smallApps/smallApps.

Usprawnienie uruchamiania

Jak widać na wcześniejszych screenach uruchomienie skryptu to komenda:

python c:\smallApps\termRunner.py -t putty

Oczywiście - nie polecam klepać takich komend “z palca” za każdym razem.

Ja używam do tego celu aplikacji AHK - usprawnienie polega na tym, że w aplikacji terminala (w moim przypadku to CMDer) wpisuję skrót “sacom” (gdzie “sa” to skrót od “smallApps”, używam to jako prefix dla moich skryptów użytkowych) i AHK podmienia ten text na pełną komendę.

W AHK ta sekcja wygląda tak:

; uruchomienie SA - porty COM
::sacom::python c:\smallApps\COMPorts.py

; uruchomienie SA - porty COM z wyszukaniem nowych
::sacomn::python c:\smallApps\COMPorts.py -n

; uruchomienie SA - termRunner - putty
::saput::python c:\smallApps\termRunner.py -putty

Pełen skrypt AHK dla skrótów których używam w CMDrze znajduje się tutaj: https://github.com/dambo1993/moje_konfigi_itp/blob/master/AHK/ahk_scripts/windowsCommandLine.ahk.