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

Raspberry PI или подгадил коммерческим решениям.


Dimonakapirat

Рекомендуемые сообщения

Доброе утро. 

 

увидел эту тему совершенно случайно. 

на своих автоматах планирую заменить "мамку" на ягодку, вот Вас и нашел.

 

а так я использую телеметрию уже лет 5

правда пришлось снифить протокол производителя и делать свой обработчик.

зато я на своем сервере имею в реальном времени все данные (продажи, остатки ошибки и т.д.)

правда у меня автоматы умеют данные отливать.

но в любом случае моя система телеметрии лучше чем у производителя. :)

 

в этом плане имею достаточно большой опыт по телеметрии, и готов им поделиться.

если что пишите

alexm@mov.ru

 

PS по модемам. лучше смотреть в сторону внешней антенны.у меня стоят внешние, и на некоторых точках нужно искать место, что бы был устойчивый сигнал. 

ибо частая перерегистрация скажется на счете от провайдра. :)

Ссылка на комментарий
  • 2 года спустя...
  • Ответов 87
  • Создана
  • Последний ответ

Топ авторов темы

Пардон за некропостинг. Пытаюсь сделать что-то типа мониторинга по MDB. Набросал на ардуине эмулятор cashless device. Но возник один затык. Опыты ставлю на кофейнике Bianchi BVM 951. Инициализация проходит нормально, но vmc после продажи не выдает команду VEND/CASH SALE (0x13 0x05). Бит b3 в ответе на SETUP/CONFIG DATA установлен в 1. В какую сторону рыть? Кто может скинуть примеры сессий с командой VEND/CASH SALE?

Ссылка на комментарий

рыть надо в сторону полной эмуляции сессии. проснифить как с оконечными девайсами общается "мамка".

сделать полную эмуляцию, ну и понять что делает каждый байт в пакете.

просто мне Ваши примеры ничего не дадут. я не знаю как реализовано в бианче.

 

я лично всегда иду от анализа пакета. и понимания чего делает каждый байт. правда когда снифил трафик своего автомата, то я не знаю значения некоторых байт, но мне это и не нужно. основное я понял. :)

Ссылка на комментарий

Спасибо за ответ.

Сессию я эмулирую. Проснифил работу купа и монетника. Они не возвращают нужной информации, в частности, о том, какая кнопка нажата, какой напиток выбран. Давайте я объясню чуть подробней. Буду использовать мнемоники команд из описания протокола MDB 4.2. Адрес эмулятора 0x10 (cashless device). Что сейчас делает мой эмулятор:

VMC дает RESET, я отвечаю ACK

VMC - POLL, я отвечаю JUST RESET

VMC - SETUP CONFIG, я отвечаю CONFIG, в котором в крайнем байте (misc options) бит b3 (enable cash sale) установлен. VMC дает ACK

VMC - SETUP PRICES, я отвечаю ACK

VMC - EXPANSION/REQ ID, я отвечаю ID, VMC ACK

VMC - READER ENABLE, я ACK.

VMC начинает поллинг.

В документации сказано следующее про команду VEND/CASH SALE:

Note: This command is issued for cash auditing applications and is sent to the payment media
reader if the SETUP/CONFIGURATION bit (b3) is enabled anytime a valid cash transaction is
completed via a coin mechanism or bill validator.

Так вот. Когда valid cash transaction завершается, т.е. мы засунули в монетник/куп деньги, нажали напиток, получили напиток, VMC включило платежные устройства снова, никакой команды VEND/CASH SALE я от него не получаю.

 

 

 

Изменено пользователем wwwdotru
Ссылка на комментарий

Можно поподробней расписать, как работает ваш сниффер? Тоже эмулирует какое-то устройство или просто слушает rx-tx шины? На какие данные он опирается? Откуда вы берете инфу о факте нажатия кнопки и успешности продажи? Или пример сессии в байтах/мнемониках, все равно.

Ссылка на комментарий

мне удобней через почту.

мой емыл

alexm@mov.ru

 

