LINUX.ORG.RU

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


0

2

Какой-либо свободный софт под допил пока нагуглить не могу.

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

1. Написать просто гуевую программу, на каком-нибудь Qt4 GTK+ и т.д., будет работать на самом терминале в полноэкранном режиме, по запросу дергать купюроприемник и принтер, по сети взаимодействовать с БД.

2. Поднять веб-сервис, чтобы вся эта беда работала на удаленном сервере, на терминале же был запущен только браузер на полный экран. Здесь конечно возникнут проблемы с «дерганием» купюроприемника и принтера с вебстранички, за-то можно через CSS все красиво оформить да и простая «установка», изменение дизайна и т.д. на неограниченном количестве терминалов.

3. Поднять веб-сервис непосредственно на терминале (какой-нить простенький CGI). Будет простой досуп к оборудованию терминала, красивости в виде css и прочего, но как-то это не правильно что ли.

З.ы. Подумалось еще насчет одного варианта - сделать эдакий клиент на qt/gtk, который взаимодействовал бы с оборудованием. Но морду тянул бы непосредственно с вебсервера. Только как это реализовать я пока еще не копал.

Какие еще предложения?

★★★★★

Последнее исправление: Siado (всего исправлений: 1)

Есть у меня похожая задача. В результате склонился к первому варианту.

Правда, у меня embedded девайс, так что никаких браузеров на полный экран там в принципе не развернуть, а вот программу на Qt - вполне возможно.

solovey ★★
()

проще будет написать под браузер (т.е. вариант 2) а для принтера и пириемника поднять маленький сервис (т.е. вариант 3), я бы делал так. наверное.

trashymichael ★★★
()

1. на каком-нибудь Qt4 2. Qt4 => можно через CSS все красиво оформить, debrepo => да и простая «установка», изменение дизайна и т.д. на неограниченном количестве терминалов.

Все остальное ненужно.

anonymous
()
Ответ на: комментарий от anonymous

на каком-нибудь Qt4 2. Qt4 => можно через CSS все красиво оформить

А что там через CSS делать можно, QML что ли?

Siado ★★★★★
() автор топика

Про тачпад не забудь. :3
Если будет что-то массовое, то если xinput'а недостаточно, то нужно заранее смотреть что там с поддержкой и блобами.

anonymous_sama ★★★★★
()
Ответ на: комментарий от anonymous_sama

Про тачпад не забудь. :3

Это ты так сенсорный экран обозвал? +) Они все, без исключения, HIG'и

Siado ★★★★★
() автор топика
Ответ на: комментарий от Siado

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

anonymous_sama ★★★★★
()

Делал такое.
Вариант 1, но лучше из кути использовать qml.

zJes ★★
()

Делал примерно такое по 3-му варианту. Хотелось бы знать, что в этом неправильного?

level1 ★★
()
Ответ на: комментарий от Siado

Там qss. Можно менять внешний вид. QML тут вообще ни при чем и идет лесом.

anonymous
()

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

frozenix ★★★
()
Ответ на: комментарий от Siado

А что там через CSS делать можно

У QWidget'а есть метод setStyleSheet (QString).

Туда передаешь строку с обычным css. Более подробно можно, например, здесь почитать...

solovey ★★
()
Ответ на: комментарий от solovey

с обычным css

4.2

Они используют свой собственный велосипед под названием qss. На css очень похож, но вводит ТС в заблуждение не стоит.

anonymous
()
Ответ на: комментарий от anonymous

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

Но опять же:

Qt Style Sheet terminology and syntactic rules are almost identical to those of HTML CSS. If you already know CSS, you can probably skim quickly through this section.

solovey ★★
()

Самое главное в этом софте не интерфейс а работа с железками: купюроприемниками, монетоприемниками, принтерами. Тачскрин лучше сразу использовать тот который поддерживается в линуксе. Это практически низкоуровневое программирование, реализация протокола обмена данных с железками, нужно тестовое отладочное оборудование, на это уйдет бОльшая часть времени разработки. Когда все это будет готово в виде отдельных библиотек, остальное написать не проблема.

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

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

Конечно должны быть подробные логи, их ротация. Для транзакций нужно использовать пул, очередь.

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

Hope ★★
()

Какие еще предложения?

