Перейти к содержанию
    

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

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

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

 

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

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Если аппаратов много, договориться о поставках такого же 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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

55 минут назад, pnp_mechanic сказал:

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

Изменено пользователем pnp_mechanic

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно, зная про 'cat "file.txt" > /dev/usb/lp0' , не знете про 'lsusb -t', а там 'man lsusb' и "чем дальше в лес, тем толще партизаны"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 минуты назад, Obam сказал:

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

13 minutes ago, pnp_mechanic said:

Где и как посмотреть "дескрипторы конечной точки"?

http://www.kroah.com/linux-usb/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Как раз то что я искал. 

Изменено пользователем pnp_mechanic

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, pnp_mechanic said:

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, pnp_mechanic сказал:

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

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

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

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 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 и не создавайте себе в будущем проблем

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

почему редкость?
Буквально месяц назад мой Заказчик выбирал принтер и спокойно нашел с классическим RS232.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 hours ago, pnp_mechanic said:

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...