Embedded Linux программист (или команда) для разработки приложения для считывателя банковских карт

Бюджет 3333$ / 200000
руб
в месяц
Создан: 2 года назад
На модерации
Описание
Задача –  подключить ридер банковских карт U1000  с облачному личному кабинету телеметрии telemetron.net по протоколу TDTP. (Протокол собственной разработки с подписью, которые является надстройкой над http). 

Для этого следует разработать встраиваемое Linux приложение для ридера банковских карт U1000 (спецификация www.newlandpayment.com/sh...

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

Разработчики U1000 предлагают SDK на базе Eclipse + GCC + поддерживают на английском в мессенджерах. Есть 20 видео уроков на английском для быстрого разворачивания среды на портале.  

Данные, которое должна передавать программа на сервер телеметрии по протоколу TDTP:
Каждые 5 минут: 
"пинг пакеты" состояния торгового автомата (ТА) и устройства:
Terminal ID или его SN в зависимости от того, что проще. 
Уровень сигнала GSM
Состояние автомата. Определяется по состоянию шины MDB. Если  активна – автомат работает, если или не активна – автомат сломан. В шине MDB есть соответствующие команды состояния ТА.
ICCID установленной SIM карты и IMEI симкома.
Время формирования пакета (взятое из часов RTC, синхронизированных с временем GSM сети) 

В ответ на отправку пинг пакета сервер может передать U1000 одну из нескольких команд на смену режима работы или выполнение определенных действий, о которых написано в разделе Команды.

Информацию о каждой наличной продаже (команда cash sale в протоколе MDB) – в момент совершения.
Номинал (цена)
Номер продукта 
Время

Информацию о каждой безналичной продаже (из шины MDB или через программный интерфейс внутри ПО U1000). В момент совершения.
Номинал (цена)
Номер продукта 
Время

Файл аудита EVA-DTS прочитанный с торгового  автомата по протоколам DEX и DDCMP через RS232 или MDB. 
В следующих случаях:
по установленному расписанию
по команде через UI
по запросу от сервера (команда передается в ответ на пинг-пакет).

"Конфиг" набора параметров, которые установлены в U1000. Передается при каждом старте устройства 1 и по запросу от сервера. Содержит:
 
Версия прошивки приложения
Установленное расписание отчетов
Режим работы RS232
TID (Terminal ID)
ICCID SIM
IMEI
И другие параметры, описанные в TDTP

Команды от сервера которые предусмотрены в TDTP и которые надо поддержать:
Снять и передать EVA-DTS отчет на сервер или вернуть ошибку после 5 попыток прочтения EVA-DTS из автомата.
Установить параметры работы RS232 интерфейса и чтения EVA-DTS отчета.
Скорость порта
DEX или DDCMP
Выбор откуда читать EVA-DTS из RS232 или MDB.
Установить расписание снятия EVA-DTS отчетов
Установить задержку на передачу на сервер сигнала "автомат не работает" после перехода MDB шины в неактивное состояние.
Команда на загрузку нового приложения с FTP (предусмотреть защиту от установки поврежденного приложения), если это позволит сделать ПО терминала. 
Запрос "конфига" набора параметров, которые установлены в U1000. 
Версия прошивки приложения
Установленное расписание отчетов
Режим работы RS232

Графическое меню приложения U1000

При нажатии на аппаратную кнопку S1 или S2 на U1000 – вызвать пользовательское "Telemetron Menu"меню с элементами:
Меню оператора

Сервис автомата
Загрузка ингредиентов
Инкассация денег

При выборе элемента – U1000 должен снять EVA-DTS отчет и передать на сервер и передать информацию о том, какая процедура была активирована.  

Обновление ПО

В меню отображать пункт с версией ПО и пункт для активации загрузки нового приложения телеметрии. Загрузка нового ПО должна быть защищена паролем, который является паролем от FTP, где находится приложение. Адрес FTP сообщим отдельно. 

Выбор языка меню 

- Иврит
- Английский
Достаточно флагов стран где-то внизу интерфейса.

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

Другие требования

В случае отсутствия GSM сети данные о продажах от торгового автомата и EVA-DTS отчеты должны быть сохранены в Flash памяти с пометкой времени и быть переданы после того, как GSM связь  будет восстановлена. Размер буфера зависит от возможностей U1000, желательно хранить 1 месяц. Размер 1 EVA-DTS – до 100 КБ (В среднем 16KB).

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

Параллельно в памяти U1000 будет работать приложение, подключенное к процессингу банка.

Условия сдачи проекта


Весь описанный функционал работает стабильно на 10 устройствах в полях в течение 1 месяца.

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

Полная версия – во вложении.
Категория
Источник: fl.ru

Похожие проекты

safe 
0 2
Необходимо разработать систему, которая: Подключается к API Diagnocat и iDent (через токены доступа). Получает данные о пациенте, результатах диагностики, снимках и назначениях. Автоматически формирует структурированный отчет по шаблону (включая врачей, этапы лечения, стоимость и описание процедур).......
 
0 0
Необходимо связать БД 1C:ERP с БД Outlook, MS Access, Битрикс24. Например при вводе нового сотрудника в 1С:ERP он должен автоматически появляться в вышеперечисленных БД....
1 месяц назад
 
0 1
Требуется реализация отчёта на кастомизированной 1С:УПП 1. 2, ТЗ и контрольный пример во вложении, 80% кода должно быть покрыто модульными тестами....
2 месяца назад
$7
0 1
Мне нужно копировать мой текст и вставлять в одну группу ВК с открытой стеной для публикации рекламы. Задача скрипта/сервиса/программы - примерно каждые 10 секунд брать мой текст и вставлять в эту группу. Я пробовал через одну программу, которая записывает действия мышки и потом повторяет, но она как-то......
4 месяца назад
safe 
0 0
Написать прошивку для A94B114, используя 2 подобные рабочие прошивки. Все файлы есть....
$21
0 2
Нужно разархивировать файл архив. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы(скрины)....
6 месяцев назад
safe 
0 1
Входные: Имеется скрипт по обработке email писем и добавление их в систему Redmine   Проблема: Система обработки этих писем написана некорректная и негибкая    Задача: Переписать логику обработки входящих писем, чтобы исключить их потерю при незначительных отклонениях от ожидаемой структуры....
$37
0 1
- В обязанности сотрудника входит поддержание мобильного приложения системы автоматизации бизнеса. - Работа сдельная: задачи выдаются на оценку, далее после согласования передаются на реализацию. - Заключаем договор и NDA (соглашение о неразглашении)....
$71
0 0
Информация о проекте: Проект включает в себя React Native приложение с Expo внутри которого находится webview с сайтом На устройствах с ОС IOS проблема с воспроизведением видео....
6 месяцев назад
safe 
0 0
Разрабатываю десктопные программы на языке Java,  а так же Java + SQL....
 
0 6
  1. Чтобы можно было писать описание события (без заголовка) - превью в списке берется N количества букв с начала. (в списке писать дату события и сколько осталось до него) . Выставление даты и времени напоминания и ИНТЕРВАЛА ПОВТОРА ОТ 1 МИНУТЫ! Выставлять количество повторов, далее напоминания прекращаются.......
safe 
0 4
Сайт arg2028t. beget. tech/. Нужно сделать вот такой калькулятор. airprint. by/outdoor/wide-format. и еще некоторые доработки....
safe 
0 6
Краткое описание: Мы ищем исполнителя для тестирования функционала мобильного приложения на платформе Android. Задача включает проверку основных функций приложения, таких как работа комнаты, передача видео, звука и чата, а также создание подробной отчетности о найденных ошибках.   Требования к исполнителю:......
safe 
0 12
Разработка чат-бота под ваши нужды....
$143
0 0
Oпpocы (1008pyб/чaс) Заходитe на сaйт: gonsù....
9 месяцев назад
 
0 4
Требуется создать скрипт для premiere pro. Данная суть скрипта: в выделеном бине нужно что бы автоматически проставлялся in out ровно по серидине файла так что бы выделенная область была длиной 3 секунды. И требуется кнопка что бы работало через окно expressions. Проблема текущего в том что он не работает......
 
0 2
Нужно создать приложения под гемблинг/беттинг, на котлин. Приложение должно работать Firebase. Детали вышлю при обсуждение....
$21
0 4
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы  ....
1 год назад
safe 
0 3
Разработать впн сервис ( Приложения на ios и android + сайт для оплаты подписки). Настройка Серверов. Оплата по договоренности. Работаем черед безопасную сделку....
1 год назад
Смотреть все