2 x USB 2.0 и Wemos D1 mini

vens148
Offline
Зарегистрирован: 02.03.2021

Добрый день. Я занимаюсь разработкой ПО, но в программировании микроконтроллеров новичок и заранее извиняюсь за глупые вопросы.

Возникла потребность в устройстве (предварительно на базе Wemos D1 mini), которое будет иметь 2 USB-гнезда и кнопку. В первое USB-гнездо подключается сканер. По нажатию на кнопку происходит сканирование. Отданный в ответ файл пишется через второе USB-гнездо на флешку.

Собственно, в подключении USB-гнезд в данный момент основное непонимание - в сети по этому поводу информации очень мало, есть вероятность, что я хочу того, что на практике невозможно. Видел USB-щитки для ардуино, в том числе и двухгнездные, но хотелось бы понять, как такое собрать самому. Наиболее подходящий мне щит имеется на базе CH559, но я так и не понял, в чем его уникальность и для чего он нужен во всей этой схеме.

Собственно, вопросов несколько:

1. Для чего нужен еще один микроконтроллер при использовании USB-гнезда с отладочной платой? Почему нельзя присоединить USB-гнездо напрямую к GPIO-пинам платы?
2. Как в самом простом виде выглядит схема подключения USB-гнезда к отладочной плате? Есть ли разница при использовании одного USB-порта и нескольких и в чем она?
3. Будут ли какие-то проблемы при общении моего устройства и сканера при условии, что никакой асинхронщины в проекте не будет?
4. Какие текстовые материалы мне стоило бы прочитать, чтобы подобного рода вопросы отпали сами собой?

Заранее благодарю за ответы.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

1. Подсоединить то можно, только Вы ими управлять не сможете.

3. Вас не насторожило, что в Wemos лишь около 50к свободной памяти? Файл со сканера туда наверняка не поместится.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

USB Host умеют далеко не все микроконтроллеры.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

На такие задачи что-то по серьезнее нужно, малинку там какую-нибудь...

sadman41
Offline
Зарегистрирован: 19.10.2016

К сканеру ещё драйвер необходим. Сомневаюсь, что под ESP существует TWAIN или через что там сканер гонит данные. RBPi или Orange представляется более разумным выбором.

vens148
Offline
Зарегистрирован: 02.03.2021

Почему не смогу управлять и что для этого нужно?

Я подумал, что если заснифферить пакет данных, отправляемый/получаемый по USB с обычного компа при сканировании, я смогу послать его сканеру, дожидаться, пока он начнет отдавать данные в ответ и писать их на флешку, воткнутую во второй порт. Это не сработает?

vens148
Offline
Зарегистрирован: 02.03.2021

Драйвер в данном случае нужен для корректного общения со сканером через USB? Наличие драйвера каким-либо образом влияет на возможность послать/получить данные сканеру? Это ведь в конечном итоге просто куча байтов, идущих через порт USB,  а драйвер просто помогает их интерпретировать корректно, нет?

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Через ногодрыг ? Вы в курсе куда подключен USB разъем на Wemos D1 mini и всех других ESP8266 ?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Мощности ESP  хватит на софтверный USB-host и на гитхабе я видел такие проекты. Нужно просто поискать работоспособный.

И памяти оперативной на сканирование нужно на строку - её хватит. Ну в спокойных режимах. А флеша на ESP8266 - 4 метра. с типовым деление 1- программа, еще 1 на ОТА и 2 оставшихся на файловую систему. В 2 точно влезет отсканированный документ... опять же - в спокойных режимах.

НО - и это САМОЕ ГЛАВНОЕ - Садман41 уже написал - а откуда возьмется драйвер сканера? Сам писать станешь? Так-то задача не особо сложная ;))) исходники SANE открыты ;))). Минимальное управление одним конкретным сканером, вероятно, влезет в ESP8266. Не любым, конечно.

-------------------

