Как сделать торговый автомат?

Как сделать торговый автомат на платформе Raspberry? Возможно ли сделать это вообще на raspberry?
Если да, то про Arduino писать не надо.
Суть в том, что нужен свой торговый автомат, возьмем например автомат для выдачи кофе. На какой платформе он реализован? С корпусом я разобрался, остался код для непосредственно автомата, и для удаленного управления. Надеюсь на конструктивный ответ без всякого сарказма.
-------------------------------------------------------------------------------------------------------------------------------------------------------
P.S.: Лучше на малинке. И ещё, на каком языке для малинки софт писать.
  • Вопрос задан
  • 2849 просмотров
Пригласить эксперта
Ответы на вопрос 5
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
А зачем вам raspberry pi? Из пушки по воробьям, да и не для того он предназначен, сделайте на at mega(arduino) или любом другом подходящем микроконтроллере. А если так сильно нужно, чтоб дистанционно управлялось, то можно отдельно повесить тот же raspberry, который не будет управлять моторами, но будет принимать ваши команды через интернет и посылать их ардуине.
Ответ написан
@dinegnet
Не важно на чем.

Хоть на полноценном Intel i7 с настоящей материнской платой - то есть на обычном компьютере.
Хоть на "Малинке"
Хоть на Ардуино.
Хоть на заказной плате распаять микроконтроллер TI MSP или еще более простой.

Там же не нужна ровным счетом никакая вычислительная мощь.

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

Например, на больших тиражах намного выгоднее - иметь собственную специализированную плату с каким нибудь примитивным контроллером. Себестоимость платы будет 100 рублей, что всегда будет дешевле любой "Малинки", да и работать за счет простоты и узкой специализированности - понадежнее.

Как сделать торговый автомат на платформе Raspberry? Возможно ли сделать это вообще на raspberry?
Если да, то про Arduino писать не надо.


С точки зрения вашей задачи - они полностью идентичны.
За исключением того, что на "Малинке" будет попроще запрограммировать удаленное управление.

И имхо сложным является не программный код,

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

И продумывание алгоритмов работы (тут даже еще не программирование - речь о продумывании алгоритмов работы еще до их программной реализации, тут даже еще программист не нужнен).

Не забывайте, что устройство должно работать без присмотра целыми днями.
Поэтому все нюансы автономного сущестования следует просчитать.


Например, что будет, если человек не заберет стакан, полный кофе.
И закажет еще кофе налить второй стакан.

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

А что произойдет если операционная система зависнет после включения кипятильника?

И пр.

Лучше на малинке. И ещё, на каком языке для малинки софт писать.


На том языке программирования, что лучше знаешь.

Кофейный автомат - это крайне незначительная нагрузка на процессор "Малинки"

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

Я бы писал на Go.

Просто потому что я его лучше знаю.

Скажем и С знаю и Pascal и Python и JS, но C бы не выбрал из за более геморойной компиляции и отладки - в принципе можно и на С, но с Go меньше телодвижений.

Мой знакомый программер писал бы на PHP (да, да, да, на нем не только сайты можно делать) - и конечный торгововый аппарат получился бы не хуже и не лучше. Уж по крайней мене не лучше и не хуже именно из-за языка программирования.
Ответ написан
gbg
@gbg
Баянист. Тамада. Услуги.
Проблема тут в том, что нужен контроллер, работающий в реальном времени. Rpi таковым не является.

Обоснование - щелкать клапанами при приготовлении кофе желательно с дискретностью 0.1 с, иначе вместо кофе клиент будет пить неясную субстанцию со вкусом кофе, а таких задержек вам rpi с его операционкой общего назначения не даст. Ну и отлавливать всякие нехорошие ситуации вроде отсутствия воды и насоса, молотящего вхолостую, лучше на железе с предсказуемым поведением, к которому современный комп, с его DMA и прочими вещами не относится.

Язык для решения данной задачи - чем дубовее, тем лучше. То есть - C.

Автомат можно собрать и из подручных средств, смотав управляющий контроллер скотчем и засунув в коробку от обуви. Но когда полезут глюки, их проще будет вылавливать из AVR (с его совершенно банальным ассемблером и возможностью симуляции всего контроллера по тактам минимум в трех пакетах), чем дебажить программу на питоне, работающую на rPi.
Ответ написан
@lehha
Не рекомендую Arduino из-за малого размера оперативной памяти - большой скетч с текстовыми строками просто не влезет, не удобно обновлять прошивку.

По опыту Arduino может работать в автомате годами без проблем:
https://geektimes.ru/post/255724/
и немного другой проект в другом автомате:
https://habrahabr.ru/post/143756/

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

Стоит наладить работу с платежными протоколами. Например, MDB. Но он очень капризен к задержкам на ответы, задержка на 0.1сек и он вырубается. Получить такую скорость на Adruino невозможно. Я решил вопрос модулем сопряжения, который сам общается с платежками, а на выходе имеет COM.
Платежки важны для выдачи сдачи, для учета купюр и их номинала. Так же стоит учитывать 54 ФЗ о кассах, который для вендинга будет обязательным с июля 2018 года.

Сейчас взял бы RaspberryPI и модуль для платежек. На RPI можно управлять выходами (релюшками), интернет, apache+mysql и всё будет удобно и красиво (обновлять ПО для автомата можно будет удаленно через ssh).

По поводу задержек не Realtime OS для приготовления кофе - не слушайте, это не важно. Задержки с 0.1сек для любого механизма автомата не играют роли. Вода льется самотеком (около 7 секунд на стакан), мотор крутить около 10 секунд для размешивания, так что торопиться не нужно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы