2 x USB 2.0 и Wemos D1 mini
- Войдите на сайт для отправки комментариев
Добрый день. Я занимаюсь разработкой ПО, но в программировании микроконтроллеров новичок и заранее извиняюсь за глупые вопросы.
Возникла потребность в устройстве (предварительно на базе Wemos D1 mini), которое будет иметь 2 USB-гнезда и кнопку. В первое USB-гнездо подключается сканер. По нажатию на кнопку происходит сканирование. Отданный в ответ файл пишется через второе USB-гнездо на флешку.
Собственно, в подключении USB-гнезд в данный момент основное непонимание - в сети по этому поводу информации очень мало, есть вероятность, что я хочу того, что на практике невозможно. Видел USB-щитки для ардуино, в том числе и двухгнездные, но хотелось бы понять, как такое собрать самому. Наиболее подходящий мне щит имеется на базе CH559, но я так и не понял, в чем его уникальность и для чего он нужен во всей этой схеме.
Собственно, вопросов несколько:
1. Для чего нужен еще один микроконтроллер при использовании USB-гнезда с отладочной платой? Почему нельзя присоединить USB-гнездо напрямую к GPIO-пинам платы?
2. Как в самом простом виде выглядит схема подключения USB-гнезда к отладочной плате? Есть ли разница при использовании одного USB-порта и нескольких и в чем она?
3. Будут ли какие-то проблемы при общении моего устройства и сканера при условии, что никакой асинхронщины в проекте не будет?
4. Какие текстовые материалы мне стоило бы прочитать, чтобы подобного рода вопросы отпали сами собой?
Заранее благодарю за ответы.
1. Подсоединить то можно, только Вы ими управлять не сможете.
3. Вас не насторожило, что в Wemos лишь около 50к свободной памяти? Файл со сканера туда наверняка не поместится.
USB Host умеют далеко не все микроконтроллеры.
На такие задачи что-то по серьезнее нужно, малинку там какую-нибудь...
К сканеру ещё драйвер необходим. Сомневаюсь, что под ESP существует TWAIN или через что там сканер гонит данные. RBPi или Orange представляется более разумным выбором.
Почему не смогу управлять и что для этого нужно?
Я подумал, что если заснифферить пакет данных, отправляемый/получаемый по USB с обычного компа при сканировании, я смогу послать его сканеру, дожидаться, пока он начнет отдавать данные в ответ и писать их на флешку, воткнутую во второй порт. Это не сработает?
Драйвер в данном случае нужен для корректного общения со сканером через USB? Наличие драйвера каким-либо образом влияет на возможность послать/получить данные сканеру? Это ведь в конечном итоге просто куча байтов, идущих через порт USB, а драйвер просто помогает их интерпретировать корректно, нет?
Через ногодрыг ? Вы в курсе куда подключен USB разъем на Wemos D1 mini и всех других ESP8266 ?
Мощности ESP хватит на софтверный USB-host и на гитхабе я видел такие проекты. Нужно просто поискать работоспособный.
И памяти оперативной на сканирование нужно на строку - её хватит. Ну в спокойных режимах. А флеша на ESP8266 - 4 метра. с типовым деление 1- программа, еще 1 на ОТА и 2 оставшихся на файловую систему. В 2 точно влезет отсканированный документ... опять же - в спокойных режимах.
НО - и это САМОЕ ГЛАВНОЕ - Садман41 уже написал - а откуда возьмется драйвер сканера? Сам писать станешь? Так-то задача не особо сложная ;))) исходники SANE открыты ;))). Минимальное управление одним конкретным сканером, вероятно, влезет в ESP8266. Не любым, конечно.
-------------------
А теперь смотрим цену на Оранж Пи, у меня такая служит ВиФи прит и скан - сервером. То есть висит на стене и к ней, через мелкий USB-разветвитель, подключено МФУ лазерное от Самсунга и струйник от HP. От 1500 рублей сейчас. Я еще за 500р покупал, года два-три назад. Сейчас уже они с SPI флешкой идут, на которую систему поставить можно и SD карточку не использовать.
Почему не смогу управлять и что для этого нужно?
Я подумал, что если заснифферить пакет данных, отправляемый/получаемый по USB с обычного компа при сканировании, я смогу послать его сканеру, дожидаться, пока он начнет отдавать данные в ответ и писать их на флешку, воткнутую во второй порт. Это не сработает?
Нет.
Почему не смогу управлять и что для этого нужно?
Я подумал, что если заснифферить пакет данных, отправляемый/получаемый по USB с обычного компа при сканировании, я смогу послать его сканеру, дожидаться, пока он начнет отдавать данные в ответ и писать их на флешку, воткнутую во второй порт. Это не сработает?
Нет.
Драйвер в данном случае нужен для корректного общения со сканером через USB? Наличие драйвера каким-либо образом влияет на возможность послать/получить данные сканеру? Это ведь в конечном итоге просто куча байтов, идущих через порт USB, а драйвер просто помогает их интерпретировать корректно, нет?
Блин! Это очередной тролль или псих, а я, как дурак, начал всерьёз отвечать. Тьфу ты! Позор на мои седины!
Очень извиняюсь, я не псих/тролль, просто ну совсем не шарю в железе - не сводила жизнь как-то. По-видимому, ошибка в моих рассуждениях была в том, что думал, что без драйвера я смогу общаться с принтером. Раз пошла такая пьянка, подскажите еще, пожалуйста, насколько глупая затея самому садиться писать драйвер под принтер? Если я каким-то чудом раскурю теоретическую часть, может ли получиться так, что на 3мб (wemos имеет 4мб флеш-памяти, 1мб резервируется) он попросту не поместится? Или может получиться?
Как известно: "Один дурак может задать столько вопросов, что на них не ответит и сотня мудрецов".
Вы сейчас забрасываете форум вопросами, на которые сами могли бы поискать ответы. А ответ на каждый вопрос - это статья. Возможно, не одна.
Поэтому я лучше буду отвечать Вам вопросами (наводящими) на вопросы.
Почему не смогу управлять и что для этого нужно?
А как Вы собираетесь это сделать?
Какими командами?
И каким образом при этом собираетесь выдерживать установленные аппаратными стандартами временнЫе интервалы?
Я подумал, что если заснифферить пакет данных, отправляемый/получаемый по USB с обычного компа при сканировании, я смогу послать его сканеру, дожидаться, пока он начнет отдавать данные в ответ и писать их на флешку, воткнутую во второй порт. Это не сработает?
Нет, ну в такой постановке, возможно, и получится. Но - далеко не факт. Обычно протокол предусматривает двусторонний обмен данными. Значит, Вам нужно достоверно знать, что именно отвечать на посылки сканера.
Но, предположим, Вам это удалось.
А что Вы в дальнейшем собираетесь делать с полученным файлом? (ни одним графическим редактором или просмотрщиком его открыть не получится)
vens148 начните как все - поморгайте диодиком !!!
> А что Вы в дальнейшем собираетесь делать с полученным файлом? (ни одним графическим редактором или просмотрщиком его открыть не получится)
Писать полученный файл на USB-флешку, называть получившийся файл "{timestamp}.jpg" и все. Немного контекста добавлю: дело происходит в гостинице, которая обязана при заселении сканировать доки заселяющихся. Что со сканами происходит далее - не важно. Суть в том, чтобы за минимальную сумму склепать девайс только под эту функцию.
Возвращаясь к основному и самому непонятному для меня вопросу в данный момент: а можно ссылку / ключевые слова для поиска, по которым можно узнать, как подружить USB-шилд с платой? И в чем отличие кейса с одним шилдом от кейса с двумя шилдами?
Диодом поморгал (RGB-шным, даже), всю сопутствующую литературу прочитал. Уперся в то, что не могу найти информацию, как ESP-ху подружить с USB-портами.
насколько глупая затея самому садиться писать драйвер под принтер?
Если - научиться писать драйвера под принтер - возможно, не глупая.
Если - иметь драйвер - очень глупая, т.к. принтер вместе с драйвером можно купить намного дешевле.
Ну и кроме наличия или отсутствия глупости есть еще один важный момент - реализуемость: многие производители не публикуют информацию о своих принтерах, которой было бы достаточно, чтобы суметь написать драйвер под принтер.
Писать полученный файл на USB-флешку, называть получившийся файл "{timestamp}.jpg" и все. Немного контекста добавлю: дело происходит в гостинице, которая обязана при заселении сканировать доки заселяющихся. Что со сканами происходит далее - не важно. Суть в том, чтобы за минимальную сумму склепать девайс только под эту функцию.
Великолепная идея!!! Приступай немедленно, по крайней мере это займёт тебя года на два, а потом или ишак или падишах сдохнет.
Уперся в то, что не могу найти информацию, как ESP-ху подружить с USB-портами.
С какой целью Вы пишете на форум, если игнорируете данные там советы?
Точно тролль.
А что подразумевается под USB шилдом ? Можно фото или ссылку ?
дело происходит в гостинице, которая обязана при заселении сканировать доки заселяющихся. Что со сканами происходит далее - не важно. Суть в том, чтобы за минимальную сумму склепать девайс только под эту функцию.
Минимальный "девайс" только под эту функцию называется "мобильный тилипон". Сфотографированные=отсканированные документы еще и автоматом в облако яндекса будут класться навечно и бесплатно. Цену самого дешевого смарта найдешь, или помочь?
Мобильник сильно дороже Wemos ...
Между постами 8 и 15 прошло 27 минут - вполне достаточно, чтобы прочитать 8-й пост перед тем, как писать 15-й, но совершенно недостаточно, чтобы воспользоваться советом из 8-го поста.
С какой целью Вы пишете на форум, если игнорируете данные там советы?
Какой именно совет я пропустил? Совет "поискать на гитхабе usb-хабы" я учел, но ниже попросил дать ключевые слова для поиска, т.к. ничего найти не смог. Или совет "плюнуть и взять orange pi"? В данный момент там используется для этих же целей RaspPi3B+, но все-таки хотелось бы понять, как такое провернуть именно под ESP.
Точно тролль.
Спасибо за Вашу оценку. Ваше мнение я учел, но, кроме мнений о несерьезности/глупости моих вопросов, никакой информации от Вас получить не удалось. К сожалению.
дело происходит в гостинице, которая обязана при заселении сканировать доки заселяющихся. Что со сканами происходит далее - не важно. Суть в том, чтобы за минимальную сумму склепать девайс только под эту функцию.
Минимальный "девайс" только под эту функцию называется "мобильный тилипон". Сфотографированные=отсканированные документы еще и автоматом в облако яндекса будут класться навечно и бесплатно. Цену самого дешевого смарта найдешь, или помочь?
Большое спасибо за совет.
wdrakula а есть ссылка на USB 2.0 Host через ногодрыг ???
А что подразумевается под USB шилдом ? Можно фото или ссылку ?
https://roboshop.spb.ru/modules/usb-2-female-board - Первое, что увидел на эту тему - вот эта платка. Насколько я понимаю, этого не достаточно.
https://aliexpress.ru/item/4000547498093.html?sellermenu_hide=true&src=g...
Вот это, насколько я понял, что-то более подходящее. Но, для чего нужен кристалл посередине, я не очень понимаю. И, соответственно, актуальна ли такая конфигурация для ситуации, когда юсб-порта 2.
как такое провернуть именно под ESP.
Млеать! Ты заипал! НЕЛЬЗЯ это сделать под ЕСП! Еще раз - НЕВОЗМОЖНО. Управлять сканером не получится.
Есть камера под ESP32 и примеры к ней. Можно сделать снимок, не очень хорошего качества и отправить в облако. Уж точно не городить херню с USB флешкой.
Софт USB так и ищи: "esp8266 soft USB".
Блеать!!! Если бы хоть немного чайником своим пошевелил! Вот точно нужно флешка? Это не естественное для микроконтроллера изделие, естественное - SD карточка. Точно не заменит? А карточка на SPI просто цепляется, и твои любимые "готовые шилды" для этого есть.
ЕЩЕ РАЗ КАПСОМ: сканером управлять через ESP8266 невозможно. Если где-то кто-то и писал что-то подобное, то это был проект под тонной ганжубаса в стиле "Зацени, как я умею!".
В данный момент там используется для этих же целей RaspPi3B+, но все-таки хотелось бы понять, как такое провернуть именно под ESP.
RPi + готовый софт намного дешевле, чем ESP + написание софта.
andriano ты не рубишь фишку ! Он же разработчик ПО ! А если ПО уже есть, то и нечего разрабатывать и следовательно не накосить капусту !!!
wdrakula а есть ссылка на USB 2.0 Host через ногодрыг ???
Я не стал смотреть там ност или нет. Хост через ногодрыг ВООБЩЕ невозможен, нужно же питание подавать и им управлять. Можно как-то что-то эмулировать. Для флешки, возможно(!!!) - сойдет.
USB шилд для Wemos D1 mini :-))))))))))))))))
https://www.hackster.io/139994/plug-any-usb-device-on-an-esp8266-e0ca8a
Вот статья про то, как подключали SPI USB host к ESP8266. Всё подробно и что на плате подрезать и что в коде поменять.
andriano ты не рубишь фишку ! Он же разработчик ПО ! А если ПО уже есть, то и нечего разрабатывать и следовательно не накосить капусту !!!
Так то оно так, только пока ни потенциальный заказчик, ни потенциальный исполнитель не представляют сложности и, соответственно, цены работы. А после того, как потенциальный исполнитель немного войдет в курс дела, он поймет, что потенциальный заказчик не готов платить такие деньги за решение задачи, для которой уже используется весьма недорогое решение.
USB шилд для Wemos D1 mini :-))))))))))))))))
Ну - правильно.
Если Вы хотите смотреть телевизор - обязательно купите антенный штекер. Ну а остальное - софтверно.
USB шилд для Wemos D1 mini :-))))))))))))))))
это пять!
Такого толстого тролля давно не помню...
"Разработкой софта" он занимается. ага...