Jump to content

    
Sign in to follow this  
pnp_mechanic

Чековый USB принтер и STM32

Recommended Posts

Изобретаю вендинговый аппарат. Есть чековый USB принтер STAR-TUP992.

Сейчас успешно получается выводить  на печать текст на Linux машине простым способом 

 

cat "file.txt" > /dev/usb/lp0

Использовать компьютер или Orang PC и  пр. для этого  аппарата  считаю не оправданно.

Весь вопрос к уважаемому сообществу состоит в следующем:

возможно ли  подобное делать на STM32, какой МК наиболее подойдёт для этой задачи?

Ведь не должно быть очень сложно  реализовать HOST средствами МК.

Видел есть куча библиотек для реализации HOST на МК, но все они заточены либо для мыши, либо для клавиатуры, либо USB флешки.

И интересно как работает выше указанная команда, что просто отправляет байты в какую-то  конечную точку..

Share this post


Link to post
Share on other sites

Если аппарат один, поставить распбери.

Если аппаратов много, договориться о поставках такого же STAR'а, но с ком-портом.

 

Ну и договориться о предоставлении документации на их протокол. Потратил 30 секунд, гугл ничего подходящего не выдал...

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

 

UPD. вот, нашёл что-то: http://www.starmicronics.com/support/Mannualfolder/linemode_cm_en.pdf

 

UPD2. https://community.st.com/s/question/0D50X00009XkaNSSAZ/usb-printer-class

дорога полна приключений, но чего-то сверхординарного тут нет.

Share this post


Link to post
Share on other sites
55 минут назад, pnp_mechanic сказал:

Изобретаю вендинговый аппарат. Есть чековый USB принтер STAR-TUP992.

Сейчас успешно получается выводить  на печать текст на Linux машине простым способом 

Видел есть куча библиотек для реализации HOST на МК, но все они заточены либо для мыши, либо для клавиатуры, либо USB флешки.

Скорее всего там реализуется виртуальный COM-port - надо в линуксе посмотреть какой интерфейс получается при подключении.

Если этот принтер надо "прибить гвоздями к плате" - можно существенно упростить реализацию USB-хоста.
 

Share this post


Link to post
Share on other sites

Стояла подобная задача, но с touchscreen-ом.

Не хотелось всякие там армы-шмармы изучать.

Реализовал ногодрыгом некое подобие хоста на xmega USB 2.0 Full-Speed.

Уже пару лет - полёт нормальный :biggrin:

Share this post


Link to post
Share on other sites

Да, протокол принтера EPSON. Кроме всего прочего для аппарата нужен ещё приёмник  денег и GSM модуль,

и ещё какой-то экранчик, и куча реле, и кнопок.. 

Боюсь у Расбери не хватит ног.  У принтера судя по схеме есть вывод RX TX, но они "глубоко".Кроме того можно

купить другую интерфейсную плату с RS232 интерфейсом, но она стоит как принтер :-)

Нужно именно  привязать принтер к МК. 

Интересует как определить куда же всё таки 

cat "file.txt" > /dev/usb/lp0

отправляются  байты этой командой.

Edited by pnp_mechanic

Share this post


Link to post
Share on other sites
24 минуты назад, Obam сказал:

Странно, зная про 'cat "file.txt" > /dev/usb/lp0' , не знете про 'lsusb -t', а там 'man lsusb' и 

К сожалению  мои знания про USB поверхностны. Но подозреваю , что пакет что отправляется от HOST к ус-ву  должен 

каким-то  образом попасть в конечную точку. Где и как посмотреть "дескрипторы конечной точки"?

Или достаточно просто , как говорилось раньше "простым ногодрыгом" отправить  последовательность  байт в принтер.

Попробую-ка  я посмотреть каким нибудь USB сканером...Должны же быть программные способы перехвата USB пакетов.  

Share this post


Link to post
Share on other sites
1 hour ago, pnp_mechanic said:

как говорилось раньше "простым ногодрыгом" отправить  последовательность  байт

да, да, конечно "простым  :laugh1: ногодрыгом", но только согласно спецификации usb и на частоте 12 MHz :biggrin:

Share this post


Link to post
Share on other sites
12 часов назад, pnp_mechanic сказал:

К сожалению  мои знания про USB поверхностны.

В чем тогда была проблема поставить принтер с RS-232  и не преодолевать эти героические сложности, тот же Custom, например? Он и работать будет куда надежнее, чем усб...

ЗЫ. Не знаю, для какой цели ставится этот принтер, если для чеков, то вообще-то его нужно подключать к кассе, которая уже подключается к автомату, тогда вообще не понятно, зачем сие изыскание... Или ТС и кассу сам изобретает :dirol:

Edited by mantech

Share this post


Link to post
Share on other sites
В 13.03.2020 в 17:12, pnp_mechanic сказал:

Изобретаю вендинговый аппарат. Есть чековый USB принтер

верно вам говорят:

13 часов назад, mantech сказал:

поставить принтер с RS-232  и не преодолевать эти героические сложности

у меня с

В 13.03.2020 в 18:21, pnp_mechanic сказал:

Кроме всего прочего для аппарата нужен ещё приёмник  денег и GSM модуль,

и ещё какой-то экранчик, и куча реле, и кнопок

спокойно справляется avr atmega64/126/2561 (зависит от ситуации, плата-то одна :)

Так что ставьте принтер с RS232 и не создавайте себе в будущем проблем

Share this post


Link to post
Share on other sites

Да, разумеется принтер с RS232 значительно проще в применение.

Но есть в доступности  только USB. ( цена, наличие, распространённость  и пр.) 

Пока получилось посредством STM32CubeMx( ох, не нравится он мне)  прочитать дескрипторы принтера.  

А коли чего, так припаяю RX TX прямо к центральному  МК принтера и вперёд, благо схема имеется.

 

Share this post


Link to post
Share on other sites
14 hours ago, pnp_mechanic said:

Да, разумеется принтер с RS232 значительно проще в применение. Но есть в доступности  только USB. ( цена, наличие, распространённость  и пр.) . . . .   А коли чего, так припаяю RX TX прямо к центральному  МК принтера и вперёд, благо схема имеется.

У Вас, по всей видимости, основная задача - "трудоустроить" имеющийся USB-девайс.

Если есть схема и просматривается призрачная возможность прикрутить по USART - имеет смысл начать с этого.

Можете потерять много ценного времени на "прикрутку" именно USB вместо решения основной задачи - запуска устройства "в целом".

Разве что их (принтеров) не один и не два. Кроме того соединение по USB может слететь и само не восстановиться (по причине недописания софта, например или недо-обработки ошибки протокола), при срабатывании индуктивной нагрузки, электромагнита или тэна, итд.

И хорошо, если оно будет слетать через минуту-две.  А если сбоить будет по-вражески, раз в  час или реже, по непонятной (?) причине.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this