А теперь смотрим цену на Оранж Пи, у меня такая служит ВиФи прит и скан - сервером. То есть висит на стене и к ней, через мелкий USB-разветвитель, подключено МФУ лазерное от Самсунга и струйник от HP. От 1500 рублей сейчас. Я еще за 500р покупал, года два-три назад. Сейчас уже они с SPI флешкой идут, на которую систему поставить можно и SD карточку не использовать.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

vens148 пишет:

Почему не смогу управлять и что для этого нужно?

Я подумал, что если заснифферить пакет данных, отправляемый/получаемый по USB с обычного компа при сканировании, я смогу послать его сканеру, дожидаться, пока он начнет отдавать данные в ответ и писать их на флешку, воткнутую во второй порт. Это не сработает?

Нет.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

wdrakula пишет:

vens148 пишет:

Почему не смогу управлять и что для этого нужно?

Я подумал, что если заснифферить пакет данных, отправляемый/получаемый по USB с обычного компа при сканировании, я смогу послать его сканеру, дожидаться, пока он начнет отдавать данные в ответ и писать их на флешку, воткнутую во второй порт. Это не сработает?

Нет.

vens148 пишет:

Драйвер в данном случае нужен для корректного общения со сканером через USB? Наличие драйвера каким-либо образом влияет на возможность послать/получить данные сканеру? Это ведь в конечном итоге просто куча байтов, идущих через порт USB,  а драйвер просто помогает их интерпретировать корректно, нет?

Блин! Это очередной тролль или псих, а я, как дурак, начал всерьёз отвечать. Тьфу ты! Позор на мои седины!

vens148
Offline
Зарегистрирован: 02.03.2021

Очень извиняюсь, я не псих/тролль, просто ну совсем не шарю в железе - не сводила жизнь как-то. По-видимому, ошибка в моих рассуждениях была в том, что думал, что без драйвера я смогу общаться с принтером. Раз пошла такая пьянка, подскажите еще, пожалуйста, насколько глупая затея самому садиться писать драйвер под принтер? Если я каким-то чудом раскурю теоретическую часть, может ли получиться так, что на 3мб (wemos имеет 4мб флеш-памяти, 1мб резервируется) он попросту не поместится? Или может получиться?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Как известно: "Один дурак может задать столько вопросов, что на них не ответит и сотня мудрецов".

Вы сейчас забрасываете форум вопросами, на которые сами могли бы поискать ответы. А ответ на каждый вопрос - это статья. Возможно, не одна.

Поэтому я лучше буду отвечать Вам вопросами (наводящими) на вопросы.

vens148 пишет:

Почему не смогу управлять и что для этого нужно?

А как Вы собираетесь это сделать?

Какими командами?

И каким образом при этом собираетесь выдерживать установленные аппаратными стандартами временнЫе интервалы?

Цитата:

Я подумал, что если заснифферить пакет данных, отправляемый/получаемый по USB с обычного компа при сканировании, я смогу послать его сканеру, дожидаться, пока он начнет отдавать данные в ответ и писать их на флешку, воткнутую во второй порт. Это не сработает?

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

Но, предположим, Вам это удалось.

А что Вы в дальнейшем собираетесь делать с полученным файлом? (ни одним графическим редактором или просмотрщиком его открыть не получится)

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

vens148 начните как все - поморгайте диодиком !!!

vens148
Offline
Зарегистрирован: 02.03.2021

> А что Вы в дальнейшем собираетесь делать с полученным файлом? (ни одним графическим редактором или просмотрщиком его открыть не получится)

Писать полученный файл на USB-флешку, называть получившийся файл "{timestamp}.jpg" и все. Немного контекста добавлю: дело происходит в гостинице, которая обязана при заселении сканировать доки заселяющихся. Что со сканами происходит далее - не важно. Суть в том, чтобы за минимальную сумму склепать девайс только под эту функцию.

