Требуется реализация программы контроллера eSSP управления акцептором банкнот NV200 + SMART Payout
Акцептор банкнот с кэш-боксом
NV200 + SMART Payout
от компании Innovative Technology

Разработка контроллера для работы с акцептором банкнот по протоколу eSSP
Цель проекта
Разработать программный код на C++ для контроллера, который будет тестировать различные режимы работы, проверять и управлять устройством с использованием протокола eSSP через RS232.
Текущая ситуация
- Устройство управляется простыми незашифрованными командами (обычно 6 байт) и зашифрованными командами, использующими алгоритм Diffie-Hellman.
- У меня есть USB → RS232 адаптер, с помощью которого я уже протестировал на Linux основные незашифрованные команды, такие как:
- Sync, Poll, SetProtocol, SetInhibits, Enable, EnablePayout.
- Для работы с зашифрованными командами у меня нет полного понимания алгоритма.
- В наличии есть официальная документация и исходные коды для Windows/Linux, но они частично закрыты, так как используют скомпилированные бинарные файлы в библиотеке SDK.
- Производитель Innovative Technology не предоставляет поддержки за пределами своего SDK и отказался предоставлять прошивку с отключённым шифрованием.
Требования к разработке
- Полная реализация зашифрованного протокола eSSP, включая алгоритм Diffie-Hellman.
- Разработка кода с нуля, без зависимости от SDK производителя, чтобы он мог работать на контроллере без операционной системы.
- Поддержка всех необходимых команд и алгоритмов взаимодействия с устройством.
- В идеале — портирование кода на ESP8266 / ESP32, чтобы создать отдельный процессор, который:
- Получает простые команды от других устройств или контроллеров.
- Выполняет все сложные алгоритмы взаимодействия с акцептором.
- Передаёт обратно статусы и результаты операций.
Как должна работать система
Готовый контроллер должен выполнять всю сложную логику работы с eSSP и принимать простые команды типа:
- "Принять купюры"
- "Выдать сумму"
- "Переместить банкноты в кэш-бокс"
- "Получить статус ошибки"
- "Оптимизировать выдачу купюр"
Контроллер сам должен обрабатывать все команды, статусы и алгоритмы, а внешний контроллеру (например, микрокомпьютер, терминал) достаточно отправить высокоуровневую команду без знания особенностей работы с eSSP.
Кого я ищу?
Мне нужен специалист, который:
- Уже работал с протоколом eSSP и понимает его на низком уровне.
- Разбирается в зашифрованном обмене данными и алгоритме Diffie-Hellman.
- Имеет опыт разработки под микроконтроллеры (ESP8266 / ESP32 будет плюсом).
Если у вас нет опыта работы с eSSP и зашифрованными командами, то вряд ли получится помочь в этом проекте. Однако, если у вас уже есть наработки или знания в этой области, я готов предоставить всю информацию, которую удалось получить от производителя.
Дополнительные детали
Проект будет итеративным – скорее всего, в процессе работы потребуется добавлять новые режимы и функции, которые будут запрашиваться заказчиком. На данном этапе главное реализовать шифрованный eSSP и базовые операции.
Если вы обладаете нужными знаниями и готовы к работе – давайте обсудим детали.
-
Можете мне в личку скинуть документацию
Я работаю с торговым оборудованием(и именно на Linux) -купюроприемники (ССТalk ССNET) с Вашим протоколом не знаком
Если после ознакомления решу что все понятно более или менее -то мне нужно будет само оборудование(если не готовы его дать то можно не начинать)
-
Добрый день. Такая же проблема. Пытаемся подружить Smart hopper этой же фирмы с ESP32. В GA973 SPP есть инфа , что для систем отличных от винды и линукс, они могут предоставить С коды.
The SSP libraries provided by Innovative Technology LTD. contain all the algorithms required for encryption and decryption. If it is required to implement eSSP on a platform other than Microsoft Windows, Linux and compatible operating systems Innovative Technology can provide C source for the algorithms required (encryption, decryption, prime number generation, CRC calculation etc.); please contact your local support office for more details.
Пытаемся добыть эти коды. Протокол eSSP очень похож на OSDP 2.2 , но на него есть открытые библиотеки на С. Для этого чуда только это https://github.com/skokov3812/encrypted-smiley-secure-protocolПри наличии С кодов проблем не должно быть.
-
Если каким то образом удаленно дадите поиграться - можно попробовать.
-
Актуальные фриланс-проекты в категории C и C++
Реверс-инжиниринг консольных утилит для опроса контроллеров SSD (Flash ID)1. Цель работы Выделение программного интерфейса (API) взаимодействия с контроллерами SSD/NVMe из предоставленного набора консольных утилит (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron и др.). Результатом должно стать рабочий код на языке C/C++ или точная… C и C++, Десктопные приложения ∙ 12 дней 7 часов назад ∙ 6 ставок |
Разработка карты семян Minecraft Java / просмотрщика семян для сайтаРазработка карты семян Minecraft Java / Seed Viewer для сайтаОписание проекта Необходимо разработать браузерный инструмент Minecraft Java Seed Map / Seed Viewer, который будет работать на нашем сайте и позволит пользователю ввести семя Minecraft Java Edition и просмотреть… C и C++, HTML и CSS верстка ∙ 12 дней 14 часов назад ∙ 17 ставок |