Не страдать фигней, а использовать готовые, проверенные и надежные решения. У OSMP (который сейчас QIWI) есть решение под линукс, но вот лично я побоялся бы его использовать (не говоря уже о написании своего велосипеда)

derlafff ★★★★★
()
Последнее исправление: derlafff (всего исправлений: 1)
Ответ на: комментарий от derlafff

Не страдать фигней, а использовать готовые, проверенные и надежные решения.

Насмешил да =)

Siado ★★★★★
() автор топика
Ответ на: комментарий от derlafff

Ты так говоришь, буд-то там что-то грандиозное писать надо =)

Siado ★★★★★
() автор топика
Ответ на: комментарий от Hope

Самое главное в этом софте не интерфейс а работа с железками: купюроприемниками, монетоприемниками, принтерами. Тачскрин лучше сразу использовать тот который поддерживается в линуксе. Это практически низкоуровневое программирование, реализация протокола обмена данных с железками, нужно тестовое отладочное оборудование, на это уйдет бОльшая часть времени разработки. Когда все это будет готово в виде отдельных библиотек, остальное написать не проблема.

Инкрементирую этого адеквата. После железок, всё остальное пыль.

Ты так говоришь, буд-то там что-то грандиозное писать надо =)

Ох, лол

greek_31 ★★
()
Ответ на: комментарий от Hope

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

Про тачскрин согласен целиком и полностью. С остальным проблем должно быть меньше. Например, для термопринтеров есть стандартные драйвера для cups. Так что если система x86, проблем возникнуть не должно никаких - сам недавно этим занимался. Про остальные железки не знаю, но подозреваю, что ситуация схожая...

А вообще, у всех этих железяк не такие и сложные протоколы обмена. Особенно, если не стараться реализовать все возможные функции...

solovey ★★
()
Ответ на: комментарий от solovey

Например, для термопринтеров есть стандартные драйвера для cups. Так что если система x86, проблем возникнуть не должно никаких - сам недавно этим занимался.

Ладно, допустим есть для некоторых моделей. Но не забывайте что это не обычные принтеры а более специализированное оборудование напичканное различными датчиками для предугадывания неполадок, и все эти вещи нужно реализовать. А если там не просто тупой принтер, а фискальный регистратор, то все усложняется в сотни раз. У каждой такой железки свой протокол и драйверами тут не обойтись потому что стандарта нет, хоть протокол и документирован но реализовывать его придется. Если не хотите реализовывать все фичи, придется для всего не реализованного функционала использовать драйвера, которые выпускают как всегда только под win, а то и под dos.

Hope ★★
()
Ответ на: комментарий от solovey

Про тачскрин согласен целиком и полностью. С остальным проблем должно быть меньше. Например, для термопринтеров есть стандартные драйвера для cups. Так что если система x86, проблем возникнуть не должно никаких - сам недавно этим занимался. Про остальные железки не знаю, но подозреваю, что ситуация схожая...

У меня наоборот с тачскрином нет никаких поблем, уже проверено. Думаю больше всего проблем будет с купюроприемником(CashCode), он еще не пришел чтобы протестировать.

Siado ★★★★★
() автор топика
Ответ на: комментарий от Hope

напичканное различными датчиками

Этот момент упустил, драйверы для cups этих датчиков, естественно, не понимают...

реализовывать его придется

Повторюсь, ничего сложного там, как правило, нет. Послал несколько байт, прочитал несколько байт, распарсил. Если через rs232, то вообще примитивно. Если через usb, то еще надо libusb прикрутить и поковырять его api.

solovey ★★
()
Ответ на: комментарий от Siado

больше всего проблем будет с купюроприемником

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

solovey ★★
()
Ответ на: комментарий от solovey

Повторюсь, ничего сложного там, как правило, нет. Послал несколько байт, прочитал несколько байт, распарсил. Если через rs232, то вообще примитивно.

Я и не говорю что сложно, просто объем работы достаточно большой, по сравнению со всем остальным (GUI, платежные системы и пр.). Для примера, книжка с только с описанием протокола на 100 страниц, и это только для одной модели фискального регистратора.

Hope ★★
()
Ответ на: комментарий от solovey

больше всего проблем будет с купюроприемником

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

Самые популярные это CashCode, чаще всего используют протокол CCNET, есть эмулятор девайса, естественно под win. И с ними меньше всего проблем.

Hope ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.