Разбудить компьютер из Uno

Я хочу разбудить компьютер через подключенный через USB Arduino Arduino. При использовании Pro Micro (Leonardo) я могу это сделать, поскольку его HID-интерфейс может разбудить компьютер. То есть в диспетчере устройств в разделе «Клавиатуры» для соответствующего HID-устройства в разделе «Управление питанием» установлен флажок «Разрешить этому устройству пробуждать компьютер».

Однако для этого проекта мне нужно использовать Uno. Есть хак (см. ссылку ниже), который позволяет использовать ATMega16U2 на Uno в качестве HID-клавиатуры. Она работает нормально, но на этой HID-клавиатуре на прошитом Uno НЕТ флажка «Разрешить этому устройству пробуждать компьютер», т. е. я не могу разбудить свой компьютер. Пробовал, комп не просыпается. Я знаю, что могу использовать экран Ethernet на Arduino для отправки пакета пробуждения по локальной сети, но я не хочу добавлять какие-либо экраны, если в этом нет необходимости. Есть совет, как это сделать?

РЕДАКТИРОВАНИЕ: мне указали на две библиотеки, NicoHood и LUFA (ссылки ниже), чтобы закодировать HID-клавиатуру для ATMega16U2 на Arduino Uno. Проблема в том, что знакомство с предметом и (любой) библиотекой займет несколько дней, поэтому я предпочитаю найти уже скомпилированное простое HID-устройство, которое делает то, что я хочу. Если я не могу его найти, у меня есть «тупое» решение: поскольку Леонардо может разбудить компьютер, я могу подключить его к ПК, отключить Uno (с моим кодом) от Леонардо, связать один цифровой контакт между Uno и Leonardo, чтобы Uno мог инициировать нажатие USB-клавиши на Leonardo. Это неуклюже, поскольку Леонардо используется только для отправки одного нажатия клавиши USB, чтобы разбудить компьютер, но это сработает.

LUFA

API клавиатуры NicoHook

HoodLoader

Соответствующие ссылки:

Arduino Uno как интерфейс USB HID

Вывод сенсорного экрана из режима сна с помощью Pro Micro

, 👍1