в двух словах.про сниф мдб. 

у меня есть логический анализатор (какой то дешевый китайский)

я снял все что было в шине и понял что означает каждый байт.

затем, по быстрому, на "малинке" брат написал прогу, и сделал полную эмуляцию.

 

когда снифил телеметрию, то завернул весь трафик на себя и просто снял дамп. а потом разобрался что за что отвечает.

 

а по Вашему, с чего Вы взяли что VMC должно что то? :)

как я смотрю. очень многие просто "кладут" на спецификацию.

разработчики, типа попробовали так. оно сработало. так и оставили. :) 

Ссылка на комментарий
  • 4 недели спустя...

Господа!

Я профессионально занимаюсь автоматизацией производства и бизнес процессов через интернет. Мне это нравится и это вся моя жизнь. Сейчас меня привлекло направление вендинга.

Я задался целью написать веб сервис взаимодействия с вендинговыми и кофейными аппаратами (один я уже купил, Fas winning )  для сбора аналитических данных и управления автоматом (цены задавать и тп)

Делать хочу по взрослому :

1. данные брать через протокол EVA-DTS (для этого как мастер модель буду брать Arduino или Raspbery PI) и переводить их из бинарного вида в текстовый (ну как в документации к EVA) с разъема RS232 (условно , я по своему терминалу смотрю. Вроде еще JACK есть разъем)


2. Ставим в устройство выше (ардуино или пирог) GSM модем и оно отправляет данные что получило из терминала методом POST на http адрес в интернете (написал по простому специально, по сути это через API работать будет. на почту отправлять это несерьезно для данной цели, но даже через почту можно)

 

3. Я делаю веб интерфейс который при получении данных (можно в принципе считывать с почты, но лучше POST) их сохраняет в базу данных и расшифровывает (есть один западный ресурс который EVA расшифрует в человеко понятный вид и даже у них есть API - так что это делает процесс очень быстрым, после и свой можно написать) выводит на экран (в виде цифр или визуализирует там продажи и остатки)

 

После делаю в интерфейсе личный кабинет , в нем уникальный http адрес и у вас будут данные только по вашим автоматам в нем (добавлять автоматы кнопкой мыши)

Как я понял автомату так же можно давать какие то запросы (менять настройки его можно же не тока через кнопочки в нем) и если оно так можно со стороны веб сервера отправлять ну ардуину смс команды текстовые в виде протокола EVA (ну sms по началу что бы быстрее , там потом сделаю по взрослому что бы ардуина стучалась в веб сервис проверяя нет ли команд для нее) которые оно исполняет (хотя я тока первый день читаю про этот протокол так )

 

Да, кто то скажет что то типа - а как же данные которых нет в EVA аудите , типа остатка сырья ....  Я более чем уверен что в EVA наверняка подаются текущие настройки рецептуры  (сколько на что грамм идет)  и по количеству продаж определенного продукта (которые точное есть в EVA) программно я рассчитаю сколько расходуется (а так же можно сделать в веб интерфейсе вручную забивание сколько уходит чего в грамма на продукт и он тоже будет считывать). предусмотреть только кнопку что в такой то бункер было засыпано новое сырье (ну это уже частности и мелочи)

 

 

Так вот что я хочу сказать - если мне кто то подскажет (я конечно понимаю что дойти до этого можно и самому) по устройству на базе конструкторов типа ардуины или разбери (те не тока сборка но и саму прошивку на них написать исключительно для - "Получить с терминала данные EVA через пор RS232 и отправить на http адрес прописанный топорно в коде / почту") , или если будет список команд под разные аппараты которые можно отправлять в терминал то с прошивкой в вида (каждую X минут проверять http адрес и если что то там есть отправлять этот код в терминал)  - я смогу написать веб интерфейс который будет принимать и отправлять это все ;)

 

Ну в замен вам сервис для бесплатного использования (во всяком случае точно тем кто примет участие), а мне в копилку опыт разработки подобной системы

 

admin@my-fantasy.ru - я на связи. Михаил

