Распиновка mini usb 5 pin: Распайка микро USB разъема, виды разъемов и распиновка юсб по цветам. Распиновка usb портов и распайка micro USB: схема, цвета проводов

просто добавь GSM / Хабр

В своём блоге я рассмотрел устройство и назначение почти всех контроллеров Norvi, обойдены вниманием оказались только контроллеры линейки GSM, имеющие соответствующие модули на своём борту.

Как вы понимаете, наличие GSM модуля является существенным дополнением и значительно расширяет возможности контроллера: можно посылать и принимать информационные и управляющие SMS, можно организовать резервный, независимый от вашей IoT инфраструктуры канал связи и т. д.

В этой статье я рассмотрю модель NORVI GSM AE02-V, которая кроме ESP32 и GSM модуля содержит цифровые и аналоговые входы, интерфейс RS485 и прочие возможности, что делает этот контроллер интересным решением для создания ваших проектов по автоматизации.

❯ Семейство NORVI GSM

Контроллеры линейки NORVI GSM имеют в качестве ядра модуль ESP32-WROOM-32 (Wi-Fi, Bluetooth, 4 МБ EEPROM и т. д.), что позволяет решать довольно тяжёлые вычислительные задачи, поддерживать беспроводную связь и полноценный веб-интерфейс, работать с шифрованием данных и т.  д.

Большинство моделей контроллеров этой линейки имеют GSM модуль, дисплей, кнопки управления на передней панели корпуса, межблочный интерфейс и цифровые опторазвязанные входы (DI). Остальные характеристики отличаются, составить представление о них можно по следующей таблице:


Модель AE02-V, имеющаяся в моём распоряжении, выделена серым фоном.

В моём распоряжении имеется начальная, но довольно функциональная модель AE02-V. Судя по вышеприведённой таблице, взятой из официальной документации Norvi, эта модель должна иметь 2 транзисторных выхода, но на самом деле они отсутствуют в реальном контроллере. Что это — ошибка в документации или выходы просто «забыли» распаять на плате — сказать трудно. Судя по отсутствию маркировки выходов на корпусе устройства, это, скорее всего, ошибка в документации.

Все контроллеры этой линейки содержат GSM модуль, это либо более простой SIM800C, либо более продвинутый LTE модуль QUECTEL EC21-G. В моём случае это привычный нам SIM800C. Штыревая антенна на корпусе AE02-V — это антенна GSM модуля.

❯ Компоненты и характеристики

Чем же в этот раз нас порадовала Norvi? Давайте познакомимся со списком компонентов, находящихся на борту NORVI GSM AE02-V.

  • Контроллер: ESP32-WROOM-32
  • GSM модуль SIM800C
  • Внешняя GSM антенна
  • Разъём для SIM карт
  • 8 цифровых входов
  • 8 светодиодов входов
  • 4 аналоговых входа (0-10 В)
  • Интерфейс RS485
  • Дисплей (SSD1306)
  • 3 кнопки управления на передней панели
  • Межблочный интерфейс
  • Micro-USB разъём для программирования
  • Кнопка Reset
  • Индикатор наличия питания
  • Напряжение питания: 24 В

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

Но учитывая, что NORVI GSM AE02-V имеет межблочный интерфейс (UART, I2C), функционал контроллера можно значительно расширить, в соответствии с требованиями вашего проекта.

Картину дополняют традиционные для Norvi отличный дизайн корпуса, дисплей, кнопки управления и светодиодные индикаторы — с таким контроллером очень приятно работать и он точно не испортит внешний вид вашего щитка автоматики.

❯ Разбираем контроллер

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

Причём разобрать контроллер Norvi трудно, даже если ты много раз это делал и точно знаешь, что делаешь. Например, во время разборки NORVI GSM AE02-V и извлечения его платы из «поддона» мной была повреждена печатная дорожка у края платы. И тут выбор не велик: либо риск сломать пластмассу корпуса, либо риск повредить плату контроллера.

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

В случае контроллеров Norvi главными виновниками проблем с разборкой (и сборкой) являются боковой разъём расширения и слишком мощные фиксаторы платы на нижней крышке корпуса.

❯ Схемотехника

Внутреннее устройство NORVI GSM также типично для контроллеров Norvi — это всё те же две платы, соединённые между собой двумя стойками по 12 штырьков. Соединения неразъёмные и если вам захочется модернизировать NORVI GSM AE02-V, то без значительных усилий и хирургических вмешательств это сделать не получится.

Ахтунг! Из обзора в обзор я вынужден упоминать об ещё одной родовой проблеме Norvi — качестве её документации. Эта документация просто ужасна, одни её части противоречат другим, документация противоречит надписям на корпусе контроллера и все вместе они противоречат тому, что есть реально в «железе».

(Но, что удивительно, при этом само железо вполне адекватное и нормально работает.)

Все данные по компонентам, контактам, GPIO, распиновкам и т. д. для этого обзора NORVI GSM AE02-V мне приходилось проверять и перепроверять с лупой и тестером. Поэтому что-либо подключать к AE02-V на основании данных из официальной документации категорически не рекомендуется — пользуйтесь проверенной информацией из этой статьи.

