Это старая версия документа!
Родное приложение от производителя «USB Tester Tool», оно же «UsbMeter», до сих пор имеет версию 0.0.6 от середины 2022 года и, похоже, не спешит развиваться вовсе, хотя и является достаточно кривым – помимо прочего еще и связь иногда теряет – и, что главное, не умеющим экспортировать данные в какой-нибудь общепринятый формат, к примеру, тот же .CSV, а сохраняет только в некий проприетарный бинарный формат .CFN, что совсем грустно…
Да, на просторах есть скрипт на Python из пакета «USB-Meter utils», но он не работает на Windows – с Питоном я не знаком, поэтому немного поковырялся и бросил это дело.
Чуть погодя я нашел две альтернативные реализации штатного приложения, но уже с возможностью сохранения в .CSV. Обе на Питоне и одна, по сути является форком другого.
Первая на Windows не запустилась – но и не обещали –, зато, пока я смотрел код и искал причину, которую, понятно, не нашел, понял кое какие нюансы работы «pyusb» на Винде и основательно подготовился к финальной битве!
А вот о второй, которая к тому же является крайне продвинутой по функционалу и максимально близкой к оригиналу, дальше и пойдет речь.
В данной статье используются следующие версии программного обеспечения:
Проверено на FNIRSI FNB48S, но предположительно все нижеизложенное должно с минимальными корректировками подходить и для FNIRSI FNB58, FNIRSI FNB48, FNIRSI C1.
Для запуска этого скрипта необходимо установить Python и зависимости, заменить драйвер устройства и немного подправить код скрипта.
Качаем и устанавливаем Python – тут все просто и в подробном описании не нуждается, но я бы только рекомендовал нажать «Customize installation», в окне «Optional Features» выбрать «for all users (requires admin privileges)», а в следующем окне, «Advanced Options», выбрать «Install Python X.XX for all users» и «Add Python to environment variables».
Для семерки же, помимо пакета обновления 1, необходимо дополнительно установить «KB2533623» или его обновленную версию «KB3063858»1) иначе Питон будет невнятно ругаться и в упор не ставиться… И да, обратите внимание, что максимальная версия Python может быть не выше 3.8.10!
Зависимости ставятся так:
python -m pip install pyusb pyqt5 pyqtgraph matplotlib numpy
При запуске скрипта на Windows 7, скорее всего будет ошибка python.exe «APPCRASH» в модуле «_multiarray_umath.cp38-win32.pyd».
Это известная ошибка NumPy версии 1.24.x и для ее исправления необходимо просто понизить версию до 1.23.0 командой:
python -m pip install --force-reinstall numpy==1.23.0
Для работы PyUsb с тестером стандартный HID драйвер не подходит и это вообще не очевидный момент! – пришлось прилично времени потратить, чтобы найти и разобраться.
Далее остается только скачать релиз, распаковать его и, открыв файл «3usb_meter.py» в любом редакторе, заменить «VENDOR_ID» и «PRODUCT_ID» на нужные – для FNB48S это
VENDOR_ID = 0x2E3C PRODUCT_ID = 0x0049
Все – запускаем скрипт двойным кликом и радуемся программе здорового человека!
Обсуждение