Добрый день! Я новичок в ардуино, подключаю тестово терминал оплаты
Имел ли кто опыт подключения Vendista к Arduino по mdb? Интересует первоначальная настройка.
Схема и возможные переходники, может быть интерфейсы mdb. Читал много материала на тему подключения аппаратов, например эта и другие
На данный момент есть подключенные к ардуино rx и tx от терминала. Использую библиотеку SoftSerial, однако в консоли Com порта ничего не отображается, либо символы, схожие на сбитую кодировку
Читал документацию несколько десятков раз, информации в интернете мало.
Спасибо! Я разобрался с консолью)
Насколько я понял передаваемые биты преобразовывались в ASCII и поэтому получались непонятные символы. Теперь буду разбираться с срс калькулятором и таблицами из документации.
Про обмен по MDB с монетоприемником с функцией выдвчи сдачи можно посмотреть тут О Multi-Drop Bus замолвите слово или торговый автомат по розливу воды с управлением по MDB / Хабр
У Вендисты достаточно простой протокол обмена если используется режим связи когда Вендиста сама отправляет принимает сообщения об оплате. Для реализации нужно всего 3-5 команд в зависимости от задач вендинга. И да вы правильно привели ссылку на документацию вендисты.
Добрый день, читал вашу статью про mdb, разобрался с назначением кабеля и пинов
Насколько я знаю вендиста изначально работает в таком состоянии. Теперь думаю как правильно обрабатывать команды, пробовал спрашивать у поддержки, но высылали инструкции уже для готовых терминалов. Возможно я что-то упустил в коде?
Почти. Стоит уточнить что команда 0x01 (ReadCard) имеет параметр “Использовать канал GSM терминала” и от этого зависит: канал и обмен сервером организует вендиста или контроллер вендингового аппарата.
вы используете команду 0x03 (ShowPicture) - по этой команде вендиста просто показывает одну из стандартных своих картинок. назначение которых описано в мануале.
Вам же нужно отправить команду 0x01 (ReadCard) с параметром Использовать канал GSM терминала=0, дождаться ответа. По ответу будет видно считана карта или нет , далее если карта успешно считана и прошла оплата придет сообщение об успешной или нет оплате. Проанализировав два этих ответа вендинговый аппарат принимает решение о выдаче товара. Командами 0x03 (ShowPicture) осуществляем помощь клиенту в пользовании аппаратом: выводим картинку “выберите товар” “поднесите карту оплаты” “оплата прошла” и т.д. У вендисты есть сообщение “Касание экрана” - это очень полезная функция.
Этого достаточно для многих аппаратов.
У вендисты есть команды ввода текста на экран, отмены транзакций и др. Но это уже когда сможете освоить хотя бы первый этап.
Вендиста может сыпать свои сообщения без предупреждения, поэтому прием нужно организовать по прерываниям , а по получению пакета декодировать его.
Спасибо большое!
Теперь стало более понятно, написал код для чтения карты. Жду мегу и сейчас буду разбираться какой переходник куда присоединять правильно, ибо от вендисты идет два провода mdb и на самом терминале ошибка либо 0 или редко 1. Присоединял к маме, посмотрю больше информации по работе, вроде в вашей статье было информация об этом
Пару лет назад подключал этот терминал по RS232 через обычную Atmega328P на игровой аппарат китайский. Проткол терминала действилельно намного проще чем у Vendoteka или D200 к примеру.
Да вот по протоколу пока нету вопросов, по крайней мере сейчас. Есть по подключению. Не понимаю в чем ошибка. Пробовал оба pci переходников (на фото). Провел питание и землю, работает. RX и TX провел через резисторы 1кОм (пробовал и без) к меге. GND также притянул к меге, земля общая. Однако терминал до сих пор показывает “Проблемы с автоматом. ошибка 0”
Пакеты не отправляются на терминал через UART. Ошибка (иногда выскакивает такое же описание, но ошибка 1. Смотрел документацию, но она больше для готовых автоматов):