Внешний вид, назначение контактов и расположение индикаторов NORVI GSM модификации AE02-V

Платы контроллера

Платы контроллера соединены между собой двумя группами контактов P1 и P2. Каждая группа содержит по 12 контактов, сами контакты сделаны неразъёмными — разобрать контроллер можно только выпаивая соединяющие платы перемычки (штырьки).

Нижняя плата содержит колодки для подключения цифровых и аналоговых входов, питания контроллера (24 В), а также разъём интерфейса RS485.

На этой же плате находятся электронные компоненты соответствующих подсистем.

Верхняя плата содержит микроконтроллер ESP32-WROOM-32, GSM модуль SIM800C, разъёмы для подключения SIM карты и выносной GSM антенны, межблочный интерфейс, подсистему USB-UART на чипе CP2102, дисплей, управляющие кнопки, индикаторные светодиоды и прочие элементы.

Питание

Подсистема питания состоит из импульсного понижающего регулятора напряжения на LM2596S (5 В) и линейного регулятора LM117-3V3. Контроллер рассчитан на входное напряжение 24 В (но работает и от меньшего напряжения).

Вид на элементы подсистемы питания NORVI GSM: индуктивность, диод, фильтрующие конденсаторы и прочие элементы. Микросхема DC-DC преобразователя LM2596S «спряталась» за конденсатором и индуктивностью. LM117-3V3, формирующий напряжение 3,3 В, находится на верхней плате.

Частично запитать контроллер можно от Micro-USB разъёма, но в данном случае на плате установлен модуль SIM800C с большим пиковым потреблением тока, поэтому полноценным питанием через контакты колодок лучше не пренебрегать.

Ядро ESP32

В качестве ядра контроллер NORVI GSM использует популярный модуль ESP32-WROOM-32, который располагается на обратной стороне верхней платы. Там же находится линейный регулятор LM117-3V3, формирующий напряжение для его питания.


USB-UART

Для подключения к компьютеру и программирования ESP32 на верхней плате присутствует Micro-USB разъём и микросхема USB-UART преобразователя CP2102, а также прочие элементы и кнопка «RESET». В корпусе NORVI GSM AE02-V, рядом с Micro-USB разъём есть отверстие для её нажатия.


Цифровые входы

Модель AE02-V имеет 8 цифровых входов, подключённых через две микросхемы TLP290-4, содержащие каждая по 4 оптопары. Возможны два варианта подключения: с «плюсом» на COM контакт и с «минусом», в терминологии производителя «Sink» и «Source».


Аналоговые входы

AE02-V имеет 4 аналоговых входа 0-10 В, реализованных при помощи микросхемы 16-битного аналого-цифрового преобразователя ADS1115 с I2C интерфейсом.

Расположение на плате подсистемы аналого-цифрового преобразователя ADS1115 (сам чип распаян на обратной стороне платы). Адрес на I2C шине 0x48.


Транзисторные выходы

Транзисторных выходов на плате AE02-V просто… нет. Их нет, вместе с микросхемой TLP290-4, хотя, судя по официальной информации на сайте производителя, они должны быть.

На фото отмечено место на котором должны быть распаяны элементы подсистемы транзисторных выходов (но почему-то не распаяны). При особом желании эти элементы можно допаять самостоятельно.

GSM модуль SIM800C

Основная «фишка» контроллера NORVI GSM AE02-V. GSM модуль SIM800C установлен на обратной стороне верхней платы, вместе с разъёмами для SIM карты и внешней антенны.

Про работу этой подсистемы я пока не могу сказать ничего определённого, кроме того, что модуль SIM800C отзывается на AT команды и в первом приближении ведёт себя нормально и так как от него и ожидалось (и скорее всего с этой подсистемой никаких проблем нет, но это покажут дальнейшие тесты).

Интерфейс RS485

Интерфейс RS485 реализован по типовой для контроллеров Norvi схеме на чипе трансивера MAX485. Микросхема располагается на нижней плате контроллера, рядом с соответствующими разъёмами интерфейса RS485.

Автоматическое управление режимами приёма/передачи отсутствует, к микроконтроллеру ESP32 подключен пин DE/FC (GPIO 22).

Дисплей

В NORVI GSM для вывода информации используется OLED дисплей SSD1306. Значение этого факта трудно переоценить и вы точно найдёте как его применить в ваших проектах. Адрес дисплея на I2C шине — 0x3C.


Кнопки

3 кнопки с «хитрым» подключением к одному GPIO36. Это подключение позволяет не только отслеживать нажатие кнопок, но и определять их сочетание.

Схема подключения кнопок к NORVI GSM AE02-V.


Межблочный интерфейс

Контроллеры линейки NORVI GSM содержат межблочный интерфейс — полезное дополнение, которое позволяет значительно расширить их базовые возможности.

В качестве межблочного интерфейса используется 10-контактное шлейфовое соединение.

Ниже приведена распиновка межблочного разъёма NORVI GSM. Некоторые вопросы вызывают пины 1 и 6 — во-первых, их назначение не соответствует у различных серий, и, во-вторых, согласно официальной документации, здесь они вообще не подключены (но, зная качество документации Norvi, это нужно проверять отдельно).