Изменено пользователем webrobot
грамматика
Ссылка на комментарий
39 минут назад, webrobot сказал:

Получить с терминала данные EVA через пор RS232 и отправить

Это все фигня.

тут проблема в том откуда брать. с монетника где шансов процентов 98 или с автомата где шансов весьма мало если не обновлена прошивка. просто так с него не снять, я коротко.

автоматы разные, ПО разное, но вроде как все понимают EVA, а есть такие кто не понимает.

а есть такие где с монетника не снять и только с ТА можно. В общем тут не все так просто и идеала не будет.

 

 

Ссылка на комментарий
Только что, bingo сказал:

Это все фигня.

тут проблема в том откуда брать. с монетника где шансов процентов 98 или с автомата где шансов весьма мало если не обновлена прошивка. просто так с него не снять, я коротко.

автоматы разные, ПО разное, но вроде как все понимают EVA, а есть такие кто не понимает.

а есть такие где с монетника не снять и только с ТА можно. В общем тут не все так просто и идеала не будет.

 

 

Однозначно снимать с аппарата, хотя многие в дополнение монетник пропускают через такое устройство и его уже коннектят  к плате (ето уж если старое устройство и не поддержкивает стандарт)

EVA это стандарт европейский (я не беру старый автоматы), и  я не вижу проблем. Ну если человек хочет телеметрию ну наверно у него не доисторический аппарат и даже если прошивка не супер новая из стандарта то все равно данные будут (просто в новой прошивке может новые данные будут или в большем объеме)

Ссылка на комментарий
5 часов назад, webrobot сказал:

хочет телеметрию ну наверно у него не доисторический аппарат и даже если прошивка не супер новая из стандарта то все равно данные будут

глубоко ошибаетесь.

даже у меня в парке есть 4 ТА которые с EVA вообще никак и прошить не получается (ну вот такая серия была), а выкидывать то, что молотит каждый день уже 2004 года, как-то рука не поднимается. остается вариант только через монетник их использовать. а там только получение статы и никакого управления.

Ссылка на комментарий
53 минуты назад, bingo сказал:

глубоко ошибаетесь.

даже у меня в парке есть 4 ТА которые с EVA вообще никак и прошить не получается (ну вот такая серия была), а выкидывать то, что молотит каждый день уже 2004 года, как-то рука не поднимается. остается вариант только через монетник их использовать. а там только получение статы и никакого управления.

 

 

я не увидел в чем я ошибаюсь.

 

1. Зачем прошивать аппарат (я это делать не собирался)

2 Если версия стандарта EVA стоит одна - значит с ней и будет работать (а там уж есть ли команды управления или нет по версии веб интерфейс выведет)

3 что мешает сделать 2 шлейфа , один для RS232 для eva если есть второй MDB (и EXE )  для монетников (этот то точно есть)

 

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

 

Ну а телеметрон в России более менее раскрученный продукт на уровне монополии (в Европе есть аналог, по сути получается пару компаний кто делает телеметрию до сих пор и развивает), но когда я читаю  что в скриншете хочется плюнуть в лицо - их услуги окупаются по срокам чуть ли не как аппарат в хорошем месте

 

Тем более вендинг это так то не какой то крупный бизнес что бы брыть за плату около 13к и еще абоненку (так то даже не знаю скока будет, но думаю 500-2000)

 

даже сделать аналог телеметрона - это совсем не плохо , и не сложно плане серверной стороны (чем я по жизни занимаюсь). Надо лишь

 

1) распиновку rs232 (это я уже нашел) mdb и exe (кабеля монетника)

 

2) схему сборки проекта на ардуино с учетом того что у нас будет 3 шлейфа (подключение , в тч и модулей GSM)

 

3) прошивку для ардуины которая слушает какие данные идут со шлейфов, переводит их из бинарного вида (или в каком там виде даныне идут с rs232 и mdb с exe ) в формат кода протокол (где там буквы и цифры и прочее , что бы с документацией я потом разобрал что к чему - это я сам делаю) и просто шлет все что получилось методом POST на https или на почту 

 

