Pull to refresh
32K+
267
198
Rating
130
Subscribers
Send message

У тех ESP32, что у меня есть в наличии нет аппаратного USB.

Он просто удобный, и с ним быстрее и меньше вероятности, что что-то пойдет не так.

Скорее всего все появилось +/- в одно время, после бума нетбуков, у которых отсутствовал оптический привод, и нужно было как-то решать эту проблему. Но решение от IODD эмулировать оптический привод мне нравится больше загрузочных флешек и даже больше, чем Ventoy.

Вроде как в вашей первой, неотредактированной версии сообщения я не видел S3, хотя, может я ошибаюсь.

У ESP32-WROOM-32, который самый распространенный, не имеет аппаратного USB. Теоретически конечно можно и программный использовать.

Да, лучше IODD и Zalman никто еще не придумал.

Сам удивляюсь, почему другие производители не делают такие устройства. Сейчас правда, когда большинство дистрибутивов операционных систем можно ставить без CD-ROM, значимость IODD стала меньше.

Я делал на баше для Raspberry Pi Zero 2 W.

Вы можете посмотреть здесь https://habr.com/ru/companies/ruvds/articles/722266/.

Правда там не было загрузки образа по сети.

Есть приложение DriveDroid. Но оно требует права root. Кажется, оно только локальные ISO позволяет эмулировать. Ну и образ должен быть до 2 GB ввиду странного ограничения прописанного в ядре Linux.

Да, но это больше эксперимент для изучения технологий, чем полноценное устройство.

Спасибо за дополнение к статье.

Спасибо за хороший вопрос, который я упустил в статье. Байты передаются по схеме Little Endian, биты - по схеме LSB.

Можно собрать на макетной плате. Понадобится: макетная плата, соединительные провода, разъемы USB Type C, USB Type A для макетных плат и кабель USB type A - USB Type C.

Если у устройства три интерфейса, у устройства есть одна двунаправленная EP0, и у каждого интерфейса есть IN EP и OUT EP, тогда будет 1 + 3 × 2 = 7 точек.

всего может быть 16 точек для отсылки данных на устройство и 16 точек для приёма данных с устройства.” Почему EP однонаправлен? Почему EP не может работать в обоих направлениях, почему нужно создавать In EP 1, Out EP 1 вместо In-out EP 1

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

Для конфигурирования USB используется конечная точка по умолчанию, имеющая номер 0.” Получается, в распоряжении программиста может быть 15 точек для отсылки данных на устройство и 15 точек для приёма данных с устройства. Потому что 0th точка зарезервирована, верно?

Если я правильно помню,  статусы индикаторов USB-клавиатуры  передаются через EP0.

на практике 16 EP в каждом направлении это много или мало? Почему не может быть всего 2 EP в каждом направлении (из которых одна - Control, то есть особая), то есть по сути всего 1 EP в каждом направлении в распоряжении программиста. И пусть программист на своём уровне уже добавляет метки пакетов своего кастомного протокола

Обычно всего две в каждом направлении  и используются, но устройство может содержать несколько интерфейсов. Нумерация точек происходит для устройства. Например,  если три  интерфейса, нужно 4 точки.

Я так и делал в Ну, Погоди!. Я думал вопрос был в многопоточности на одном ядре.

Нормально. Особенно удобно с плагином для VS Code и вторым пико для дебага и заливки. С многопоточностью не работал на нем. Только использовал два ядра в своем эмуляторе "Ну, погоди!". Для многопоточности нужно использовать FreeRTOS или ZephyrOS, как я понимаю.

Проектора картинки нет. Вам нужно подключить hdmi выход устройства к реальному проектору, телевизору или монитору. Устройство просто эмулилирует фильмоскоп, а программа, запущенна в нем, позволяет удобно просматривать отсканированные диафильмы.

Добавил видео работы устройства в действии. Вместо монитора можно использовать или проектор или телевизор с входом HDMI.

Вы правы, добавлю видео.

Спасибо. Рвассмотрю. Просто я хотел разобраться как сделать корпус, питание, работу с BLE, USB, HID, какие использовать библиотеки, вот и оформил в виде двух статей.

В любом случае преобразование USB - BLE неэффективно из-за постоянного питания USB-клавиатуры.

1
23 ...

Information

Rating
17-th
Registered
Activity