Светодиодные индикаторы

Светодиодные индикаторы состояния входов (8 шт.) и светодиод наличия напряжения питания. На фото видно, что 4 светодиода цифровых выходов не распаяны.


❯ Распиновка

Распиновка контроллера NORVI GSM AE02-V. Желтым цветом помечены контакты, выведенные в межблочный разъём. Видно, что множество GPIO осталось незадействованными — они будут использоваться в старших моделях серии NORVI GSM с большим количеством подключённых компонентов.


❯ Заключение

В качестве заключения можно сказать, что NORVI GSM AE02-V — это довольно интересная модель на микроконтроллере ESP32, а наличие GSM модуля значительно расширяет её возможности для создания IoT проектов. Стоит также отметить, что модель AE02-V имеет разъём для подключения дополнительных блоков, что позволяет ещё больше расширить диапазон решений на её основе.

Терминалы Lipman Nurit и их программирование — Ретро на DTF

Приветствую всех!

2677 просмотров

Не так давно я уже рассказывал о разработке приложений для банковских терминалов Ingenico. И тогда я сказал, что платформа Telium была выбрана из-за того, что она единственная, под которую в открытом доступе есть SDK.

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

Итак, в ходе данной статьи поговорим о несколько более древних и экзотических терминалах. Узнаем, как писать под них, где взять софт и что со всем этим делать. Традиционно будет много интересного.

❯ Суть такова

Несмотря на то, что я уже попробовал писать под Ingenico, хотелось чего-то большего. Как минимум, потому что SDK Telium был лишён подробной документации, а приложенного в комплекте CHM’а для старта разработки явно достаточно не было, также были некоторые нюансы с персонализацией терминалов (которую нельзя осуществить средствами SDK) и сопутствующими моментами. Заодно и просто было интересно узнать, как обстоят дела у других производителей.

И вот, наконец, я получил всё необходимое, а это значит, что теперь можно попробовать это в работе и рассказать о впечатлениях вам.

❯ Обзор оборудования

Итак, для начала разберёмся с тем, под что мы вообще будем писать. Терминалы эти производились израильской компанией Lipman Electronics Engineering, позже поглощённой VeriFone, под линейкой Nurit. Устройства работали на процессорах MC68000 или ARM. В ходе данной статьи рассмотрим последний ввиду наличия у меня софта под него. Тем не менее, для устройств на MC68000 во многом всё идентично, так что если вам удастся раздобыть библиотеки и компилятор под них, то эта статья тоже пригодится.

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

Nurit 2085. Старый терминал на MC68000. Из косяков моего экземпляра — отсутствует крышка принтера.

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

Nurit 3020. Один из самых навороченных экземпляров на MC68000. Была также модель 3010 с GSM-модемом.

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

Процессор MC68000 и микросхема Flash внутри терминала 3020. В глаза бросается также некий разъём «DEBUG CARD». Скорее всего, использовался он на заводе для проверки платы на работоспособность.

Nurit 8320. По виду он очень напоминает предыдущий, но построен он на процессоре ARM, также он оснащён хранилищем ключей. GSM-модем теперь полностью встроенный (у аппаратов вроде Nurit 3010 была внешняя антенна). Два слота под SAM-модули и никель-металлгидридный аккумулятор никуда не делись.

Разбираем.

Электроника, разумеется, сильно отличается. Большинство чипов находятся на плате клавиатуры и закрыты металлическим экраном, который я для фото снял. Документация на процессор нигде не находится, по-видимому, он тут заказной.

GSM-модем Siemens MC35i.

Nurit 8000. Портативный терминал с тачскрином.

Ну и внутренности, как же без них. Аккумулятор теперь литий-ионный. Разъёмы для зарядки и подключения к компьютеру проприетарные, их распиновка мне неизвестна. Процессор и память залиты смолой. Как и в прошлой модели, в нём присутствуют тамперы.

Сейчас всё это уже давно ушло в историю. Время терминалов без бесконтактной оплаты прошло. Тем не менее, такие аппараты всё ещё реально найти на вторичке (и цена вполне молодёжная), так что раздобыть экземпляр для препарирования и опытов сложно не будет.

Также у данных устройств есть один нюанс с блоком питания: он тут на шестнадцать вольт и с инверсной полярностью (центральный контакт разъёма — минус!).

❯ Пин-пады

Помимо самих терминалов ко мне в руки попали и пин-пады. Увы, ни на один из них у меня нет ни софта, ни документации. Но это не так страшно, так как по системе команд они идентичны таковым у VeriFone, которым у меня был посвящён отдельный пост. Единственное, у Nurit пакет данных, содержащий в себе PIN-block, короче на один байт. У VeriFone этот байт отведён для состояния трёх программируемых кнопок под экраном (которые в некоторых версиях прошивки пин-пада даже не использовались).

Пин-пад Nurit 272. Распиновка идентична таковой у VeriFone PP1000SE.

Дисплей на HD44780, «из коробки» поддерживает и русский шрифт.