Прошивка самое сложное я думаю, тк в протоколе может надо делать своего рода запрос по шлейфу что бы данные мне выдал аппарат (с заголовками какими то) - это уже целая библиотека выйдет. А надо совместить еще для 3х протоколов. Вот если это будет - за пару месяцев можно получить рабочий аналог с веб интерфейсом

2018-01-24_0931.png

Ссылка на комментарий
6 часов назад, webrobot сказал:

даже сделать аналог телеметрона - это совсем не плохо , и не сложно плане серверной стороны (чем я по жизни занимаюсь). Надо лишь

да серверная сторона это все цветочки.

данные дал - распихал в базу и рисуй потом как хочешь.

с железом вот засада.

 

 

Ссылка на комментарий
  • 1 месяц спустя...

Нашел на гитхабе питоний скрипт. Там есть и парсеры и читалки. Вот ссылка

https://github.com/mdisibio/dex-reader

https://github.com/khseal/dex-machinesim

Пробовал на автомате easy 6000 gcd. Но что-то не заработало. Может я где накосячил. Вроде пытается соединиться, но либо не получает данных, либо пишет ошибку связанную MARS_MASTER_STRING. В марте будет свободный автомат, вне эксплуатации попробую на нем еще поэксперементировать. 

Скрипт питона удобен, что его можно и на роутер впихнуть под прошивкой openwrt.

Мне не понятно в каком случае коннект идет в режиме Master а в каком режиме Slave. У меня он подключался как Slave.

Изменено пользователем khseal
Ссылка на комментарий
Цитата

Мне не понятно в каком случае коннект идет в режиме Master а в каком режиме Slave. У меня он подключался как Slave.

мастер является активным (он подает питание на шину)

 

https://www.namanow.org/images/pdfs/technology/mdb_version_4-2.pdf

стр.60 (4.8)

 

если VMC нету то ничего работать не будет.

Ссылка на комментарий
Цитата

если VMC нету то ничего работать не будет.

Это я понимаю. Он у меня подключался easy 6000 gcd как slave, но в итоге вываливался с ошибкой. Мне не понравилось что в этом аппарате в инструкции заявлено что он умеет выгружать на USB данные. Втыкаю флешку она моргает. Пытаюсь по инструкции найти выгрузку по USB а ее вообще нет. Флешка с файловой системой fat32. Эти аппараты русифицируют в Питере и есть подозрение что они выпилили как-то эту функцию. Возможно русская прошивка старая.

Цитата

мастер является активным (он подает питание на шину)

Честно говоря не совсем понимаю про питание на шину. Т.к. пытаюсь получить данные по rs-232 а есть rx tx gnd.

 

Может где то завалялся эмулятор DEX протокола для компьютера?

Изменено пользователем khseal
Ссылка на комментарий
Цитата

Честно говоря не совсем понимаю про питание на шину. Т.к. пытаюсь получить данные по rs-232 а есть rx tx gnd.

Вы аккуратней. :)

на RS232 -12 +12 вольт! :)))

а на мдб низковольтный UART 

там же в доке все написано. даже страницу указал. 

а предложенная дефолтная схема их двух транзисторов это токоограничивающая хрень. :) 

 

воткнув 12 вольт - вы рискуете "выпустить" волшебный дым. вся электроника работает на волшебном  дыме, и если его выпустить то работать перестает. :) (это шутка у электронщиков)

  • Хе-хе-хе 2
Ссылка на комментарий
1 час назад, AlexTransit сказал:

Вы аккуратней. :)

на RS232 -12 +12 вольт! :)))

а на мдб низковольтный UART 

там же в доке все написано. даже страницу указал. 

а предложенная дефолтная схема их двух транзисторов это токоограничивающая хрень. :) 

 

воткнув 12 вольт - вы рискуете "выпустить" волшебный дым. вся электроника работает на волшебном  дыме, и если его выпустить то работать перестает. :) (это шутка у электронщиков)

