|
2 страниц
1 2 >
|
 |
Ответов
(1 - 23)
|
Jan 11 2016, 09:47
|
Участник

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

|
Много тем уже перечитал, не могу найти точного объяснения как лучше реализовать данное соединение, при соединение по usb пишут что надо создавать собственный драйвер, не совсем понятно как это будет работать, если есть возможность вкратце могли бы объяснить что да как?
|
|
|
|
|
Jan 11 2016, 09:58
|
Участник

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

|
Нет, не забанили. Надеюсь что здесь хоть кто то сможет подсказать и разъяснить как сделать.
|
|
|
|
|
Jan 11 2016, 10:12
|
Участник

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

|
По ссылкам хожу, извините если туплю. Просто мне бы хотелось если это возможно хоть каких нибудь примеров и разъяснений ели это возможно. Может кто нибудь все таки уже разбирал данный вопрос.
Сообщение отредактировал Granadoespada - Jan 11 2016, 10:13
|
|
|
|
|
Jan 11 2016, 11:40
|

Профессионал
    
Группа: Свой
Сообщений: 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 штук).
|
|
|
|
|
Jan 11 2016, 11:48
|
Участник

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

|
Извините, что туплю очень сильно! А на каком языке приведен код?
|
|
|
|
|
Jan 11 2016, 12:57
|
Участник

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

|
Спасибо за ответы. А примеры с использованием Си или Си++???
|
|
|
|
|
Jan 11 2016, 16:05
|

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

|
Принтер и чековый принтер это разные вещи. Принтеры могут быть с LPT - тогда подключить легко - команды все давно известны, но если USB - имхо нереально. Протоколы у всех разные, даже если и раскурите какой-то один принтер, то только он один и будет работать. Чековые принтеры, в простонародье кассовые аппараты (КА) гораздо проще. Но опять же если он COM-портовый. Но в любом случае, надо знать протокол. Я работал (на компе, не на МК) с 3-мя КА, у 2-х из них протокол был один и тот же, у третьего совершенно иной. Поэтому, Granadoespada, потрудитесь объяснить, "что ты имела в виду"? Лично я ни фига не понял  .
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
Jan 11 2016, 21:05
|

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

|
Цитата(hd44780 @ Jan 11 2016, 19:05)  Принтер и чековый принтер это разные вещи. дануна ! ( древнерусская богиня удивления=) ) Цитата(hd44780 @ Jan 11 2016, 19:05)  Принтеры могут быть с LPT - тогда подключить легко - команды все давно известны, но если USB - имхо нереально что последовательный порт, что параллельный - в итоге то команды управления вот пожалуйста, Чековый принтер с параллельным портом страница 9
--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
|
|
|
|
|
Jan 12 2016, 07:42
|
Участник

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

|
Я имел ввиду, что есть stm32 микроконтроллер с USB входом и есть задача по подключению USB принтера к данному микроконтроллеру, хотелось бы узнать возможно ли это сделать, это напрямую соединяя c помощью USB интерфейса, либо возможно использование другого интерфейса с помощью каких либо преобразователей интерфейсов, и соответственно печать на принтере данных с микроконтроллера.
Уважаемый scifi, если бы я не хотел разобраться с данным вопросом, и не хотел знать чего то, то не сидел на данном форуме и не задавал вопросы. Да я признаю что возможно моих знаний в каких то вопросах не хватает, и я задаю глупые вопросы. Но я бы хотел увеличить свои знания и если вы мне с этим поможете, то я буду Вам только благодарен. И да я признаю что я новичок в работе с микроконтроллерами, но еще раз повторю хотел бы развить свои знания.
|
|
|
|
|
Jan 12 2016, 08:45
|
Гуру
     
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143

|
Цитата(Granadoespada @ Jan 12 2016, 10:42)  Я имел ввиду, что есть stm32 микроконтроллер с USB входом и есть задача по подключению USB принтера к данному микроконтроллеру, хотелось бы узнать возможно ли это сделать, это напрямую соединяя c помощью USB интерфейса, либо возможно использование другого интерфейса с помощью каких либо преобразователей интерфейсов, и соответственно печать на принтере данных с микроконтроллера. Если новичек - не потянуть вам этого, тут все куда более "запущено". Во первых нужен драйвер принтера (в винде он видится, как DOT4), как на самом деле он зовется - хз, делает эмуляцию LPT порта под усб. Затем драйвер самого принтера, если повезет, он окажется PCL5(6) совместимый, тогда сделать парсер языка PCL или PS, после этого можно работать. Другое дело, что в открытом виде нужно либо расколупывать линукс (это что-то с чем-то даже для профессионалов), либо очень долго и нудно искать. Так что вот, такой расклад  ЗЫ. Но как правило принтаки попадаются с RAW протоколом, т.е. проприентарный, без доков, да и многие поддерживают USB HS-ONLY, т.е. в СТМ только через костыль USB3300.
Сообщение отредактировал mantech - Jan 12 2016, 08:47
|
|
|
|
|
Jan 12 2016, 08:48
|
Участник

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

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

|
Цитата(Granadoespada @ Jan 12 2016, 13:42)  Я имел ввиду, что есть stm32 микроконтроллер с USB входом и есть задача по подключению USB принтера к данному микроконтроллеру, хотелось бы узнать возможно ли это сделать, это напрямую соединяя c помощью USB интерфейса, либо возможно использование другого интерфейса с помощью каких либо преобразователей интерфейсов, и соответственно печать на принтере данных с микроконтроллера. Вам уже ответили. Читать умеете??? Цитата(mantech @ Jan 12 2016, 14:45)  Другое дело, что в открытом виде нужно либо расколупывать линукс (это что-то с чем-то даже для профессионалов), либо очень долго и нудно искать. Так что вот, такой расклад  Гуглить: PictBridge
|
|
|
|
|
Jan 12 2016, 10:34
|
Участник

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

|
Люди попросили более конкретно написать что мне требуется. Вот я и расписал. Читать умею.
|
|
|
|
|
Jan 12 2016, 14:01
|
Гуру
     
Группа: Свой
Сообщений: 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 мыльницы. Такие принтеры должны поддерживать какие-то стандартные протоколы работы.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|