А вот так выглядит ввод PIN.Разбирать экземпляр я не стал, так как внутренняя батарейка всё ещё жива, а разбираться лишний раз со сбросом тампера не хотелось.

А вот другой пин-пад, Nurit 292. Он один из самых поздних.

Обратная сторона. Под крышкой слоты под SAM-модули.

Инновационная израильская технология «RS-232 over USB». По контактам разъёма miniUSB гонятся уровни обычного RS-232 и двенадцать вольт питания.

Внутренности. Пин-пады Nurit, в отличие от большинства таковых у VeriFone, имеют в себе считыватель смарт-карт. Батарейка, как водится, дохлая.

Обратная сторона маленькой платы. Виден разъём miniUSB.

Вид со снятой платой. Внутренности залиты смолой.

Пин-пад VeriFone PP1000SE v2. Он тут упомянут неспроста — устройство использует ряд наработок Lipman, в частности, операционную систему. Девайс имеет режим работы «Nurit», позволяющий использовать его вместе с терминалами данной фирмы. Собственно, всё, что можно сказать про данную штуку, сказано в постепро пин-пады, так что тут повторяться не буду.

❯ Немного про применение

Хотя эти устройства создавались для банковских операций, у нас они использовались по большей части в ряде других мест (аналогично тому, как на терминалах VeriFone OMNI-395 поднимали обслуживание карт лояльности).

Nurit 8010 использовались как транспортные терминалы. Интересно, кстати: что это за считыватель и как он подключается к терминалу?

Также они нашли своё применение как мобильные платёжные терминалы в системах наподобие ОСМП (он же QIWI). Карты они не принимали, а лишь служили для связи с сервером платёжной системы. По сути они были полными аналогами привычных нам «ящиков», с которых мы некогда пополняли счета телефонов, только управлялись они не нами, а операторами в точках обслуживания. Софт этот и поныне лежит здесь. В архивной копии сайта «Киберплат» есть и другой вариант подобного софта.

❯ Где взять ПО

SDK для этих терминалов искать пришлось долго. И очень долгое время он не попадался нигде. Был, правда, некий сайт possoftware.ucoz.com невразумительного содержания, где вроде как можно было купить данное ПО. Цена на сайте указана не была, но после некоторых поисков я нашёл на каком-то заплесневевшем форуме пост этого же товарища, где нужная цифра таки была — несколько тысяч долларов за один SDK. После выяснения всего этого стало понятно, что ищу я не в том направлении.

И вот в комментариях к моему посту про Ingenico товарищ vladkorotnev таки подкинул заветную ссылку. Как мне было объяснено, валялся архив на каком-то китайском сайте вроде CodeForge.com, откуда и был скачан много лет назад.

❯ Архитектура

Ну и для начала поговорим немного об устройстве программной части этих устройств. Все терминалы Nurit работают на своей проприетарной ОС — Nurit OS (NOS). Терминал оснащён Flash, где находятся загрузчик, сама NOS, а также пользовательское приложение.

Загрузчик осуществляет запуск NOS, а также её перезапись в случае таковой необходимости (например, при обновлении ОС). Перепрошивка осуществляется при помощи софта OSP Loader и *.osp-файла, представляющего собой запароленный ZIP-архив, содержащий в себе все версии ОС для всех терминалов, сертифицированных для страны, для которой этот пакет предназначен. Переписать можно также и сам загрузчик (но если что-то пойдёт не так, восстановить терминал выйдет только при помощи программатора).

Загрузчик также обладает небольшой пасхалкой: пароль на запуск NOS — 1947, знаковый год для Израиля, где и выпускались данные аппараты.

NOS отвечает за загрузку приложения, все служебные функции по типу обмена данными при загрузке, а также работу с оборудованием на низком уровне. Именно через неё осуществляется взаимодействие приложения с железом терминала. Существует два режима работы приложения — Single и Multi. В первом режиме приложение запускается после загрузки NOS и взаимодействует с её API всё время работы вплоть до завершения, во втором же при наступлении некого события NOS вызывает его обработчик, который затем возвращает управление операционной системе терминала. Кроме этого, переключение Single->Multi в меню NOS служит для очищения Flash.

Тем не менее, даже в Single-режиме приложение должно периодически отдавать управление NOS, чтобы фоновые процессы были завершены. Для этого необходимо периодически вызывать функции Mte_Wait(), Kb_Read(), Kb_WaitForKey(). Если это не будет выполняться больше, чем десять секунд, терминал автоматически перезагрузится. То есть, например, если ваше приложение начнёт тупить в бесконечном цикле, без вызова этих функций ОС посчитает, что оно зависло, и вырубит его. Если же этот самый цикл предусмотрен вами (например, терминал ждёт, пока придут данные из порта), то необходимо не просто висеть, а вызывать Mte_Wait(1).

Собственно, вот такой отчёт печатается при аварийной перезагрузке.

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

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

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

❯ Входим в NOS

В отличие от Ingenico Telium, где вход в менеджер осуществлялся при помощи выбора пункта меню, местное служебное меню открывается комбинацией кнопочек.

