реклама на сайте
подробности

 
 
> STM32 и принтер
Granadoespada
сообщение Jan 11 2016, 09:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 11-01-16
Пользователь №: 89 981



Помогите пожалуйста! Бьюсь уже не один день. Кто нибудь делал реализацию подключения принтера на прямую к мк из серии STM32 по какому-либо интерфейсу?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 23)
1113
сообщение Jan 11 2016, 09:41
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 24-02-06
Из: Москва
Пользователь №: 14 658



Цитата(Granadoespada @ Jan 11 2016, 12:37) *
Бьюсь уже не один день.
над чем, что не работает?
Go to the top of the page
 
+Quote Post
Granadoespada
сообщение Jan 11 2016, 09:47
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 11-01-16
Пользователь №: 89 981



Много тем уже перечитал, не могу найти точного объяснения как лучше реализовать данное соединение, при соединение по usb пишут что надо создавать собственный драйвер, не совсем понятно как это будет работать, если есть возможность вкратце могли бы объяснить что да как?
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 11 2016, 09:54
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



В гугле забанили?
тынц
Go to the top of the page
 
+Quote Post
Granadoespada
сообщение Jan 11 2016, 09:58
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 11-01-16
Пользователь №: 89 981



Нет, не забанили. Надеюсь что здесь хоть кто то сможет подсказать и разъяснить как сделать.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 11 2016, 10:08
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Granadoespada @ Jan 11 2016, 12:58) *
Нет, не забанили. Надеюсь что здесь хоть кто то сможет подсказать и разъяснить как сделать.

Ты есть по ссылкам, которые вам тут дают, не ходите, и тексты там не читаете принципиально? Ну ладно.
Go to the top of the page
 
+Quote Post
Granadoespada
сообщение Jan 11 2016, 10:12
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 11-01-16
Пользователь №: 89 981



По ссылкам хожу, извините если туплю. Просто мне бы хотелось если это возможно хоть каких нибудь примеров и разъяснений ели это возможно. Может кто нибудь все таки уже разбирал данный вопрос.

Сообщение отредактировал Granadoespada - Jan 11 2016, 10:13
Go to the top of the page
 
+Quote Post
megajohn
сообщение Jan 11 2016, 11:40
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(Granadoespada @ Jan 11 2016, 12:37) *
Кто нибудь делал реализацию подключения принтера на прямую к мк из серии STM32 по какому-либо интерфейсу?
Просто мне бы хотелось если это возможно хоть каких нибудь примеров и разъяснений ели это возможно.


самое простое это по UART / RS232. Такой поддерживают почти все чековые принтеры ( Argox OS-2130D, Brother QL650TD, Меркурий119 ) и не только.
Далее читате что за протокол реализован в вашем принтере. Самые простые это ESC-POS и Datamax (использовал и чуть чего подскажу), epl2 и SLCS ( не приходилось применять )

описание вышеперечисленных протоколовПрикрепленный файл  printer_protocols.rar ( 7.68 мегабайт ) Кол-во скачиваний: 74


вот пример обмена по Esc POS
CODE
//Initialize ( ESC + @ )
> 1B 40
< none

//Status information request ( ESC + i + S )
> 1B 69 53
< 80 20 42 30 51 30 00 00 00 00 1D 0A 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

//Switch command mode = ESC/P standard mode ( ESC + i + a + \x01 )
> 1B 69 61 01
< none

//Print information command = For the starting page of die-cut labels (29 mm ? 90 mm) with priority given to print speed ( ESC + i + z + ... )
> 1B 69 7A 00 0B 1D 5A DF 03 00 00 00 00
< none

//Set each mode = To select Auto Cut ( ESC + i + M + @ )
> 1B 69 4D 40
< none

//Set expanded mode = set Cut at end flag ( ESC + i + K + \x08 )
> 1B 69 4B 08
< none

// Set margin amount
// 0x00 = 0 mm margins ( ESC + i + d + \x00 + \x00 )
// 0x23 = 3 mm margins ( ESC + i + d + \x23 + \x00 )
// how calc: arg * 25,4 / 300 = 35 * 25,4 / 300 = 2,963 mm = ~3mm
> 1B 69 64 00 00
< none

//Compression mode selection ( + )
> 4D 00
< none

//Raster graphics transfer N = 90
cm ar sz 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
> 67 00 5A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
< none
...
> 67 00 5A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
< none

