Digispark ATtiny 85 - не распознается как HID устройство
Я пытаюсь создать автоматическую запись имени пользователя с помощью Digispark ATtiny 85. У меня есть довольно простой набросок:
#include <DigiKeyboard.h>
void setup() {
}
void loop() {
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.delay(100);
DigiKeyboard.sendKeyStroke(76, MOD_ALT_RIGHT | MOD_CONTROL_LEFT); //ctrl+alt+del
DigiKeyboard.delay(2000);
DigiKeyboard.print("username");
DigiKeyboard.sendKeyStroke(0x2B); //tab
for (;;) {}
}
Когда я загружаю код через Arduino IDE в устройство (плата: Digispark (по умолчанию - 16,5 МГц), он успешно завершается, распознается как скрытое устройство и немедленно выполняет все задачи. Но когда я отключаю его и подключаю снова (к своему компьютеру или любому другому компьютеру), он распознается как загрузчик Digispark и ничего не делает.
Я пробовал это в Arduino IDE 1.8.8 и в Arduino IDE 1.6.5, и я понятия не имею, почему он распознается только сразу после загрузки. У меня есть два ATtinys, и оба ведут себя одинаково.
Кто-нибудь может мне помочь, пожалуйста?
Редактировать:
Я попытался добавить digitalWrite(1, HIGH);
чтобы определить, запускается ли скетч вообще, и оказалось, что он даже не запускается (кроме как после загрузки) ...
@Jakub Zacek, 👍1
Обсуждение3 ответа
Через пять секунд, когда загрузчик должен переключиться на выполнение вашего кода, как он отображается в списке USB-устройств (lsusb
в Linux, диспетчер устройств в Windows и т. Д.)
Оригинальный Digispark был немного темпераментным при подключении к портам USB 3. Если вы подключаете его к одному из них, попробуйте использовать концентратор usb2 и вместо этого подключить его к концентратору.
Кроме того, вы получили это от Digistump, или это подделка?
Я перепробовал несколько USB-портов (2 и 3), но ни один из них не работал даже по прошествии длительного периода времени. Все это время он отображается в диспетчере устройств как загрузчик Digispark. К сожалению, я купил его в местном чешском интернет-магазине, поэтому понятия не имею, продают ли они клон или оригинал. Есть ли способ определить, является ли он оригинальным или клонированным?, @Jakub Zacek
Я просто прогнал ваш скетч на digispark, и он вел себя так, как ожидалось; на данный момент самое простое, что можно сделать, это просто получить еще один маленький digispark и посмотреть, работает ли он. Это оборудование с открытым исходным кодом, так что, скорее всего, если вы не заказали его напрямую у digistump, это подделка., @JayEye
Я надеюсь, что я здесь не слишком поздно, но я полагаю, что вам может потребоваться обновить загрузчик. Не могли бы вы воспользоваться приведенными здесь инструкциями? https://www.iot-experiments.com/micronucleus-bootloader-upgrade / Так получилось, что я читал это руководство: https://hackernoon.com/low-cost-usb-rubber-ducky-pen-test-tool-for-3-using-digispark-and-duck2spark-5d59afc1910 и раздел устранения неполадок там звучит как проблема, с которой вы столкнулись.
Привет, спасибо за ваш ответ. Я попытался обновить прошивку, но, к сожалению, без какого-либо успеха, вот micronucleus.exe результат: https://pastebin.com/2SsexNQ4 ., @Jakub Zacek
То же самое и здесь,
Я новый пользователь, поэтому не говорю, что это правильный путь.
Теперь я включаю "digiKeyboard.update();" и "digiKeyboard.задержка (1000);". оба вверху, оба для запуска USB-сигнала много-много раз на хост.
команда "digiKeyboard.sendKeyStroke(0);" работает не каждый раз.
- Клавиатура Digispark ATtiny85
- Digispark Micro (ATTINY85) не работает на Macbook Pro 2016 г.
- Связь последовательного порта Digispark
- Библиотеки I2C для ATTiny85?
- Можно ли подключить экран SD-карты к плате Digispark ATtiny85?
- Программирование сервопривода на ATtiny85
- Digispark Atinny85 не распознан (проблема с загрузчиком)
- Mac для последовательной связи с Digispark ATtiny85
вы ждете 5 секунд, пока скетч начнет выполняться?, @jsotola
Ну, я попытался добавить что-то вроде 4-секундной задержки при запуске, и я даже позволил ATtiny некоторое время находиться в USB. Ни то, ни другое не помогло..., @Jakub Zacek
заголовок вашего сообщения указывает на то, что вы неправильно определили проблему, поэтому трудно найти решение в Интернете ..... "не распознано как скрытое устройство" - это не проблема ....... проблема в том, что загруженная программа не запускается после digispark сбрасывается .... digispark переходит в режим загрузки программы и не переходит к загруженной программе по истечении времени ожидания, @jsotola
Вероятно, вы правы. На момент написания статьи я не знал, что скетч не выполняется. Я попытался погуглить проблему в отношении того, что вы написали, но также безуспешно - не нашел ничего, что я мог бы использовать., @Jakub Zacek