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!» плата готова к работе.