// Print command with feeding
> 1A
< none




--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
Granadoespada
сообщение Jan 11 2016, 11:48
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 11-01-16
Пользователь №: 89 981



Извините, что туплю очень сильно! А на каком языке приведен код?
Go to the top of the page
 
+Quote Post
Jury093
сообщение Jan 11 2016, 12:32
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(Granadoespada @ Jan 11 2016, 14:48) *
Извините, что туплю очень сильно! А на каком языке приведен код?

в гугле забанили?
https://en.wikipedia.org/wiki/ANSI_escape_code
Go to the top of the page
 
+Quote Post
Granadoespada
сообщение Jan 11 2016, 12:57
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 11-01-16
Пользователь №: 89 981



Спасибо за ответы. А примеры с использованием Си или Си++???
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 11 2016, 14:29
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Granadoespada @ Jan 11 2016, 14:48) *
Извините, что туплю очень сильно!

Вообще-то "тупить" - это нечто иное. "Не знать и не хотеть знать" больше подходит.
Может, лучше в "начинающие" перенести?
Go to the top of the page
 
+Quote Post
hd44780
сообщение Jan 11 2016, 16:05
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Принтер и чековый принтер это разные вещи.
Принтеры могут быть с LPT - тогда подключить легко - команды все давно известны, но если USB - имхо нереально. Протоколы у всех разные, даже если и раскурите какой-то один принтер, то только он один и будет работать.

Чековые принтеры, в простонародье кассовые аппараты (КА) гораздо проще. Но опять же если он COM-портовый. Но в любом случае, надо знать протокол.
Я работал (на компе, не на МК) с 3-мя КА, у 2-х из них протокол был один и тот же, у третьего совершенно иной.

Поэтому, Granadoespada, потрудитесь объяснить, "что ты имела в виду"? Лично я ни фига не понял sad.gif .


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 11 2016, 16:22
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(hd44780 @ Jan 11 2016, 22:05) *
Принтер и чековый принтер это разные вещи.
Принтеры могут быть с LPT - тогда подключить легко - команды все давно известны, но если USB - имхо нереально. Протоколы у всех разные, даже если и раскурите какой-то один принтер, то только он один и будет работать.

Я думаю - не всё так мрачно.
Вот передо мной лежит девайс разработки N-летней давности сделанный на каком-то стареньком МК от ST (ещё 8-битном). Он имеет USB-разъём для подключения принтера. В РЭ есть список совместимых принтеров разных производителей.
Попробуйте погуглить по словам: USB, PictBridge.
Go to the top of the page
 
+Quote Post
megajohn
сообщение Jan 11 2016, 21:05
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(hd44780 @ Jan 11 2016, 19:05) *
Принтер и чековый принтер это разные вещи.


дануна ! ( древнерусская богиня удивления=) )

Цитата(hd44780 @ Jan 11 2016, 19:05) *
Принтеры могут быть с LPT - тогда подключить легко - команды все давно известны, но если USB - имхо нереально


что последовательный порт, что параллельный - в итоге то команды управления
вот пожалуйста, Чековый принтер с параллельным портом
страница 9


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
Эдди
сообщение Jan 11 2016, 21:10
Сообщение #16


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Принтер принтеру рознь! Если всякие говна вроде HP, EPSON и прочих кэнонов даже к компьютеру фиг подсоединишь, чтобы работали, как их подсоединять к мелкоконтроллеру? Спецификаций протокола ведь нет!
Вот постскрипт-принтер, работающий на LPT — да, реально.

А вот если говорить о чековых принтерах, то там все намного проще обычно, т.к. они и рассчитываются на работу с мелкоконтроллерами.
Go to the top of the page
 
+Quote Post
Granadoespada
сообщение Jan 12 2016, 07:42
Сообщение #17


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 11-01-16
Пользователь №: 89 981



Я имел ввиду, что есть stm32 микроконтроллер с USB входом и есть задача по подключению USB принтера к данному микроконтроллеру, хотелось бы узнать возможно ли это сделать, это напрямую соединяя c помощью USB интерфейса, либо возможно использование другого интерфейса с помощью каких либо преобразователей интерфейсов, и соответственно печать на принтере данных с микроконтроллера.


