Разбудить компьютер из 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

Обсуждение

Я не думаю, что это так просто. Я думаю, что в драйвере устройства должна быть закодирована возможность пробуждения, то есть иметь возможность отправлять соответствующее сообщение., @MrSparkly

Библиотека HID от NicoHood использует специальный загрузчик в 16U2, https://github.com/NicoHood/HID. Он может отправлять мультимедийные ключи и клавишу питания., @Jot

Спасибо. Я постараюсь связаться с автором, так как не знаю, какой будет минимальная необходимая настройка., @MrSparkly

Попробуйте другой USB-порт., @Gerben

Можете ли вы объяснить причину, по которой вам нужно использовать UNO?, @MichaelT

Мне нужно использовать щит, который подходит только для Uno., @MrSparkly


1 ответ


1

Заработало: мой Uno теперь может выводить ПК из спящего режима. Я следовал вики HoodLoader и использовал скетчи HID-Bridge (ниже). Это заняло около 2-3 часов.

HoodLoader

HID-мост

,