Возвращаясь к основному и самому непонятному для меня вопросу в данный момент: а можно ссылку / ключевые слова для поиска, по которым можно узнать, как подружить USB-шилд с платой? И в чем отличие кейса с одним шилдом от кейса с двумя шилдами?

 

vens148
Offline
Зарегистрирован: 02.03.2021

Диодом поморгал (RGB-шным, даже), всю сопутствующую литературу прочитал. Уперся в то, что не могу найти информацию, как ESP-ху подружить с USB-портами.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

vens148 пишет:

насколько глупая затея самому садиться писать драйвер под принтер?

Смотря, с какой целью.

Если - научиться писать драйвера под принтер - возможно, не глупая.

Если - иметь драйвер - очень глупая, т.к. принтер вместе с драйвером можно купить намного дешевле.

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

vens148 пишет:

Писать полученный файл на USB-флешку, называть получившийся файл "{timestamp}.jpg" и все. Немного контекста добавлю: дело происходит в гостинице, которая обязана при заселении сканировать доки заселяющихся. Что со сканами происходит далее - не важно. Суть в том, чтобы за минимальную сумму склепать девайс только под эту функцию.

А почему бы не поступить проще: писать в файл "белый шум" и называть получившийся файл "{timestamp}.jpg"? Если файл не открывается ни одним редактором, Вы все равно не сможете доказать, что сканирование производилось. А если доказательства не требуется, к чему тогда все эти телодвижения?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

vens148 пишет:
подскажите еще, пожалуйста, насколько глупая затея самому садиться писать драйвер под принтер

Великолепная идея!!!  Приступай немедленно, по крайней мере это займёт тебя года на два, а потом или ишак или падишах сдохнет. 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

vens148 пишет:

Уперся в то, что не могу найти информацию, как ESP-ху подружить с USB-портами.

Между постами 8 и 15 прошло 27 минут - вполне достаточно, чтобы прочитать 8-й пост перед тем, как писать 15-й, но совершенно недостаточно, чтобы воспользоваться советом из 8-го поста.

С какой целью Вы пишете на форум, если игнорируете данные там советы?

Точно тролль.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

А что подразумевается под USB шилдом ? Можно фото или ссылку ?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

vens148 пишет:

 дело происходит в гостинице, которая обязана при заселении сканировать доки заселяющихся. Что со сканами происходит далее - не важно. Суть в том, чтобы за минимальную сумму склепать девайс только под эту функцию.

Минимальный "девайс" только под эту функцию называется "мобильный тилипон". Сфотографированные=отсканированные документы еще и автоматом в облако яндекса будут класться навечно и бесплатно. Цену самого дешевого смарта найдешь, или помочь?

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Мобильник сильно дороже Wemos ...

vens148
Offline
Зарегистрирован: 02.03.2021

andriano пишет:

Между постами 8 и 15 прошло 27 минут - вполне достаточно, чтобы прочитать 8-й пост перед тем, как писать 15-й, но совершенно недостаточно, чтобы воспользоваться советом из 8-го поста.

С какой целью Вы пишете на форум, если игнорируете данные там советы?

Какой именно совет я пропустил? Совет "поискать на гитхабе usb-хабы" я учел, но ниже попросил дать ключевые слова для поиска, т.к. ничего найти не смог. Или совет "плюнуть и взять orange pi"? В данный момент там используется для этих же целей RaspPi3B+, но все-таки хотелось бы понять, как такое провернуть именно под ESP.
 

andriano пишет:

Точно тролль.

Спасибо за Вашу оценку. Ваше мнение я учел, но, кроме мнений о несерьезности/глупости моих вопросов, никакой информации от Вас получить не удалось. К сожалению.
 

vens148
Offline
Зарегистрирован: 02.03.2021

wdrakula пишет:

vens148 пишет:

 дело происходит в гостинице, которая обязана при заселении сканировать доки заселяющихся. Что со сканами происходит далее - не важно. Суть в том, чтобы за минимальную сумму склепать девайс только под эту функцию.

