Какую лучше выбрать модель купюроприемника, желательно с имеющимся API для работы с ним?
Здравствуйте!
Требуется подобрать купюроприемник для будущего торгового автомата.
Пока гуглил нашел документацию для некоторых из них, но хотелось бы узнать, может кто-то находил уже готовые библиотеки от разработчиков или описание протокола для работы с данными аппаратами?
Спасибо заранее за ответы и подсказки, не имею должного опыта в данном вопросе чтобы где-то правильно нагуглить, поэтому буду рад любой помощи.
Используем Cashcode SM, вполне надёжные агрегаты. Очень популярны, поэтому полно запчастей и мастеров.
Описание протокола взаимодействия с купюроприёмником можете скачать здесь.
Так же здесть есть распайки и прочая техническая информация: sensis.com.ua/tech_info
я так понимаю разница между купюроприемниками ICT и CashCode состоит только в использовании разных протоколов (ICT 002/004 - RS232 и CCNet соответственно) ?
суть вопроса вообще состоит в том, чтобы узнать, возможно ли реализовать свое ПО для торгового автомата и связать воедино купюроприемник, сенсор и принтер. Через Python, например, ну и вообще чтобы не просто на низком уровне посылать байтовые запросы, а может найти готовые библиотеки, но видимо таким бесплатно никто не делится? )
Простите, за дилетантские вопросы, я еще только штудирую данную тему
funkynick89: разница между ICT и Cashcode в надёжности и восприимчивости к фальшивым банкнотам. ICT стоят дешевле, но фальшивки принимают намного чаще, Cashcode дороже, но фальшивок для них очень мало и они требуют больших стараний от жуликов. Поэтому в вендинге чаще используют ICT, так как там сравнительно небольшие обороты и соответственно ущерб от фальшивок намного менее фатален. Cashcode чаще используют в платёжных терминалах, так как там очень малая маржа и любая фальшивая купюра сильно бьёт по карману владельца терминала.
Протоколы взаимодействия каждый производитель изобретает свои, поэтому, при разработке программного обеспечения, для каждого производителя пишут свою библиотеку и, в зависимости от установленного оборудования, подключают нужные.
С принтерами та же история: у каждого производителя есть свой протокол общения с принтером по последовательному порту. Там всегда предусмотрено получение ошибок от принтера (замятие бумаги, конец бумаги и т.д.). Даже если у принтера есть возможность подключения через usb с помощью стандартных драйверов (в Linux, например, через cups), то необходимо внимательно читать документацию. Так как стандартные драйвера зачастую не передают сообщения об ошибках принтера и вы не сможете мониторить замятие/окончание бумаги, чем приведёте в ярость своих клиентов, которые не получат чек. Поэтому лучше всего принтеры подключать тоже к последовательному порту и тоже писать для них библиотеку.
Самое простое и приятное в этой теме: взаимодействие с сенсором. Интерфейс может быть как USB, так и COM. Но суть у них одна - сенсор для системы представляет собой просто обычную "мышь". Поэтому, если драйвера для сенсорного контроллера есть в ядре Linux, то он сразу определится как устройство ввода и будет работать в X.org. Единственное, что необходимо сенсору это калибровка, производится с помощью xinput_calibrator и данные калибровки записываются в xorg.conf или подобные конфиги для графической оболочки. После этого всё чудесно работает.
Известных готовых библиотек под принтеры и купюрники я не видел. Возможно сейчас стоит поискать на github'e или внимательно погуглить.
Но так как это оборудование используется исключительно в коммерческих целях, то сильно надеяться на то, что кто-то выложит свои разработки бесплатно я бы не стал.
Константин ™: Константин, спасибо большое за развернутый и подробный ответ, очень ценные сведения. Подскажите пожалуйста, есть ли разница в подключении купюроприемников и подобной техники через преобразователь RS232-USB или же все-таки лучше использовать системный блок с уже имеющимися ком-портами? Не возникает ли проблем с подобного рода подключением?
funkynick89: Рад помочь :)
Через rs232-usb преобразователи оборудование не подключал. Вроде пишут, что эти переходники могут глючить и это не есть 100% аппаратный com-порт, но так как лично опыта не имел, то утверждать не буду.
В нашей конфигурации мы стараемся использовать материнские платы со встроенной видео-картой и минимум одним com-портом (большой плюс, если на плате есть колодка для подключения второго разъёма com-порта) + плата pci на контроллере Moschip с 2-4 дополнительными com-портами (такая: 2 порта и 4 порта).
Вот с этими платами и купюроприёмники и принтеры точно работают.
Константин ™, есть ли какие-нибудь эмуляторы, которые позволяют разрабатывать ПО для CashCode SM, не имея при этом физически подключенного к компу разработчика устройства?