Выводим изображение рабочего стола Windows на внешний дисплей с помощью микроконтроллера stm32 USBFS
Выводим изображение рабочего стола Windows на внешний дисплей с помощью микроконтроллера. USB CDC Virtual COM Port, кодер и декодер jpeg. Клонирование изображения рабочего стола Windows на дисплее, подключенном к микроконтроллеру. Виртуальный COM порт. JPEG кодирование и декодирование. Проект демонстрирует работу с виртуальным COM портом. Воспроизведение потокового видео (motion jpeg). Сервер (компьютер) постоянно делает скриншоты рабочего стола, кодирует их в jpeg и передает клиенту (микроконтроллеру) через USB (виртуальный COM порт). Микроконтроллер декодирует изображение и отображает его на дисплее.
Что потребуется:
Отладочная плата на базе stm32 - blackpill stm32f401ccu6
Дисплей - st7789 или ili9341 (и совместимые с ними. Проект собран для дисплея st7789!).
Как использовать:
1. Подключите дисплей к отладочной плате согласно таблице подключений:
LCD_DC PA2
LCD_RES PA3
LCD_CS PA4
LCD_SCL PA5
LCD_BLK PA6
LCD_SDA PA7
2. Подключите прошитую плату микроконтроллера к USB разъему компьютера (папка Release, файл для прошивки Внимание. Прошивка для дисплея ST7789. При использовании дисплея ILI9341 необходимо пересобрать проект, указав требуемые параметры дисплея при вызове функции LCD_DisplayAdd в main).
3. Запустите серверную программу из папки Terminal\Release\ (это проект для компьютера).
4. Выберите com-порт, к которому подключен микроконтроллер. Узнать требуемый COM порт можно из диспетчера устройств. Он будет подписан, как “Устройство с последовательным интерфейсом USB (COM номер такой-то)“ в разделе “Порты (COM и LPT)“.
Если все сделано правильно, то на дисплее, подключенном к микроконтроллеру, вы увидите копию того же изображения, что можете наблюдать на мониторе компьютера.
Автор:
@VadRov
Исходный код проекта:
Кодер jpeg:
jpeg-compressor
Public Domain or Apache 2.0, Richard Geldreich richgel99@
#stm32
#программирование
#jpeg
00:00 Приветствие и поздравление с Рождеством.
00:24 Что будет использоваться в проекте.
00:43 Привет “пацанам“ из комментариев про крючок (из обзора ЭБУ). 😉
01:08 Про желание удивить зрителей. Зрители YouTube (и не только) любят “шоу“.
01:40 Что будет реализовано в этом проекте “выходного дня“.
02:30 STM32CubeIDE. Про настройку подключения дисплея (настройка spi и управляющих выходов gpio).
04:43 Про индикацию приема/передачи данных по USB.
05:06 Про настройку USB. Класс CDC (Virtual Port Com).
06:44 Про приоритеты прерываний.
07:20 Настройка тактирования ядра и периферии. Условие работы USB.
09:12 Настройка проекта. Библиотеки для настройки и работы с периферией. Ограничения драйвера USB Device от STM.
11:29 Обработчики прерываний: systick, dma, usb.
12:48 Объявление и инициализация глобальных переменных, в том числе, буфера для приема данных. Подключаемые к проекту библиотеки.
17:01 Организация приема данных по USB в режиме двойного буфера. Обработчик CDC_Receive_FS. Пакетный прием. Признаки последнего пакета данных для текущей передачи (сообщения).
24:23 О возможностях разгона ядра м/к stm32f401ccu6. Программная реализация. Ограничения в случае использования USB Device.
26:01 Формирование сообщения от клиента серверу о разрешении дисплея, подключенного к м/к, и максимальном размере файла.
30:50 Прием, декодирование и вывод на дисплей изображений, полученных от сервера. Переключение двойного буфера. Разрешение на прием нового пакета данных.
35:50 Микроконтроллер “не управляется по проводкам“... 😉
38:06 Visual Studio 2022. Программа для сервера (компьютера). Почему кодируем изображение в jpeg, а не передаем простым потоком “как есть“.
41:21 Скриншоты с использованием GDI, масштабирование и кодирование изображений в jpeg.
41:44 Интерпретация сервером сообщения, полученного от клиента, с настройками jpeg кодирования. Регулярные выражения. “Внутренние стандарты“ проекта: формат, разрешение и размер файла.
45:56 Кодер jpeg. Спасибо его автору.
48:29 “Бесконечный цикл“ сервера. Подстройка сервером качества кодирования jpeg в целях не превышения максимального размера файла. Минимальное качество кодирования. Последствия для клиента при превышении сервером максимального размера файла.
51:44 Подключение микроконтроллера к компьютеру. Обнаружение операционной системой устройства с последовательным интерфейсом. Просмотр диспетчера устройств. Запуск серверной программы и выбор порта, к которому подключен микроконтроллер.
54:13 Вывод на дисплей уменьшенной копии рабочего стола. Демонстрация работы.
1 view
233
51
4 years ago 00:59:04 17
Выводим изображение на экран
2 years ago 00:34:47 18
TouchGFX. Создаем отладку и выводим изображение в разрешении - FullHD с микроконтроллера STM32.
3 years ago 00:03:46 1
Выводим изображения смартфона на телевизор просто!
7 years ago 00:18:24 17
Вывод изображений в ListView
9 years ago 00:43:00 90
Создание фотогалереи как “ВКонтакте“. Часть 2. Вывод изображений из базы данных
1 year ago 00:57:38 4
Выводим изображение рабочего стола Windows на внешний дисплей с помощью микроконтроллера stm32 USBFS
2 years ago 00:04:16 42
Вывод изображений штрихкодов в СКД
10 years ago 00:02:19 19
sj4000 wifi Вывод изображения на комп
9 years ago 00:07:10 11
Ноутбук не выводит изображение на внешний монитор. Ремонтируем ноут.
2 years ago 00:01:30 2
Что делать, если видеокарта не выводит изображение на монитор??
10 years ago 00:11:45 106
Компановка изображений на лист А4 для вывода на печать
11 years ago 00:17:05 67
Вывод изображений на графический дисплей 128×64 (ks0108)
7 years ago 00:09:33 40
Вывод изображения категории в главное меню Opencart
1 year ago 00:01:51 3
PS2 ВЫВОДИТ ЧЕРНО БЕЛОЕ ИЗОБРАЖЕНИЕ РЕШЕНО | PLAYSTATION 2 ЧБ ИЗО
1 year ago 00:01:56 1
Что делать, если видеокарта не даёт изображение. Rx580 не выводит изображение
8 years ago 00:01:06 79
Вывод изображения на ST7735S 128x160 дисплей
1 year ago 00:02:49 2
Не выводит изображение / Чёрный экран. Монитор Samsung S23A350H
4 years ago 00:04:45 82
Установка камеры заднего вида на Шкода Рапид: куда выводить изображение? | #Обзор
2 years ago 00:03:24 1
ЧТО ДЕЛАТЬ, ЕСЛИ ВИДЕОКАРТА НЕ ВЫВОДИТ ИЗОБРАЖЕНИЕ
8 years ago 00:08:07 21
C++ WinApi [9] Вывод изображения в Picture Control
4 years ago 00:11:31 2
FreeGlut, решение проблем с выводом изображения.
4 years ago 00:02:06 1
Как выводит изображение поврежденный разъем HDMI/How damaged HDMI port outputs an image
2 years ago 00:16:49 68
Ремонт ноутбука Asus VivoBook 15 pro. Не выводит изображения
6 years ago 00:17:33 21
07 Вывод Изображения | 3D’s Max | Визуализация интерьера