Уважаемый scifi, если бы я не хотел разобраться с данным вопросом, и не хотел знать чего то, то не сидел на данном форуме и не задавал вопросы. Да я признаю что возможно моих знаний в каких то вопросах не хватает, и я задаю глупые вопросы. Но я бы хотел увеличить свои знания и если вы мне с этим поможете, то я буду Вам только благодарен. И да я признаю что я новичок в работе с микроконтроллерами, но еще раз повторю хотел бы развить свои знания.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 12 2016, 08:45
Сообщение #18


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Granadoespada @ Jan 12 2016, 10:42) *
Я имел ввиду, что есть stm32 микроконтроллер с USB входом и есть задача по подключению USB принтера к данному микроконтроллеру, хотелось бы узнать возможно ли это сделать, это напрямую соединяя c помощью USB интерфейса, либо возможно использование другого интерфейса с помощью каких либо преобразователей интерфейсов, и соответственно печать на принтере данных с микроконтроллера.


Если новичек - не потянуть вам этого, тут все куда более "запущено".

Во первых нужен драйвер принтера (в винде он видится, как DOT4), как на самом деле он зовется - хз, делает эмуляцию LPT порта под усб. Затем драйвер самого принтера, если повезет, он окажется PCL5(6) совместимый, тогда сделать парсер языка PCL или PS, после этого можно работать.
Другое дело, что в открытом виде нужно либо расколупывать линукс (это что-то с чем-то даже для профессионалов), либо очень долго и нудно искать.
Так что вот, такой расклад wacko.gif
ЗЫ. Но как правило принтаки попадаются с RAW протоколом, т.е. проприентарный, без доков, да и многие поддерживают USB HS-ONLY, т.е. в СТМ только через костыль USB3300.

Сообщение отредактировал mantech - Jan 12 2016, 08:47
Go to the top of the page
 
+Quote Post
Granadoespada
сообщение Jan 12 2016, 08:48
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 11-01-16
Пользователь №: 89 981



Спасибо за ответ!
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 12 2016, 10:25
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Granadoespada @ Jan 12 2016, 13:42) *
Я имел ввиду, что есть stm32 микроконтроллер с USB входом и есть задача по подключению USB принтера к данному микроконтроллеру, хотелось бы узнать возможно ли это сделать, это напрямую соединяя c помощью USB интерфейса, либо возможно использование другого интерфейса с помощью каких либо преобразователей интерфейсов, и соответственно печать на принтере данных с микроконтроллера.

Вам уже ответили. Читать умеете???

Цитата(mantech @ Jan 12 2016, 14:45) *
Другое дело, что в открытом виде нужно либо расколупывать линукс (это что-то с чем-то даже для профессионалов), либо очень долго и нудно искать.
Так что вот, такой расклад wacko.gif

Гуглить: PictBridge
Go to the top of the page
 
+Quote Post
Granadoespada
сообщение Jan 12 2016, 10:34
Сообщение #21


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 11-01-16
Пользователь №: 89 981



Люди попросили более конкретно написать что мне требуется. Вот я и расписал. Читать умею.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 12 2016, 12:56
Сообщение #22


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(jcxz @ Jan 12 2016, 13:25) *
Гуглить: PictBridge


Как вариант интересно, тут хоть какой-то общий стандарт, но опять-же линукс-онли, плюс только поддерживающие PictBridge принтеры.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jan 12 2016, 14:01
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(mantech @ Jan 12 2016, 18:56) *
Как вариант интересно, тут хоть какой-то общий стандарт, но опять-же линукс-онли, плюс только поддерживающие PictBridge принтеры.

Причём тут линух???
Там вроде-бы как раз наоборот пишут что: "PictBridge cannot be implemented as free software or open source software"
т.е. похоже придётся что-то подписывать чтобы получить доку по нему. Ну или реверсить готовое.

PS: Ещё, как вариант, полазить по РЭ различных фото-мыльниц (и не мыльниц) - бывает в них описывают возможность прямой печати фоток без использования компа, путём подключения принтера напрямую к USB мыльницы. Такие принтеры должны поддерживать какие-то стандартные протоколы работы.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 12 2016, 17:06
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(jcxz @ Jan 12 2016, 17:01) *
Там вроде-бы как раз наоборот пишут что: "PictBridge cannot be implemented as free software or open source software"

Это не значит, что нельзя скоммуниздить laughing.gif
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 18:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01567 секунд с 7
ELECTRONIX ©2004-2016