Digispark на базе микроконтроллера ATTiny85 — это очень популярное и доступное устройство для эмуляции клавиатуры и мыши, благодаря его низкой цене и простоте программирования. Эмуляция мыши на Digispark открывает множество практических применений, начиная от полезной автоматизации и заканчивая пентестом.
Установливаем Arduino IDE, если он еще не установлен. Переходим «Файл» — «Параметры...»:
В окне «Параметры» в пункте «Дополнительные ссылки для Менеджера плат» вставляем ссылку:
https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
Нажимаем кнопку «ОК»:
Далее переходим в «Инструменты» — «Плата» — «Менеджер плат...»:
В поле поиска «МЕНЕДЖЕР ПЛАТ» вводим «digistump» и устанавливаем «Digistump AVR Boards»:
Снова переходим в «Инструменты» — «Плата» — «Менеджер плат...» и выбираем «Digispark (Default - 16.5mhz)»:
Все готово для работы. Теперь остается залить скетч на плату.
Вставляем следующий скетч:
// Подключаем библиотеку DigiMouse #include <digimouse.h> void setup() { // Инициализируем эмуляцию мыши DigiMouse.begin(); // Можно добавить небольшую задержку после подключения, чтобы ОС успела определить устройство DigiMouse.delay(1000); } void loop() { // Движемся вправо и вниз DigiMouse.moveX(10); // Переместить курсор на 10 пикселей вправо DigiMouse.moveY(10); // Переместить курсор на 10 пикселей вниз DigiMouse.delay(20); // Небольшая задержка для плавности // Движемся влево и вниз DigiMouse.moveX(-10); // Переместить курсор на 10 пикселей влево DigiMouse.moveY(10); // Переместить курсор на 10 пикселей вниз DigiMouse.delay(20); // Движемся влево и вверх DigiMouse.moveX(-10); DigiMouse.moveY(-10); DigiMouse.delay(20); // Движемся вправо и вверх DigiMouse.moveX(10); DigiMouse.moveY(-10); DigiMouse.delay(20); // Цикл повторяется, и курсор рисует круги. }
Для заливки нажимаем на кнопку «Загрузить на плату» (круглая со стрелкой), но плата не должна быть изначально подключена! Когда появится сообщение в консоле «Running Digispark Uploader... Plug in device now... (will timeout in 60 seconds)» — вставляем плату в USB, начнется заливка скетча.
После сообщения «Micronucleus done. Thank you!» плата готова к работе.