1.1.3.Эмуляция аппаратных модулей pos-терминала
POS-терминал представляет собой совокупность следующих аппаратных модулей, объединенных в одном защищенном от внешнего проникновения корпусе:
монохромный жидкокристаллический дисплей;
клавиатура (основная и навигационная);
термический черно-белый принтер для печати чеков;
считыватель магнитных карт (магнитная карта представляет собой карту на пластиковой или бумажной основе с наклеенной магнитной лентой, которая считывается магнитной головкой, после чего полученная информация декодируется);
считыватель электронных карт (электронная карта представляет собой пластиковую карту со встроенной микросхемой, работающую под управлением операционной системы и позволяющую считывать информацию с учетом идентификации пользователя);
два слота для считывания SAM-карт (SAM-карты представляют собой компактный вариант электронных карт, которые, как правило, используются для хранения ключей);
коммуникационный порт Ethernet (используется для управления терминалом через telnet, а так же для обновления программного обеспечения по протоколу FTP);
коммуникационный последовательный порт RS232 (используется для загрузки ядра операционной системы, образа файловой системы, начального загрузчика и активации системы безопасности терминала);
разъем питания.
Программное средство эмуляции POS-терминала было создано на базе POS-терминала «ЯРУС» (см. рис. Рис. 1 .3) - первого POS-терминала российского производства, разработанного фирмой «Терминальные технологии» («Виджет»).
|
|
Рис. 1.3. Внешний вид POS-терминала «ЯРУС».
POS-терминал «ЯРУС» работает под управлением операционной системы Linux. Данная операционная система была выбрана из ряда других в связи со следующими ее достоинствами по отношению к другим операционными системам:
Гибкость. Практически все в Linux поддается настройке в соответствии с конкретными задачами и оборудованием. Кроме того разработчику становятся доступны исходные тексты ядра и приложений, в результате чего можно модифицировать систему так, как это нужно разработчику. Такое можно встретить далеко не в каждой операционной системе, особенно семейства Windows. Еще один важный аспект заключается в том, что возможна загрузка собственных драйверов, обслуживающих те или иные устройства, в оперативную память. Эта возможность в полной мере была использована при разработке терминала.
Дешевизна. ОС Linux абсолютно бесплатна, что очень выгодно с коммерческой точки зрения, т.к. загружая очередную копию операционной системы в новый терминал, не нужно задумываться о лицензионных соглашениях.
Простота обслуживания. Сама система и все службы настраиваются путем редактирования конфигурационных файлов. Это обычные текстовые файлы. Зная их расположение и формат, можно настроить любой элемент ОС. С точки зрения разработчика такая система значительно удобнее и функциональнее, чем системы, где большая часть настроек осуществляется через графический интерфейс соответствующих программ.
Нетребовательность к ресурсам. Данное условие очень важно, т.к. значительно сокращает затраты на аппаратные ресурсы при проектировании терминала. В рассматриваемом терминале был использован процессор ARM Zilog ZA9L, а также всего несколько десятков мегабайт оперативной памяти, чего вполне достаточно для работы ядра Linux.
При создании средства эмуляции данного терминала, во-первых, необходимо реализовать графический интерфейс, включающий в себя такие элементы как дисплей, клавиатура и т.д., а во-вторых, необходимо реализовать интерфейс для работы с различными аппаратными модулями, предоставляемый программному обеспечению на терминале.
Интерфейс различных аппаратных модулей удобно реализовать в виде набора загрузочных модулей. Для написания загрузочных модулей, входящих в состав рассматриваемого программного средства, используется язык программирования С. Этот язык использован в системе Linux для написания всех загрузочных модулей, входящих в ее состав.
Для реализации остальной функциональности программного средства наиболее подходит язык Си++, который имеет ряд преимуществ по сравнению с языком С. Во-первых, большинство библиотек пользовательского интерфейса имеют объектно-ориентированный подход, что делает возможным их использование только в рамках программы на языке Си++. Во-вторых объектный подход позволяет задать модульную структуру программы, в результате чего не составит никакого труда добавить функционал для эмуляции какого-либо нового устройства. Ну и наконец, в операционной системе Linux предусмотрен широкий спектр различных настроек сборки программы на С++ при использовании компилятора GCC GNU.
Выполнение на ПК программного обеспечения, предназначенного для запуска на терминале, возможно за счет того, что при компиляции собирается две версии программы под разные платформы – одна под Intel I386, другая под ARM Zilog ZA9L. Сравнительная схема работы программного средства на ПК и на терминале изображена на рис. Рис. 1 .4.
Рис. 1.4. Сравнительные схемы работы ПО POS-терминала.
Как видно из схемы работы программного средства, изображенной на рис. Рис. 1 .4, отличие в работе заключается в следующем. На терминале драйверы аппаратных модулей включают в себя всю необходимую функциональность по управлению данным аппаратным модулем. На ПК драйверы предоставляют программному обеспечению тот же интерфейс, но являются «каналами», через которые данные передаются от программного обеспечения к прикладной программе ПС ЭТ и обратно. Прикладная программа в свою очередь обрабатывает данные и выводит их на эмулируемые аппаратные модули POS-терминала.
В табл. Таблица 1 .2 приведена сравнительная характеристика рассмотренных программных средств.
Таблица 1.2
- Пояснительная записка
- «Разработка программного средства эмуляции pos-терминала»
- Содержание
- Специальный раздел
- Технологический раздел
- Организационно-экономический раздел
- Раздел по производственной и экологической безопасности
- Перечень сокращений
- Введение
- Специальный раздел
- 1.Специальный раздел
- 1.1.Исследовательская часть
- 1.1.1.Типы программных средств эмуляции
- 1.1.2.Обзор программных средств эмуляции Microsoft Device Emulator и Android Emulator
- Системные требования Microsoft Device Emulator
- 1.1.3.Эмуляция аппаратных модулей pos-терминала
- Сравнительная характеристика программных средств эмуляции
- 1.2.Конструкторская часть
- 1.2.1.Состав выполняемых функций
- 1.2.2.Требования к надежности
- 1.2.3.Требования к информационной и программной совместимости
- 1.2.4.Требования к составу и параметрам технических средств
- 1.2.5.Организация входных и выходных данных
- 1.2.6.Выбор платформы для разработки
- 1.2.7.Выбор среды разработки
- Сравнительная характеристика средств разработки
- 1.2.8.Алгоритмы работы программного средства
- 1.2.9.Иерархия классов прикладной программы пс эт
- 1.2.10.Описание логической структуры программного средства
- Список создаваемых специальных файлов устройств
- 1.2.11.Пользовательский интерфейс. Экранные формы
- 1.2.12.Методика и результаты испытаний программного средства
- Технологический раздел
- 2.Технологический раздел
- 2.1.Технология программирования пс эт
- 2.1.1.Основные определения
- 2.1.2.Этапы разработки и использованная модель жизненного цикла
- 2.1.3.Объектно-ориетированный подход
- 2.2.1.Обзор возможностей языка Си
- 2.3.Разработка драйверов в ос Linux
- 2.3.1.Особенности ос Linux
- 2.3.2.Принципы работы драйверов в ос Linux
- 2.3.3.Специальные файлы устройств
- 2.3.4.Структура, инициализация и выгрузка драйверов
- 2.3.5.Отладка драйверов
- 2.4.Сценарии в ос Linux
- 2.4.1.Основы разработки сценариев на языке оболочки bash
- 2.4.2.Переменные и области видимости
- Стандартные переменные окружения и оболочки bash
- 2.4.3.Средства ввода-вывода
- 2.4.4.Команды ветвления if-else, case
- 2.4.5.Организация циклов
- 2.4.6.Определение функций
- 2.4.7.Отладка сценариев
- Опции запуска сценариев
- 2.4.8.Makefile – управление компиляцией
- 2.5.Использование библиотек в ос Linux
- 2.5.1.Статические и динамические библиотеки
- 2.5.2.Графическая библиотека fltk
- Элементы библиотеки fltk
- 2.5.3.Библиотека pcsc для работы с электронными картами
- 2.5.4.Библиотека TinyXml для работы с xml-файлами
- Основные классы библиотеки TinyXml
- 2.6.Средства отладки в ос Linux
- 2.6.1.Технологии отладки
- 2.6.2.Отладочные сообщения
- 2.6.3.Стандарт syslog
- 2.6.4.Удаленная отладка с помощью gdbserver
- 2.6.5.Отладка в среде SlickEdit 2009
- 2.7.Виды тестирования
- 2.7.1.Классификация видов тестирования
- 2.7.2.Уровни тестирования
- 2.7.3.Тестирование методом «белого» ящика
- 2.7.4.Тестирование методом «черного» ящика
- Организационно-экономический раздел «Определение целевого сегмента рынка pos-терминалов»
- 3.Организационно-экономический раздел
- 3.1.Сегментация рынка и позиционирование товара
- 3.1.1.Разделение рынка на сегменты
- 3.1.2.Принципы рыночной сегментации
- 3.1.3.Методы выделения сегментов
- 3.1.4.Критерии рыночной сегментации
- 3.1.5.Выбор целевого рынка
- 3.1.6.Выбор целевого сегмента
- 3.1.7.Позиционирование товара
- 3.1.8.Метод Чекановского
- 3.2.Сегментация рынка платежных pos-терминалов
- 3.2.1.Особенности рынка pos-терминалов
- 3.2.2.Выделение групп конечных пользователей
- 3.2.3.Выделение основных характеристик pos-терминала «ярус»
- 3.2.4.Диаграмма Чекановского
- 3.2.5.Выбор целевого сегмента и позиционирование pos-терминала «ярус»
- Раздел по производственной и экологической безопасности «Инженерный расчет воздухообмена на рабочем месте инженера-программиста»
- 4.Раздел по производственной и экологической безопасности
- 4.1.Введение
- 4.2.Рабочее место инженера-программиста
- 4.2.1.Особенности и характеристики
- 4.2.2.Основные опасности и вредности
- 4.2.3.Оценка тяжести труда
- Классы условий труда по показателям тяжести трудового процесса
- 4.3.Воздухообмен в помещении
- 4.3.1.Классификация систем вентиляции
- 4.3.2.Инженерный расчет воздухообмена в зависимости от числа людей в помещении
- 4.3.3.Инженерный расчет воздухообмена по избыткам тепла
- Значения коэффициента Кост
- Плотность теплового потока солнечной радиации в июле, Вт/м2
- 4.3.4.Выбор вентиляционной системы
- 4.4.Пожарная безопасность
- 4.5.Экологическая безопасность (утилизация компьютеров)
- Заключение
- Список литературы
- Введение
- Назначение и условия применения пс эт
- Состав выполняемых функций
- Требования к надежности
- Требования к составу и параметрам технических средств
- Характеристика пс эт
- Обращение к пс эт
- Входные и выходные данные пс эт
- Сообщения