Статистика
Время:
Зарегистрированных: 88598
Последним зарегистрирован: Anapol
Рекорд посещаемости: 12585
Групп пользователей: 4
 Группы:
[Admin] [Cоучастник] [Автор] [Модератор]
 Сейчас на сайте
 Всего: 615
 Гостей: 615
 Анонимных: 0
 Пользователей: 0
 Зарегистрированные:

> Для дома, для семьи. -> Эмулятор мыши. USB Mouse Jiggler.
USB Mouse Jiggler.

Возникла у меня как то необходимость имитировать на моем рабочем компьютере периодическое движение мышкой. Такие девайсы в народе называют “Mouse Jiggler”. Обычно это нужно для того, чтобы во время “простоя” не срабатывал скринсейвер (в случае когда у пользователя нет прав администратора для отключения скринсейвера в настройках).
Также, существуют некоторые программы (привет “Slack”) которые как бы слегка “шпионят” за пользователями и в случае отсутствия активности, например отсутствия движения курсора на экране в течение 10 минут, меняют ваш статус в общем чате на “неактивен”.... и это как раз мой случай.
В общем работая удаленно из дома, мне периодически нужен стабильный “зеленый” статус в Слаке в не зависимости от того на месте я или отошел по важному делу. Простого программного решения для Мака я не нашел, подумал что надежнее будет имитировать микроконтроллером HID устройство подключенное к реальному USB порту. Погуглил немного и обнаружил, что китайцы делают как раз то, что мне нужно - маленький и компактный USB донгл, цена вопроса 10-15 баксов.

image

Заказал испытал и расстроился, девайс на отрез отказался работать с Маком… (с Виндой впрочем все ок). Позже случайно выяснилось что с Маком в принципе тоже работает но только через переходник USB2 to USB3, но до этого я уже решил все сделать сам. Самое простое и дешевое, что нашел у себя в наличие были отладочные платы “blue pill” на STM32F103C8T6.

image

С одной стороны это немного перебор, а с другой…ну а что может быть дешевле и доступнее из МК с USB на борту. Стоимость такой платы в районе полтора-два доллара и это готовое устройство, прошил и можно использовать. После недолгих экспериментов с программой остановился на следующей логике работы устройства:
- После включения в USB порт устройство распознается операционной системой как мышь “Logitech”.
- В течение первых 5 секунд курсор мыши непрерывно двигается по кругу (вправо, вниз, влево, вверх) с размахом 20 пикселей. Это удобно чтобы, убедиться что устройство опознано как мышь и отправляемые команды на перемещение курсора работают как надо.
- После первых 5 секунд устройство переходит в рабочий режим. Каждую секунду подмигивает светодиодом, информируя о том, что устройство работает, программа исполняется, все ок. При этом каждые 5 минут устройство отправляет команду на круговое перемещение курсора.

Думал на этом конец истории, но как то у меня дома собрались друзья-знакомые (отмечали какой то праздник семьями). Все они тоже в IT и “благодаря” коронавирусу как и я трудятся удаленно из дома. Получив развернутый ответ на свой вопрос -“А че это у тебя такое моргает”, все заявили что им “такое” тоже нужно. Выхода не было, пришлось пообещать что сделаю. И так как в это раз делал не для себя, решил все сделать посимпатичнее ну и покомпактней. Развел и заказал платы в виде usb донгла, которые при желании можно затянуть в прозрачную термоусадку.

ПЛАТЫ и СХЕМА здесь https://oshwlab.com/r2d2?tab=project&page=1

image

image

Микроконтроллер кстати в некоторых платах был установлен китайский клон СН32F103C8T6, работает норм. Почти пол года живу с этим девайсом, использую весь рабочий день. Все работает как задумано, друзья тоже очень довольны.

image

image image


ПРОШИВКА здесь ->HEX, работает и с оригинальной отладочной платой blue-pill и со схемой из моего проекта. Никаких модификаций не требуется.

ВИДЕО https://youtu.be/PVwZYKMKiRg

Вопросы, комментарии и обсуждения -> сюда https://vrtp.ru/index.php?act=ST&f=98&t=33827&st=




  banner DIPTRACE - САМЫЙ ЛУЧШИЙ ТАКСИРОВЩИК ПЕЧАТНЫХ ПЛАТ
Portal-X