Самой главной является четвёрка 4 + Menu + -> + Enter, позволяющая войти в меню NOS (что придётся делать при каждой загрузке приложения). Иногда нужен и загрузчик, например, если вы случайно загнали терминал в бесконечное ожидание и на клавиатуру он не реагирует. В таком случае необходимо зайти в NOS Loader, выбрать пункт «Start NOS» и ввести пароль: 1947

То же самое для Nurit 8000. Увы, в полной мере запустить его у меня нет возможности, так как разъём для подключения к ПК проприетарный, а аналога ему, чтобы спаять кабель, я так и не нашёл.

А вот для Nurit 8400. Такого терминала у меня нет, но считаю, что лишним тут это не будет.

❯ Ставим софт

Приступим к установке и запуску. Из скачанного архива понадобится примерно следующее:

  • ARM-toolchain, которым, собственно, и будем собирать программу
  • Библиотеки
  • Nurit Software Development tools — упаковщик приложений и загрузчик
  • ADE — примеры проектов
  • LipHelp — справочник разработчика

Для загрузки в терминал понадобится Fast Loader, скачать его можно тут. OSP Loader не подойдёт, а Smart Loader очень громоздкий и в большинстве случаев не нужен.Также для запуска будет нужен ПК с Windows 2000 или XP или виртуалка с ней же (очень желательно именно её).

Итак, для начала накатываемADE_ARM_1_7.49.00A.EXEиз папкиADE, далее — Nurit Software Development tools и Nurit Help. Установка всего этого очень проста и проблем не вызывает.Теперь очередь компилятора. Он имеет триальную лицензию, которая конкретно у экземпляра из архива истекла ещё в незапамятные годы. Поэтому переводим дату на первое января двухтысячного, чтобы обеспечить его работоспособность. Именно для этого и желательно установить Windows на виртуальную машину, чтобы таким переводом даты не поломать работу другого софта.

В папкеCompilador(архив, судя по всему, откуда-то из Бразилии) лежитhcarm_4.5a. Перемещаем эту папку в корень системного диска. В свойствах системы находим переменные среды, к Path добавляемC:\hcarm_4.5a;C:\hcarm_4.5a\bin;hcarm_4.5a\lib. Из корня архива берёмCLKERN. DLLи закидываем в папкуbinкомпилятора.

В общем-то, на этом всё. Можно пробовать запускать.

❯ Пишем первую программу

Ну что же, время пробовать что-то написать. Вообще, традиционной «тестовой» проги в SDK нет. Есть что-то в папкеApplicationExampleиз архива, но при всей простоте проекта собрать его у меня так и не получилось. Поэтому воспользуемся тем, что есть.

Идём по адресу C:\ADE_ARM\ADE_ARM7\SNGL_APL\SRC, там открываемDEMO.C, удаляем там весь текст, а взамен вставляем примерно следующее:

Помимо этого файла там лежат ещё два — в DLMDECLR.C загружаются динамически подключаемые библиотеки, а в APPLHEAD.C указывается заголовок приложения. Выглядит это примерно так:

Тут можно указать, в частности, минимальную версию NOS, а также версию и дату выпуска самого приложения. Позже это можно будет посмотреть в меню «Application info» NOS.Отдельного внимания также заслуживает файл project.def. А находится там примерно следующее (смотреть в источнике).

Зачем такие сложности с сотней define’ов и столь странным переименованием файлов, мне решительно неведомо. Чтобы при перемещении папки в другое место не пришлось бы переписывать пути во всём коде? Так можно просто указать путь ко всему NOS_API в переменной среды, как это делалось в большинстве других SDK, что я видел. Ну да ладно.Далее идём в RELEASE и в папке OBJ удаляем всё, что там лежит. Запускаем батник BUILD.BAT. Если всё было сделано правильно, то demo.log так и останется пустым, а в папке RELEASE появится demo.hex (или же у него просто станет другой дата изменения).

Но demo.hex — ещё не приложение. Чтобы сделать его таковым, нужен Application Integrator из состава Nurit Software Development Tools. Запускаем его.

В открывшемся окне жмякаем крайнюю левую кнопку на панели, в открывшемся окне выбираем наш *.hex-файл. Перед сборкой загружаемого компонента можно посмотреть сведения о приложении (те самые, что были прописаны в APPLHEAD.C) или задать ограничения.

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

❯ Подписывание приложений

По уровню защиты терминалы Nurit делятся на два вида — Secured и NOT Secured. Отличия между ними в том, что в «незащищённом» аппарате не используются тамперы (то есть его можно разобрать, и ему ничего не сделается), разрешена загрузка приложения из одного терминала в другой, установлены некоторые ограничения на криптографию. Есть и аппаратные отличия, например, защищённые терминалы внутри залиты смолой. Узнать, к какому типу относится ваш терминал, можно, если открыть NOS, выбрать пункт «Terminal ID», а затем выйти из него. При этом на пару секунд на экране загоритсяTerminal is SecuredилиTerminal is NOT Secured. Тампер с защищённого терминала сносится перепрошивкой ОС при помощи OSP Loader.

