Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Разработка клиент-серверного программного решения, предназначенного для удаленного управления различными устройствами и механизмами по USB:

- клавиатура (104 клавиши),

- мышь (3 кнопки + скролл),

- геймпад (16 кнопок, Xbox 360).

Разрабатываемое программное решение является аналогом IP-KVM-устройств, но без видео и с более широким профилем применения.

Клиент – классическое, консольное, «оконное» приложение, разработанное с использованием кроссплатформенного фреймворка. Фреймворк исполнитель вправе выбирать самостоятельно (желательно Kivy, но последнее слово – за вами).

Сценарий работы: пользователь производит манипуляции с устройствами ввода (нажимает кнопки на клавиатуре, двигает и кликает мышью, нажимает кнопки геймпада и двигает его джойстики). Клиентское ПО преобразовывает (на основании словаря) события фреймворка в байт-код, для дальнейшей записи в виртуальное устройство на сервере. Байт-код передается на сервер по протоколу TCP. Каждое захваченное событие инициирует отдельную передачу состояния устройства клиента, т.е. если зажата кнопка Shift, например, то не должно формироваться непрерывного потока событий, состояние одновременно зажатых кнопок должно отправляться однократно при наступлении уникальных событий.

В связи с разнообразием геймпадов на рынке, в клиентском ПО необходимо реализовать режим «обучения»/калибровки, который позволяет пользователю, выполняющему удаленное управление, сформировать словарь сопоставлений (маппинг) событий фреймворка (действий) с байт-кодами.

Сервер – приложение, разработанное на языке Python (или на Ваш выбор, но лучше - Python) для одноплатного компьютера (Single-Board Computer) на архитектуре ARM, с возможностью эмуляции USB HID устройств ввода (RockPi, Raspberry Pi и аналоги). Осуществляет прием запросов, валидирует и записывает байт-коды в виртуальное устройство, созданное на базе USB Gadget API for Linux. Для каждого типа устройств должен быть согласован формат передаваемого запроса.

Для возможности диагностики возникающих проблем, клиент и сервер должны иметь возможность записывать все события в локальный файл журнала.

При необходимости, исполнителю будут переданы наработанные материалы (ссылки) по реализации вышеперечисленного функционала.

3 года назад
ylapshin
Егор 
52 годаРоссия
3 года в сервисе
Был
3 года назад
  • Похожие заказы
  • Для формирования БД стримеров на сайте, необходима система регулярного парсинга YouTube и Twitch каналов На входе файл со списком url каналов На выходе: - Данные по каналам в csv & xls - Данные ...

    Закрыт
    3 года назад
  • Прикладываю подробности в вордовском документе для оценки й стоимости и сроков. Есть сайт на ВП, нужно с нескольких онланй магазинов сделат ьтак, чтобы в автоматическом режиме добавлялись фотографии и конечно же описания игр в каталог, если ...

    Прикладное ПОнет заявок
    Закрыт
    3 года назад
  • Есть задача по программе маттермост (мессенджер) Нужно в программу добавить код для микрофона. Вот сами исходники с которыми можно ознакомится. https:// github.com /mattermost/desktop https:// github.com /mattermost/mattermost-server Цена договорная! Оставьте ваш телеграм для связи. Рассмотрим все варианты, и все более детально обсудим в ...

    Прикладное ПОнет заявок
    Закрыт
    3 года назад
  • Нужно разработать расширение для Word и Мой Офис. Расширение должно обрабатывать текст документа посредством внешнего web-сервиса. Все механизмы обработки текста осуществляются во внешнем сервисе. Примерная схема работы: 1. Расширение берёт текст текущего документа (весь или ...

    Закрыт
    3 года назад
  • $50

    нужны проги которые будут рассылать сообщения в личку в Вк и Инста людям из определенных сообществ,программа должна менять юзеров каждые 20 сообещий. Обязательно так же,чтобы ссылка в рассылаемом тексте была кликабельна . В понедельник должно ...

    Прикладное ПОнет заявок
    Закрыт
    3 года назад
  • Имеется приложение для аренды строительной техники. Для него был написан парсер, который собирает сообщения из Whatsapp и Telegram, обрабатывает их, и отправляет в Firebase. У этого парсера есть проблема - он плохо разбирает адреса. Например ...

    Закрыт
    3 года назад
  • $180

    Нужен инструмент, который парсит цены с Iherb по списку артикулов из ЛК Ozon, применяет к ценам указанные модификаторы (+% и +₽), и вносит их в ЛК Ozon. Подробное ТЗ: [url=https://docs.google.com/document/d/11t9FUxAJq0-gSyB3ipjon2LYa7Zx79cnLy08S-ojlyE/edit#]https://docs.google.com/document/d/11t9FUxAJq0-gSyB3ipjon2LYa7Zx79cnLy08S-ojlyE/edit#[/url]

    Закрыт
    3 года назад