v1.8.0#
v1.8.0 — это крупный функциональный выпуск, сосредоточенный на сетевых возможностях и видео: он добавляет программирование OpenMV Cam по WiFi, видеорегистратор буфера кадра и меню Tools > Video Tools на основе встроенного ffmpeg/ffplay. Также добавлена поддержка новой платы OpenMV Cam H7 (OMV4) и расширена работа IDE на Raspberry Pi (Linux ARM). Этот выпуск остаётся на базе Qt Creator 4.0.2 и не содержит несовместимых изменений для существующих проектов.
Основные моменты#
Программирование по WiFi. IDE теперь прослушивает широковещательные UDP-объявления от OpenMV Cam с установленным WiFi-щитом, перечисляет обнаруженные камеры (имя плюс
IP:port) в диалоге подключения и общается с ними по TCP в качестве альтернативы последовательному порту (69dc7dfbf).Видеорегистратор буфера кадра. Новые кнопки на панели инструментов Record/Stop записывают живой поток изображений в файл OpenMV
ImageWriter, одновременно показывая метку статуса с прошедшим временем/размером/FPS (39142ef70, 5aceab31a).Меню Video Tools.
Tools > Video Toolsдобавляет Convert Video File и Play Video File, использующие встроенный ffmpeg/ffplay для перекодирования и воспроизведения видео и прозрачно конвертирующие записиImageWriter.binсначала в MJPEG AVI; Play Video File доступен только в Windows и macOS, поскольку ffplay не входит в комплект для Linux/Raspberry Pi (d35f8d1ca, 8a99c994f).OpenMV Cam H7 (OMV4). Новая плата STM32H743 теперь распознаётся и поставляется с собственным встроенным загрузчиком и прошивкой (e14810382).
Поддержка Raspberry Pi. Теперь включены сборки IDE для Linux ARM, что приносит OpenMV IDE на Raspberry Pi (f551b5f97).
Новые возможности#
Файл настроек OpenMV Cam.
Toolsдобавляет диалог для записи настроек загрузки/WiFi камеры вmain.ini, включая включение WiFi, выбор режима клиента или точки доступа, SSID/пароль/тип безопасности, имя платы и опцию Duplicate REPL on the UART on startup, хранящуюся в настройках загрузкиmain.ini(69dc7dfbf, 39142ef70).Параметры командной строки для сетевого терминала. Добавлены
-open_udp_client_terminal,-open_udp_server_terminal,-open_tcp_client_terminalи-open_tcp_server_terminalнаряду с существующей опцией последовательного терминала (6362066a8, d75209269).Дополнительные параметры командной строки. Открыты
-update_resources,-open_serial_terminal(port_name:baud_rate),-override_read_timeoutи-override_read_stall_timeout(061aacf15).Режим сервера терминала. Терминальные подключения UDP/TCP теперь могут работать в режиме сервера, привязываясь к локальному порту (порт
0выбирает любой) вместо подключения только к удалённому хосту (956e8a2f5).Новые примеры скриптов. Добавлены примеры коррекции линзы, коррекции 3D-поворота и низкого энергопотребления со сном датчика, а пример обнаружения отрезков линий переписан под новый API
find_line_segments(merge_distance, max_theta_diff)(061aacf15).
Прочие изменения и улучшения#
Подсказки аргументов функций и подсветка синтаксиса теперь корректно охватывают несколько строк, поэтому многострочные вызовы функций сохраняют подсказки аргументов и подсветку (6535e9fdd, 4638bdd18).
Строка состояния терминала с разрешением/ROI теперь также сообщает количество пикселей в ROI (956e8a2f5).
Диалог регистрации OpenMV Cam теперь показывает плату/ID и адрес электронной почты поддержки, а диалог прогресса
Connecting...советует нажать Cancel через 5 секунд (4638bdd18, e14810382).Панель Search Results теперь переоформляет поле с номерами строк и текст результатов явными цветами тёмной темы, чтобы они были читаемы на тёмном интерфейсе (b2599f9ea).
Циклы записи терминалов Serial/UDP/TCP теперь кратко уступают управление между записями, чтобы интерфейс оставался отзывчивым и повышалась пропускная способность (c4700e2b0).
Поля значений статистики гистограммы теперь резервируют фиксированную минимальную ширину, поэтому панель больше не перекомпонуется при изменении чисел, а кнопки выдвижной панели переключения режимов растягиваются вместо использования фиксированной ширины 160px (5aceab31a).
Подавлено ложное предупреждение
JIT is disabled for QMLпри запуске с помощью пользовательского обработчика сообщений Qt (954220e39).
Исправления ошибок#
Всплывающие подсказки документации и подсветка теперь распознают типы исключений Python (рассматриваются как данные), и несколько записей документации модулей/индексов были исправлены, чтобы они отображались корректно (4638bdd18, 3613a7867, 897b9b0e2, e3e41c56e).
Усилены проверки в средстве проверки обновлений пакетов и при разборе широковещательных объявлений/регистрации камер за счёт привязанных, обрезанных регулярных выражений и более строгого сопоставления HTML-ответов во избежание ложных совпадений (461af1148, 4638bdd18).
Исправлен идентификатор платы OpenMV Cam M4 (OpenMV2), используемый для определения API старой прошивки, с
OMV2наOPENMV2(449024fe8).Усилена защита ввода-вывода камеры и видеоперекодировщика от повреждённых/чрезмерно больших данных кадра за счёт более строгих проверок границ ширины/высоты/bpp/длительности, а также устранено деление на ноль при вычислении FPS видео (08248f208, d0cbc27e5).
Инструменты конвертации/воспроизведения видео теперь работают на macOS, 32-битных системах и Linux-ARM за счёт запуска ffmpeg/ffplay через сгенерированный shell-скрипт или обёртку
cmd.exeи включения в комплект бинарников ffmpeg для Linux (b9644e859, 9f0520bbe, 35eb69bce, c4700e2b0).
Поддержка платформ и инструментов#
База Qt Creator: 4.0.2.
OpenMV Cam H7 (OMV4, STM32H743): новая плата распознаётся с собственным встроенным загрузчиком и прошивкой (e14810382).
Встроенная прошивка OpenMV: обновлена до 2.6.0 для OPENMV2/OPENMV3/OPENMV4 (e14810382).
Встроенный ffmpeg/ffplay: добавлены статические сборки ffmpeg 3.3.3 для Windows, macOS, Linux x86, Linux x86_64 и Linux ARM (Raspberry Pi); ffplay входит в комплект только для Windows и macOS (2193d7923, af92ad59e).
Raspberry Pi (Linux ARM): сборки включены за счёт отключения автономной справки
HelpManagerи перехода упаковки bindist на tar.gz (f551b5f97).
Несовместимые изменения#
Отсутствуют. Этот выпуск остаётся на базе Qt Creator 4.0.2, и существующие проекты и рабочие процессы не затронуты.