
#015 - windows - lista portów COM
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:
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:
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ę. Równie dobrze sprawdzą się jakieś aliasy komend itp - co kto woli.
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.