Если приложение загружается в «защищённый» терминал, оно должно быть подписано (увы, мне неведомо, каким именно софтом). Под эту подпись выделено пятьсот двенадцать байт в соответствующем поле в заголовке.

Скорее всего, вам достанется именно «простой» вариант, так как ОСМП и подобные организации не использовали криптографические функции.

❯ Fast Loader

Теперь можно загрузить приложение в терминал. Вообще, Lipman предоставляла эмулятор терминала для удобства отладки, но он до меня не дошёл, увы.

Для этого нам понадобится кабель для COM-порта и, собственно, download tool.Схема кабеля здесь вот такая:

Для сборки надо всего-то лишь огрызок патч-корда и разъём DB9F. К терминалу от компьютера идёт семь проводов, но для загрузки на деле достаточно всего трёх: RX, TX, GND. Также подойдёт загрузочный кабель для VeriFone, распиновка тут идентичная.

Порядок контактов виден тут:

(если что, видео вообще не про Nurit, а про VeriFone VX520. Скриншот этот был мною сделан больше трёх лет назад ради распиновки кабеля)

На этом фото красный провод — земля, белый и чёрный — RX и TX.В терминале установлен разъём 10P10C, но крайние контакты не задействованы, так что можно воткнуть туда обычный сетевой 8P8C, работать тоже будет.

Далее открываем Fast Loader (или просто открываем собранное приложение, и он запустится сам). Тут настраиваем параметры порта.

Теперь очередь терминала. Заходим в NOS, выбираем «Download». Далее жмякаем Enter и набираем любое число (хоть «111»). Набрать что-то надо обязательно, иначе при попытке загрузить что-то будет ошибка.

Выбираем «Comm Prm», чтобы выставить параметры соединения.

Указываем порт COM1 и ту же скорость, что настраивали в Fast Loader.

Далее выбираем «Manual load» и подтверждаем своё действие.

Теперь подключаем наш агрегат к компьютеру. Запускаем Fast Loader и жмём на терминале «Load appl». Спустя несколько секунд ПК и наш девайс установят связь, и «Starting DCP» вскоре сменится на «Erasing sectors», а затем и на прогресс-бар загрузки. Выходим из меню, NOS при этом перезагрузится. И, если мы нигде не накосячили, на дисплее должно будет появиться примерно следующее:

❯ Шрифты

Разумеется, одним-единственным шрифтом терминал не ограничивается. Менять их можно так:

И вот так это выглядит в работе.

❯ Принтер

Конечно же, хочется что-то напечатать. Одним текстом ограничиваться мне не захотелось, так что решил заодно попробовать какую-нибудь картинку.

Итак, берём BMPшку, конвертируем её в монохром и выставляем ширину строго 384 пикселя (это разрешение стоящей в терминале печатающей головки). Далее открываем какую-нибудь программу, позволяющую преобразовать изображение в массив. Я использовал LCD Assistant. Полученный файл переименовываем в myimage.c и кидаем в папку проекта. Сам массив должен иметь построчную ориентацию (один байт — восемь пикселей из горизонтальной линии). Программа для всего этого получилась вот такая.

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

❯ Вот как-то так

Конечно, практического применения это уже давно не имеет. Эти терминалы навсегда ушли в историю, причём уже достаточно давно. Тем не менее, рассмотренный девайс оказался весьма интересным. А наличие подробного справочника разработчика, где детально описаны все функции и приведены примеры использования, не может не радовать. Также отмечу, что Nurit’ы намного дубовее ранее рассмотренных Telium и куда сильнее защищены от неправильных действий оператора (в отличие от Telium’a, окирпичить такой аппарат надо ещё постараться), отчего такой терминал можно с успехом использовать для каких-то собственных целей (например, как пульт управления или портативный термопринтер).

И, конечно, на этом мои эксперименты с POS-terminal’ами не заканчиваются. В частности, я не теряю надежды найти софт для ещё более реликтовых аппаратов (VeriFone SC 5000, Ingenico Unicapt32, Hypercom, Datacard, Innovatron Terminaux). Можно попробовать написать для него какую-нибудьигру или демку. И, конечно, можно попытаться сделать симулятор платёжного приложения, где бы использовалось большинство функций терминала типа криптографии и хранения данных. Такие дела.

Ссылки

  • Софт
  • Nurit Software Development Tools
  • Instalando o Framework: Verifone Nurit
  • Архивная страница Киберплата с софтом
  • Софт ОСМП (QIWI)
  • Софт X-PLAT
  • SDK на Web Archive

Больше информации в источнике материала. Автор: MaFrance351. Блог компании Timeweb Cloud.

mini%20usb%20b%205pin техническое описание и указания по применению

Каталог технических данных MFG и тип ПДФ Теги документов
АН3962ФБ

Резюме: MN1880023 mn19412 MN1874033 IC AN7135 an3814k MN1883214 an8294nsb mn4117405 mn171202
Текст: Нет доступного текста файла


