Ввод текста в ESP8266 с помощью USB-клавиатуры

Мне нужно иметь возможность подключить USB-клавиатуру, например, маленькую Xbox-клавиатуру, или хорошую беспроводную, к устройству на базе ESP8266, чтобы вводить пароли в MCU. Адаптация библиотеки PS2 для AVR (PS2==USB-пинауты для KB) оказалась ненадежной, поэтому я попробовал поддельный Pro Mini.

Она работала намного лучше, идеально с PS2, но только с подмножеством моих USB-клавиатур, а именно с клавиатурой 104 Das и старой школьной Dell. Моя клавиатура Mac 2002 года не работает, ни одна из моих 5 беспроводных клавиатур не работает, и ни Xbox, ни складные клавиатуры не работают. Ничего из того, что представляется как составное устройство (например, клавиатура с USB-слотами), похоже, работают только самые простые (без причудливых клавиш/ручек) клавиатуры.

  1. Позволит ли мне USB-хост-модуль (вроде Uno shield, но не shield) считывать данные не только с базовых USB-клавиатур, эмулирующих PS2?

  2. Является ли код для чтения основных буквенно-цифровых клавиш одинаковым для разных клавиатур или для каждой модели потребуются специальные инструкции? (подобно тому, как драйвер предоставляет фактическую ОС)

  3. Если это не «plug and play», какой был бы простой способ (без пайки) безопасного ввода паролей в микроконтроллер?

РЕДАКТИРОВАТЬ:

Ранние клавиатуры USB и клавиатуры PS2 имеют одинаковую распиновку и поведение, поэтому вы можете использовать Pro Mini и Arduino ps2keyboard для чтения таких клавиатур USB, либо с помощью пассивного адаптера USB-клавиатура-PS2-папа менее чем за 1 доллар США, либо через USB-мама, подключенная так же. Более сложные клавиатуры вообще не работают как таковые, отсюда возможная необходимость в модуле USB-хоста.

, 👍3


1 ответ


1

USB Host Shield Library 2.0 поддерживает ESP8266 уже около года. Поддержка ESP32 была добавлена совсем недавно.

Ниже приведена ссылка на файл README проекта, в котором перечислены поддерживаемые платы и микроконтроллеры.

https://github.com/felis/USB_Host_Shield_2.0#boards

,