Минимальный "девайс" только под эту функцию называется "мобильный тилипон". Сфотографированные=отсканированные документы еще и автоматом в облако яндекса будут класться навечно и бесплатно. Цену самого дешевого смарта найдешь, или помочь?

Большое спасибо за совет.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

wdrakula а есть ссылка на USB 2.0 Host через ногодрыг ???

vens148
Offline
Зарегистрирован: 02.03.2021

Komandir пишет:

А что подразумевается под USB шилдом ? Можно фото или ссылку ?

https://roboshop.spb.ru/modules/usb-2-female-board - Первое, что увидел на эту тему - вот эта платка. Насколько я понимаю, этого не достаточно.

https://aliexpress.ru/item/4000547498093.html?sellermenu_hide=true&src=g...

Вот это, насколько я понял, что-то более подходящее. Но, для чего нужен кристалл посередине, я не очень понимаю. И, соответственно, актуальна ли такая конфигурация для ситуации, когда юсб-порта 2.
 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

vens148 пишет:

 как такое провернуть именно под ESP.

Млеать! Ты заипал! НЕЛЬЗЯ это сделать под ЕСП! Еще раз - НЕВОЗМОЖНО. Управлять сканером не получится.

Есть камера под ESP32 и примеры к ней. Можно сделать снимок, не очень хорошего качества и отправить в облако. Уж точно не городить херню с USB флешкой.

Софт USB так и ищи: "esp8266 soft USB".

Блеать!!! Если бы хоть немного чайником своим пошевелил! Вот точно нужно флешка? Это не естественное для микроконтроллера изделие, естественное - SD карточка. Точно не заменит? А карточка на SPI просто цепляется, и твои любимые "готовые шилды" для этого есть.

ЕЩЕ РАЗ КАПСОМ: сканером управлять через ESP8266 невозможно.  Если где-то кто-то и писал что-то подобное, то это был проект под тонной ганжубаса в стиле "Зацени, как я умею!".

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

vens148 пишет:

В данный момент там используется для этих же целей RaspPi3B+, но все-таки хотелось бы понять, как такое провернуть именно под ESP.

А смысл?

RPi + готовый софт намного дешевле, чем ESP + написание софта.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

andriano ты не рубишь фишку ! Он же разработчик ПО ! А если ПО уже есть, то и нечего разрабатывать и следовательно не накосить капусту !!!

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Komandir пишет:

wdrakula а есть ссылка на USB 2.0 Host через ногодрыг ???

Я не стал смотреть там ност или нет. Хост через ногодрыг ВООБЩЕ невозможен, нужно же питание подавать и им управлять. Можно как-то что-то эмулировать. Для флешки, возможно(!!!) - сойдет.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

USB шилд для Wemos D1 mini :-))))))))))))))))

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

https://www.hackster.io/139994/plug-any-usb-device-on-an-esp8266-e0ca8a

Вот статья про то, как подключали SPI USB host к ESP8266. Всё подробно и что на плате подрезать и что в коде поменять.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Komandir пишет:

andriano ты не рубишь фишку ! Он же разработчик ПО ! А если ПО уже есть, то и нечего разрабатывать и следовательно не накосить капусту !!!

Так то оно так, только пока ни потенциальный заказчик, ни потенциальный исполнитель не представляют сложности и, соответственно, цены работы. А после того, как потенциальный исполнитель немного войдет в курс дела, он поймет, что потенциальный заказчик не готов платить такие деньги за решение задачи, для которой уже используется весьма недорогое решение.

Komandir пишет:

USB шилд для Wemos D1 mini :-))))))))))))))))

Ну - правильно.

Если Вы хотите смотреть телевизор - обязательно купите антенный штекер. Ну а остальное - софтверно.

b707
Offline
Зарегистрирован: 26.05.2017

Komandir пишет:

USB шилд для Wemos D1 mini :-))))))))))))))))

это пять!

Такого толстого тролля давно не помню...

"Разработкой софта" он занимается. ага...