Это я понимаю, как бы электроникой занимаюсь, с времени когда еще спектрумы собирали. В MDB я не лезу и не собираюсь. Вы мне и скинули спецификацию под MDB. MDB так то не использует протокол DEX. Ибо в спецификации про DEX ни одного слова. Есть штатный RS232, вот из него и пытаюсь получать данные, по протоколу DEX. Надо будет ради отладки тупо получить данные функцией распечатки на принтер c помощью терминала. 

Мне ничего особо волшебного не надо, лишь хочу снимать данные телеметрии, автоматом. Парсить и отдавать данные на съеденье телеграм боту. 

Нашел еще один интересный скрипт на питоне для расберии

https://github.com/leonardean/dex-operator

Там есть строчка 

masterReader = DexOperator.MasterReader("/dev/ttyUSB0", "NEC1234567RR01L01")

Как я понимаю NEC1234567RR01L01 это communicationID чисто для инденфикации компьютера... Надо более плотно изучать протокол.

 

Изменено пользователем khseal
Ссылка на комментарий
  • 1 месяц спустя...

Вот пример как подключить MDB к компу:

https://github.com/perdidor/Arduino-MDB-UART

 

А вот весь аппарат сделан на распберри, и серверная часть есть там же:

 

Ссылка на комментарий
  • 1 месяц спустя...
В 21.04.2018 в 09:39, Clownvasia сказал:

Вот пример как подключить MDB к компу:

https://github.com/perdidor/Arduino-MDB-UART

 

А вот весь аппарат сделан на распберри, и серверная часть есть там же:

 

Окей, но какую программу залить в ардуину, там их много. Я готов дать денег если поможете и дадите нужную библиотеку, а лучше полный архив с Arduino IDE и библиотеками Вашими

 

И еще вопрос, там стоит атмега 12... большая вообщем - в нее какой код заливать то?

спасибо

 

Ссылка на комментарий
  • 1 год спустя...
В 08.01.2020 в 10:00, artsenator сказал:

Доброе утро коллеги. Кто-то подружил уже малинку с кофейным автоматом по mdb или exe? Расскажите.

у меня работает несколько автоматов на апельсинке ( аналог малинки) основную плату "выкинул"

в качестве "шлюза" к мдб используется atmega168/328

клавиатура подключена к меге по i2c

экран напрямую к апельсинке.

PS автотматы кофейники evend.

Ссылка на комментарий
В 24.01.2018 в 09:48, webrobot сказал:

я не увидел в чем я ошибаюсь.

Я не программист, но назову вам несколько моментов, которые вам могут пригодиться.

EVA - это вовсе не протокол а Европейская Вендинговая Ассоциация, ассоциация производителей вендингового оборудования и платёжных систем. Вот все эти производители, собрались и приняли единое решение, какие протоколы обмена данными использовать при изготовлении аппаратов и самих монетников-банкнотников, какие формы разъёмов использовать, какой формат статистических данных применять при мониторинге и телеметрии.

 В Европе протокол Экзекьютив (Экзекьютив Прайс Холдинг) предпочтительнее чем МДБ. При МДБ, в случае выхода из строя платы ЦПУ аппарата, и последующей инициализации операционной системы аппарата,  вся имеющаяся информация по статистике,  пропадает, при использовании же протокола ЕХЕ (Экзекьютив) все данные остаются в монетнике. да и логическая нагрузка на плату ЦПУ аппарата, снижается.

Ссылка на комментарий
В 08.01.2020 в 08:00, artsenator сказал:

Доброе утро коллеги. Кто-то подружил уже малинку с кофейным автоматом по mdb или exe? Расскажите.

Малинку нет, а апельсинку да. Она больше подошла. Orange pi zero, есть такая малышка.

Ссылка на комментарий


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

Важная информация

Используя этот сайт, Вы соглашаетесь с Условия использования. ВАЖНО!!!!!!!!! Перейдите по этой ссылке для ознакомления Для тех кому совсем лень читать то зайдите по этой ссылке: https://infovend.ru/forum/faq/

Яндекс.Метрика