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:

, 👍1

Обсуждение

Нет, ты не можешь. Вам нужен 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


2 ответа


Лучший ответ:

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


0

Немного поздно, но да, вы можете. Хотя это кажется болью:

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