OCR-сканирование
PDF MN101C01C MN101C01D МН101С025 МН1020003 МН1020004А MN1020004AFB МН1020012А МН1020 12АФА МН1020015 АН3962FB МН1880023 mn19412 МН1874033 ИС AN7135 ан3814к МН1883214 ан8294нсб мн4117405 mn171202
симистор 236

Реферат: SCR U 537 MP25 транзисторный транзистор su 312 GA1L32 3-контактный мини-транзистор 2SJ19 FA114M 2SA1611 Z 103 TRIAC
Текст: Нет доступного текста файла


OCR-сканирование
PDF 1С2835 1С2836 1С2837 1С2838 1СС123 1СС220 1СС221 1СС222 1СС223 2SA811A симистор 236 СКР У 537 Транзистор МП25 транзистор су 312 GA1L32 3-контактный мини-транзистор 2SJ19FA114M 2SA1611 Z 103 Триак
мини дин 8

Аннотация: mini din-8 6 pin mini din video 10 pin mini din 8 pin cable 7 pin mini din 6 pin mini jack CSMD8MM-25 mini din 6 mini DIN 3
Текст: Нет доступного текста файла


Оригинал
PDF ДК225ММ CSMD8MF-10 CSMD8MF-25 мини дин 8 мини дин-8 6-контактный мини-Din видео 10-контактный мини-дин 8-контактный кабель DIN 7-контактный мини-дин 6-контактный мини-джек CSMD8MM-25 мини дин 6 мини-ДИН 3
ЛФ 358

Резюме: V585ME48 V626ME01-LF CLV1350E-LF V600ME10-LF CLV2300A V600ME14-LF SFS13500Z-LF CLV0730A-LF CLV0980E-LF
Текст: Нет доступного текста файла


Оригинал
PDF 10 кГц МИНИ-16-СМ CLV0477A-LF SFS10000C-LF SFS11000Z-LF SFS13500Z-LF ПЛЛ-В12Н МИНИ-16-ТФ) ЛФ 358 V585ME48 V626ME01-LF CLV1350E-LF V600ME10-LF CLV2300A В600МЭ14-ЛФ SFS13500Z-LF CLV0730A-LF CLV0980E-LF
1999 — 2-контактный

Аннотация: SMD T2B 6 Pin
Текст: Нет доступного текста файла


Оригинал
PDF СК-84 О-252 О-263 3000 шт/катушка 1500 шт/катушка 2-контактный СМД Т2Б 6-контактный
3866С

Реферат: транзистор а999 бс 7818 -1995 транзистор тт 2206 транзистор а999 ТТ 2206 транзистор а1535А 8340уас транзистор 3866с 2сд 4515
Текст: Нет доступного текста файла


OCR-сканирование
PDF 1020G N12861 N12B62 МН1381 МН13811 МН13821 15P0802 15П5402 58851А 70803А 3866S транзистор а999 бс 7818 -1995 транзистор тт 2206 Транзистор А999 Транзистор ТТ 2206 а1535А 8340UAS транзистор 3866S 2СД 4515
Радиал R161-715

Резюме: Radiall R161-705 Radiall R161 715 000 R161 753 000 R161 radiall R161 022 r161 715 0634 0555B
Текст: Нет доступного текста файла


OCR-сканирование
PDF 19/квартир Радиалл R161-715 Радиалл R161-705 Радиалл R161 715 000 161 753 000 рэндов R161 радиальный Р161 022 р161 715 0634 0555Б
2013 – Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал
PDF P584-003 2560×1600 2560×1600. P583-006 Р583-010 P584-006 Р584-010
2009-ШИРОКИЙ BCM2835

Аннотация: Инструкция по эксплуатации Raspberry Pi 3 Allwinner A10
Текст: Нет доступного текста файла


Оригинал
PDF
А1534

Реферат: T092 2SB642 T092L 2SB0774 SS-Mini 3 2SA1495 2SB946 2SA1124 A1534A
Текст: Нет доступного текста файла


OCR-сканирование
PDF Т0-92 Т092Л: T0220F T0220 T092NL А1534 Т092 2СБ642 T092L 2SB0774 СС-Мини 3 2SA1495 2SB946 2SA1124 А1534А
0545960310

Аннотация: ATS-621009800
Текст: Нет доступного текста файла


Оригинал
PDF T0102 0545960310 АТС-621009800
В585МЕ48

Реферат: LF-395 LF 358 SMV2278 Z-Communications smv CRO2695B-LF SFS10000Z-LF v600me10-lf V585ME08 CRO3956A-LF
Текст: Нет доступного текста файла


Оригинал
PDF 10 кГц МИНИ-16-СМ МИНИ-16 CLV0477A-LF V585ME48 ЛФ-395 ЛФ 358 SMV2278 Z-Communications smv CRO2695B-LF SFS10000Z-LF v600me10-lf V585ME08 CRO3956A-LF
мини-USB

Резюме: PX0484 6-контактный разъем HEADER, установленный на печатной плате
Текст: Нет доступного текста файла


Оригинал
PDF EN60529 30 В переменного тока, 42 В постоянного тока PX0441 PX0442 PX0458 PX0457 PX0443 PX0456 мини usb PX0484 6 НАПРАВЛЯЮЩАЯ ЖАТКА разъем на печатной плате
V560MC03

