NodeMCU поддерживает внедрение ключей?
Краткая версия: может ли NodeMCU вводить ключ так же, как Arduino Teensy можно запрограммировать с помощью скрипта Duckuino. работать как HID?
Длинная версия: Недавно мой iMac старше 7 лет внезапно перестал работать, и теперь я не могу загрузиться на Mac, что является настоящей проблемой. Еще большая проблема заключается в том, что из-за того, что iMac имеет беспроводную клавиатуру, а не USB, это означает, что я не могу загрузиться в однопользовательском режиме, режиме восстановления, безопасной загрузке и т. д. Это боль, как я сейчас застрял с iMac в неудачном цикле загрузки. Я понимаю, что лучшим вариантом будет купить USB-клавиатуру и пользоваться ею отдельно; однако оказалось, что у одного из моих друзей есть запасной NodeMCU, и он сказал, что готов одолжить его мне, поскольку он почти уверен, что скрипт Duckuino будет работать на нем, а это означает, что я мог бы использовать NodeMCU как своего рода импровизированную клавиатуру для удерживайте нажатой клавишу Shift при загрузке, что избавляет меня от необходимости покупать и ждать новую USB-клавиатуру.
Я нашел это видео здесь, на YouTube, в котором объясняется процесс превращения Arduino в «USB Rubber Ducky», но там нет упоминания об этой работе с NodeMCU. Предполагая, что у меня есть надстройка ESP8266 для Arduino IDE и я смог поместить скрипт Duckuino в NodeMCU, будет ли NodeMCU работать, как задумано, со скриптом Duckuino, или аппаратное обеспечение NodeMCU таково, что это будет невозможно?
Спасибо за любую помощь,
С уважением, Джон
Ps Вот как выглядит мой NodeMCU:
@Tom, 👍1
Обсуждение2 ответа
Лучший ответ:
Нет, для этого нельзя использовать NodeMCU.
Для эмуляции USB-клавиатуры у вас должно быть устройство с основным MCU, которое напрямую подключено к USB. ESP8266 на NodeMCU не является USB-совместимым MCU, поэтому для подключения ESP8266 к USB вашего компьютера используется чип моста USB-UART.
Вы не можете запрограммировать этот мостовой чип, поэтому вы не можете сделать из него ничего, кроме последовательного порта.
Обычные устройства, которые подключаются напрямую через USB и могут эмулировать клавиатуру, включают:
- Ардуино Микро
- Тинси 3.X
- Фубарино Мини/SD
- Ардуино Леонардо
- chipKIT Ленни
И многое другое.
Для 8-разрядных плат Arduino вам нужно посмотреть на микроконтроллер, который он использует. Если в качестве основного микроконтроллера используется ATMega32U4, вы можете запрограммировать его как клавиатуру.
Дополнение. Существуют способы заставить платы без USB работать в качестве клавиатуры. Для Arduino на базе ATMega328P и аналогичных, которые используют микросхему ATMega16U2 в качестве моста USB-UART, этот мостовой чип можно перепрограммировать, чтобы он отображался как клавиатура. Для других микроконтроллеров могут быть доступны программные «битовые» реализации USB (например, V-USB), хотя YMMV с этими реализациями, и они требуют создания дополнительного оборудования для подключения чипа к порту USB.
Большое спасибо за ответ! Жаль, что NodeMCU нельзя использовать для этой цели. Я вижу, что вы упомянули, что есть способы заставить платы без USB работать как клавиатуры, но я не вижу никакого упоминания конкретно о NodeMCU; это потому что это невозможно сделать для этой платы? Если нет, не могли бы вы указать мне правильное направление, как это сделать? Еще раз, спасибо!, @Tom
да, невозможно превратить ch340 или cp2102 в usb hid, как это можно сделать в megaxUxs..., @dandavis
Немного поздно, но да, вы можете. Хотя это кажется болью:
https://hackaday.com/2016/09/03/software- USB-на-ESP8266/
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится., @sempaiscuba
Существенная часть в том, что это боль =). Чтобы дать более точный и достоверный ответ, мне нужно глубже изучить тему, чтобы действительно извлечь самое главное, и мне не хватает времени. Поэтому я подумал, что лучше иметь ссылку, которая может стать недействительной, чем вообще не иметь ссылки. Возможно, это резервная копия: https://web.archive.org/web/20220727160443/https://hackaday.com/2016/09/03/software-usb-on-the-esp8266/, @p3ppi
- Как определить размер Flash?
- В ESP-12E NodeMCU, какой выход PIN A0?
- Преобразование byte* в int в Arduino
- Каково использование зарезервированных контактов и контактов SDD2, SDD3 NodeMCU?
- NodeMCU (Arduino IDE) «DynamicJsonBuffer» не был объявлен в этой области
- Датчик движения PIR (HC-SR501) ложные результаты с NodeMCU
- Как получить текущую дату
- NodeMCU второй HARDWARE последовательный TX в качестве порта отладки
Нет, ты не можешь. Вам нужен MCU с поддержкой USB. ESP8266 - нет., @Majenko
@Majenko Спасибо за ваш ответ; так что мне нужно что-то вроде Teensy и т.д.?, @Tom
Да, или Arduino Micro, или другой Arduino на базе ATMega32U4. Или одну из плат ChipKIT с прямым USB-подключением, например, Fubarino Mini и т. д., @Majenko
одолжить USB-клавиатуру :-), @Juraj
@Majenko Спасибо за помощь. На данный момент я думаю, что мне просто придется довольствоваться USB-клавиатурой, но в будущем я мог бы изучить Duckuino и т. Д. :), @Tom
если вы живете рядом с армией доброй воли или армией спасения, вы можете получить (подержанный) usb kb примерно за 2 доллара..., @dandavis
Немного поздно, но да, вы можете. Хотя это кажется болью: https://hackaday.com/2016/09/03/software-usb-on-the-esp8266/, @p3ppi
Для тех, кто все еще ищет ESP8266 Software USB, взгляните на [этот репозиторий GH (cnlohr/espusb)](https://github.com/cnlohr/espusb), @0xAF