Резюме: SMV2165A-LF LF 936 CLV0391A-LF CLV0436A-LF CLV0600A-LF CLV0625E-LF CLV0700E-LF CLV0730A-LF CLV0798A-LF
Текст: Нет доступного текста файла


Оригинал
PDF 10 кГц МИНИ-16-СМ CLV0477A-LF SFS11000Z-LF SFS13500Z-LF МИНИ-16-ТФ) ПЛЛ-24-ТФ) V560MC03 SMV2165A-LF ЛФ 936 CLV0391A-LF CLV0436A-LF CLV0600A-LF CLV0625E-LF CLV0700E-LF CLV0730A-LF CLV0798A-LF
1,25 мм

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал
PDF T0102 1,25 мм
Д83 ЗЕНЕР

Реферат: стабилитрон d83 ma5z270 ma741 D83 004 MA776 MA6Z100WA MA6Z DIL 330 ma5z220
Текст: Нет доступного текста файла


OCR-сканирование
PDF MA5Z200 MA5Z220 MA5Z240 MA52270 MA5Z300 MA5Z330 MA6Z100WA MA6Z100WK МА700/А МА704/А D83 ЗЕНЕР стабилитрон д83 ма5з270 ма741 Д83 004 МА776 MA6Z100WA МА6З ДИЛ 330 ма5з220
15ВТ ЗЕНЕРСКИЕ ДИОДЫ

Реферат: двунаправленные стабилитроны ma27w MA28T PANASONIC MA4000 ma27 MINI 29 MA3062W MA75WA
Текст: Нет доступного текста файла


OCR-сканирование
PDF МА27/29 МА27Вт/29Вт МА27Т/29Т МА27Q/29Q МА28В МА28Т МА30В ДО-35/34 15Вт стабилитроны двунаправленные стабилитроны ма27в ПАНАСОНИК МА4000 ма27 МИНИ 29 MA3062W МА75ВА
ир d10

Резюме: AMA780 ir d10 d10 D10D26
Текст: Нет доступного текста файла


OCR-сканирование
PDF AMA786WK АМА791 АМА792 A792W АМА793 МА774 МА775 АМА785 АМА787 ир д10 АМА780 ир d10 d10 Д10Д26
ДО-34

Резюме: MA723 MA782 ma10701 AMA785 AMA786WK AMA787 AMA791 AMA792 AMA792WA
Текст: Нет доступного текста файла


OCR-сканирование
PDF AMA786WK АМА791 АМА792 АМА792ВА AMA792WK АМА793 МА774 ДО-34 МА775 МА723 МА782 ма10701 АМА785 AMA786WK АМА787 АМА791 АМА792 АМА792ВА
2014 — штекер DisplayPort-HDMI

Аннотация: разъем Mini DisplayPort
Текст: Нет доступного текста файла


Оригинал
PDF P584-003 2560×1600 2560×1600. P583-006 Р583-010 10 футов P584-006 Р584-010 com/sku/P584-003. DisplayPort-HDMI штекер Разъем Mini DisplayPort
2013 — штекер DisplayPort-HDMI

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал
PDF P584-006 2560×1600 2560×1600. P583-006 Р583-010 P584-003 Р584-010 DisplayPort-HDMI штекер
Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


OCR-сканирование
PDF МА111 MA176WK АМА2С111 МА177/А МА112М МА180 МА113 контакты0/178 ДО-35/34 Д31/27
транзистор а2160

Реферат: транзистор А1270 транзистор А1270 транзистор транзистор 2сД 4515 1431Т транзистор транзистор А769 мн15151 мини схемы 15542 А1270 У АН 5606К
Текст: Нет доступного текста файла


OCR-сканирование
PDF N12861 N13801 МН1381 N13811 N13821 N150402 15P0802 N150412 МН15151 МН152121 транзистор а2160 транзистор А1270 Транзистор А1270 транзистор 2СД 4515 Транзистор 1431Т транзистор А769мини схемы 15542 А1270 У АН 5606К
ИНСТРУКЦИЯ ПО СБОРКЕ Radiall R161 168 000

Реферат: r161 325 ИНСТРУКЦИЯ ПО СБОРКЕ Radiall R161 168 R161. 325
Текст: Нет доступного текста файла


OCR-сканирование
PDF 19/квартираS ИНСТРУКЦИЯ ПО СБОРКЕ Radial R161 168 000 р161 325 ИНСТРУКЦИЯ ПО СБОРКЕ Radial R161 168 161,325 рэндов
Недоступно

Резюме: нет абстрактного текста
Текст: Нет доступного текста файла


Оригинал
PDF 10 апреля 2012 г. X-172158-Y X-172159-Y X-172160-Y X-172161-Y X-172162-Y X-172163-Y X-172167-Y X-172168-Y X-172169-Y

Предыдущий 1 2 3 … 23 24 25 Next

USB Прямоугольный USB-удлинитель Mini-B — 5 проводов — 877.522.3779

  • 904:30
  • Прямоугольный

RR-2MB-MBR2-4.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *