Научная статья на тему 'Программное обеспечение макета для удаленного управления и мониторинга'

Программное обеспечение макета для удаленного управления и мониторинга Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
369
115
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АССЕМБЛЕР / МИКРОКОНТРОЛЛЕР / GSM-МОДУЛЬ / GSM-КАНАЛ / МОДУЛЬ WISMO 218 / AT+CPMS / АЛГОРИТМ / КОМАНДА АССЕМБЛЕРА / ЧИСЛО СПУТНИКОВ / ЗОНА РАДИОВИДИМОСТИ / ПРОТОКОЛ ОБМЕНА NMEA / THE ASSEMBLER / THE MICROCONTROLLER / THE GSM-MODULE / THE GSM-CHANNEL / MODULE WISMO 218 / ALGORITHM / AN ASSEMBLER COMMAND / NUMBER OF COMPANIONS / A RADIO VISIBILITY ZONE / THE REPORT OF EXCHANGE NMEA

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ганюшкин Александр Львович, Игнатюк Виктор Александрович

Изложены проведенная разработка и отладка программного обеспечения разработанного устройства, согласование протоколов передачи данных, отладка алгоритма и программного обеспечения устройства. Бинарный протокол предоставляет пользователю расширенный набор выходных данных, включая «сырую» измерительную информацию, альманахи и эфемериды. Кроме того, через него производится формирование установок, запросов на выдачу данных, команд управления, а также обновление встроенного ПО приемника. Протокол включает в себя как входные, так и выходные сообщения. Управление приемником производится только по бинарному протоколу. В результате проведения работы все указанные процедуры выполнены, полученные данные проанализированы.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Programmed control of a breadboard model for remote management and monitoring

In the given work the spent working out and debugging of the software of the developed device, the coordination of reports of data transmission, debugging of algorithm and the device software is stated. The binary report gives to the user the expanded set of target data, including the "crude " measuring information, almanacs. Besides, through it formation of installations, inquiries about delivery of data, management commands, and also updating built in ON the receiver is made. The report includes both entrance, and target messages. Management of the receiver is made only under the binary report. As a result of work carrying out all specified procedures are executed, the obtained data are analysed.

Текст научной работы на тему «Программное обеспечение макета для удаленного управления и мониторинга»

УДК 608.4, 681.3

Ганюшкин Александр Львович, Игнатюк Виктор Александрович

Владивостокский государственный университет экономики и сервиса Владивосток, Россия

Программное обеспечение макета для удаленного управления и мониторинга

Изложены проведенная разработка и отладка программного обеспечения разработанного устройства, согласование протоколов передачи данных, отладка алгоритма и программного обеспечения устройства. Бинарный протокол предоставляет пользователю расширенный набор выходных данных, включая «сырую» измерительную информацию, альманахи и эфемериды. Кроме того, через него производится формирование установок, запросов на выдачу данных, команд управления, а также обновление встроенного ПО приемника. Протокол включает в себя как входные, так и выходные сообщения. Управление приемником производится только по бинарному протоколу. В результате проведения работы все указанные процедуры выполнены, полученные данные проанализированы.

Ключевые слова и словосочетания: ассемблер, микроконтроллер, ОБЫ-модуль, ОБЫ-канал, модуль ШБЫО 218, АТ+СРЫБ, алгоритм, команда ассемблера, число спутников, зона радиовидимости, протокол обмена ШМЕА.

Цель данной работы заключается в разработке и отладке программного обеспечения разработанного устройства, согласовании протоколов передачи данных, отладке алгоритма и программного обеспечения устройства. Бинарный протокол предоставляет пользователю расширенный набор выходных данных, включая «сырую» измерительную информацию, альманахи и эфемериды. Кроме того, через него производится формирование установок, запросов на выдачу данных, команд управления, а также обновление встроенного ПО-приемника.

Протокол включает в себя как входные, так и выходные сообщения. Управление приемником производится только по бинарному протоколу. Выходные сообщения (пакеты) делятся на следующие группы:

- Пакеты 0х00...0х3Б: беззапросные (т.е. формируемые автоматически)

- Пакеты 0x40... 0х7Б: ответы на установки

- Пакеты 0x80... 0хББ: ответы на запросы

- Пакеты 0хС0... 0хБЕ: ответы на команды Состав входных сообщений:

- Пакеты 0х00... 0х3Б: не используются

- Пакеты 0x40... 0x7F: установки

- Пакеты 0x80... 0xBF: запросы

- Пакеты 0xC0... 0xFF: команды

Ответы на установки, запросы и команды формируются приемником в ответ на соответствующие входные сообщения [1 - 7].

NMEA протокол поддерживает семь стандартных выходных сообщений: GGA, GLL, GSA, GSV, RMC, VTG, ZDA и нестандартное входное сообщение SWPROT. Выходные сообщения формируются в соответствии со стандартом NMEA 0183 v3. Каждое стандартное сообщение может быть замаскировано (выключено) путем выдачи соответствующей команды в бинарном протоколе. По умолчанию GGA, GS , A GSV, RMC выдаются, а GLL, VTG, ZDA не выдаются. Также через пакет «0х4Е» преамбула сообщений может быть задана либо в соответствии со стандартом v3.01 («GP», «GN», «GL» в зависимости от используемой спутниковой системы), либо всегда «GP».

Сообщения NMEA имеют следующую структуру: $aaccc,c--

c*hh<CR><LF>

1. «$» - начало сообщения.

2. «aaccc» - адресное поле. Буквенно-цифровая информация, предназначенная для идентификации источника и типа сообщения. Первые два символа - идентификатор сообщения, определяющий используемую в решении навигационную систему: «GP» - GPS; «GL» - ГЛОНАСС; «GN» -ГЛОНАСС + GPS. Последние три символа - мнемоника формата сообщения, определяющая формат данных последующего сообщения.

3. «,» - разделитель полей. Является началом каждого поля, кроме адресного и контрольной суммы. Если данный символ следует за пустым полем, то это признак того, что данные не передаются.

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

5. «*» - разделитель контрольной суммы. Следует за последним полем данных в сообщении. Разделитель является признаком того, что следующие два символа являются шестнадцатеричным представлением контрольной суммы сообщения.

6. «hh» - поле контрольной суммы. Абсолютное значение вычисляется как исключающее 8-битные символы, расположенные между «$» и «*» (не включая эти символы). Шестнадцатеричное значение старших 4-х бит и младших 4-х бит преобразуется в два ASCII символа (0 - 9, A - F -верхний регистр). Старший символ передается первым. Контрольная

сумма передается во всех сообщениях. Пример формирования контрольной суммы: $GPGSV,5,5,17,77,71,048,53*43.

7. <CR><LF> - завершающие символы [7].

Команды, используемые для передачи данных и осуществления управления GSM/GPRS модулем, всегда начинаются с АТ (от английского Attention - внимание) и заканчиваются на <CR>. Ответы начинаются и заканчиваются командами <CR><LF> (кроме формата ответа ATV0 DCE) и ATQ1 (подавление результирующего кода).

- Если синтаксис команды неверен, то выдается «ERROR».

- Если синтаксис команды верен, но при этом был передан с неверными параметрами, то выдается строка +CME ERROR: <Err> или +CMS ERROR: <SmsErr> с соответствующими кодами ошибок, если до этого CMEE было присвоено значение 1. По умолчанию значение CMEE составляет 0, и сообщение об ошибке выглядит только как «ERROR».

- Если последовательность команд была выполнена успешно, то выдается «ОК».

В некоторых случаях, например, при AT+CPIN? или добровольных незапрашиваемых сообщениях, модем не выдает ОК в качестве ответа [8].

После изучения структуры протоколов и управляющих команд модулей перейдем к запуску модулей.

Полученные результаты

Подключение GSM/GPRS модуля WISMO218 к GPRS-каналу связи реализовывалось с помощью стандартной программы ОС Windows - «Г и-пер терминал», можно отследить передаваемые AT-команды, а так же ответы модуля на принимаемые им команды и таким образом, осуществить диагностику работы модуля. В проведенном лабораторном испытании вместо стандартной программы «Гипертерминал» была использована программа «Device Monitoring Studio». В описываемом испытании осуществлялось подключение к GPRS-каналу связи без передачи данных, так как используемый модуль не имеет в составе своей архитектуры встроенный TCP/IP-стек. После включения модуля осуществляется поиск сети GPRS, поскольку в его настройках предварительно был установлен автоматический поиск сети, командой AT+COPS=0, модуль выдал сообщение по завершению автопоиска: +CGREG:1 - зарегистрирован, «домашняя» сеть. Следующей командой AT+CGACT=1 активируем определенный PDP-контекст. После того как команда выполнена, модуль находится в командном режиме. Если какой-либо PDP-контекст уже находится в запрашиваемом состоянии, это состояние не изменяется. Если запрашиваемое состояние любого определенного контекста не может быть установлено, возвращается ответ ERROR или +CME ERROR. В свою очередь, модуль успешно реагирует на переданную команду и выдает сообщение

OK - команда принята. Команда AT+CGATT=1 используется для того, чтобы установить соединение с GPRS-сервисом. После того как команда была выполнена, модуль также остается в командном режиме и отвечает, что регистрация прошла успешно. Используя команду AT+CGDATA= «PPP»,1 - осуществляем вызов оператора с последующим использованием «PPP» - точка-точка. Реагируя на запрос, модуль отсылает сообщения, означающие, что установлено GPRS-соединение (+CR: GPRS), выполняется подключение (CONNECT). После чего вводим следующие символы «+++» - переход в командный режим - «ОК», затем получаем установленное соединение. Чтобы полностью удостовериться в успешном подключении, вводим команду AT+CGPADDR=1 - вывести список адресов PDP -контекста. В результате получаем адрес узла +CGPADDR: 1, «10.26.255.134», к которому удалось подключиться. В рассматриваемом примере подключение осуществлялось при помощи GSM/GPRS-оператора «Акос», имя адреса внешней сети которого «internet.akos.ru». В данном случае адрес является динамическим, поэтому при повторном запросе он будет измененным.

На рисунках представлен пример принимаемых координат по протоколу NMEA v3 GLONASS/GPS модуля GEOS-1M SMD. Передаваемые параметры отслеживались программой «GeosDemo v1.34» в стандартной ANSII кодировке (рис. 1).

Рис. 1. Полученные данные по протоколу NMEA v3 GLONASS/GPS модуля GEOS-1M SMD

Перед началом приема данных в программе «ОеовБешо у1.34» были установлены следующие параметры: режим ГЛОНАСС+ОРБ; разрешение ис-

пользования 2D; разрешение экстраполяции; продолжительность экстраполяции 5 с; динамический фильтр включен; темп выдачи выходных данных 1 Гц; параметры портов RS232 №0 и №1 57600, 2-стоповых бита, без четности; маска GDOP 15; маска угла места 5°; параметры секундной метки выдается, полярность - положительная, привязка - к шкале времени GPS, длительность - 1 мс, сдвиг - 0 нс; NMEA сообщения GGA, GSA, GSV, RMC, VTG - выдаются; GLL, ZDA - не выдаются; преамбула - «GP» (рис. 2).

SGPRMC,02S0S0.00,А,4310.7108,N,13154.6462,Е,000.10424,134.9,021011,,,A*5F

SGEGGA,0250S1.00,4310.7106,N,13154.6461,Е,1,03,4.5,00040.8,И,0023.4,М,,*65

Рис. 2. Полученные данные по протоколу NMEA v3 GLONASS/GPS модуля GEOS-1M SMD (в увеличенном масштабе)

Рассмотрим подробнее принимаемые данные NMEA сообщений GGA, GSA, GSV, RMC, VTG.

Сообщение GGA - данные определения места по GPS. Время, место и данные, относящиеся к наблюдению, определяются как по GPS, так и по ГЛОНАСС.

Согласно полученным данным сообщение GGA имеет следующий вид: $GPGGA,025051.00,4310.7106,N,13154.6461,E,1,03,4.5,00040.8,M,0023.4,M,,*65.

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

$--GGA,hhmmss.sss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh

Далее разложим сообщение по частям:

1) «--» - преамбула сообщения («GP» установлено по умолчанию);

2) «hhmmss.sss» - время навигационных определений;

3) «llll.ll,a» - широта, N/S;

4) «yyyyy.yy,a» - долгота, E/W;

5) «x» - показатель качества обсервации: 0 = нет данных, 1 = обсервация получена, 2 = обсервация в дифференциальном режиме;

6) «xx» - число использованных в решении спутников;

7) «x.x» - величина горизонтального геометрического фактора (HDOP);

8) «x.x,M» - высота антенны над уровнем моря (геоидом), м;

9) «x.x,M» - превышение геоида над эллипсоидом WGS84, м;

10) «x.x» - размер дифференциальных поправок. В режиме GPS или GPS+ГЛОНАСС это размер последней полученной поправки по спутни-

кам ОРБ. В режиме ГЛОНАСС это возраст последней полученной поправки по спутникам ГЛОНАСС;

11) «хххх» - идентификатор дифференциальной станции 0^1023.

Поля 11 и 12 содержат значения только в дифференциальном режиме с использованием поправок ЯТСМ. Во всех других случаях передаются пустые поля.

Для рассмотрения остальных сообщений проведем те же операции.

Сообщение ОБА - фактор ухудшения точности, используемые для навигации спутники.

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

Полученное сообщение ОБА имеет следующий вид: $ОРО8А,А,2,03,06,69,,,,,,,,,,6.6,4.5,4.8*34

После преобразования:

$--О8А,а,х,хх, ... ,хх,х.х,х.х,х.х*ЬЬ

Полями данного предложения являются:

1) «а» - режим управления количеством определяемых координат: М = ручное, указан режим, А = автоматическое переключение;

2) «х» - режим работы: 1 = обсервация невозможна, 2 = определяются две координаты, 3 = определяются три координаты;

3) «хх...хх» - номера спутников, используемых для решения навигационной задачи, для ОРБ используются номера 1^32, для ГЛОНАСС 65^96;

4) «х.х» - пространственный геометрический фактор ухудшения точности (РБОР);

5) «х.х» - горизонтальный геометрический фактор ухудшения точности (ИБОР);

6) «х.х» - вертикальный геометрический фактор ухудшения точности (УБОР).

Сообщение ОБУ - видимые спутники.

Число спутников в зоне радиовидимости, номер спутника, угол возвышения, азимут и отношение сигнал/шум. Одно предложение может содержать информацию от 1 до 4 спутников, дополнительные данные о спутниках передаются в следующих предложениях. Номер предложения указывается в первых двух полях данных. Для спутниковых систем зарезервированы следующие номера: для ОРБ 1^32, для ГЛОНАСС 65^96.

Полученные сообщения:

$ОРО8У,5,1,17,01,15,194,38,55,056,47,06,41,059,48,07,51,288,28*72

$ОРО8У,5,2,17,08,29,314,26,11,35,200,37,13,07,234,25,16,44,10,48*75

$ОРО8У,5,3,17,67,73,027,,69,05,293,33,70,05,342,,77,35,115,*7Е $ОРО8У,5,4,17,78,73,022,,79,12,315,,81,25,199,,87,35,036,*7С $ОРОБУ,5,5,17,88,79,126,*44 Преобразованное сообщение:

$--ОБУ,х,х,хх,хх,хх,ххх,хх, ... ,хх,хх,ххх,хх*ЬЬ Поля данного предложения:

1) «х» - общее число сообщений;

2) «х» - номер сообщения;

3) «хх» - общее число спутников в зоне радиовидимости;

4) «хх» - номер спутника;

5) «хх» - угол возвышения спутника, градусы 00^901;

6) «ххх» - азимут истинный, градусы 000^3601;

7) «хх» - отношение сигнал/шум 00^99 дБ, если спутник не сопровождается не передается.

Сообщение ЯМС - рекомендуемый минимальный набор данных имеет фактический вид:

$ОРКМС,025050.00,А,4310.7106,К,13154.6462,Б,000.10424,134.9,0210

11,,,А*5Б

Структура принятого сообщения: $--КМС,ккшш88.88,А,1Ш.11,а,ууууу.уу,а,х.х,х.х,хххххх,х.х,а,а*кк

Поля данного предложения:

1) hhmmss.ss - время;

2) A - статус (A/V);

3) llll.ll,a - широта, N/S;

4) yyyyy.yy,a - долгота, E/W;

5) x.x - скорость в узлах;

6) x.x - курс в градусах;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

7) xxxxxx - дата: ddmmyy (день/месяц/год);

8) x.x,a - магнитное склонение в градусах, E/W ;

9) a - индикатор режима: A = автономная обсервация, D = дифференци-

альный режим, N = данные недостоверны, Е = данные получены счислением. Сообщение УТО - курс и скорость относительно грунта имеет вид: $ОРУТО,134.9,Т,,,0000.1Л,0000.2,К,А*4С.

Структура принятого сообщения следующая:

$--УТО,х.х,Т,х.х,М,х.хЛ,х.х,К,а^<СК>^Е>

Поля данного предложения:

1) х.х,Т - магнитный курс в градусах;

2) х.х,М - курс истинный в градусах;

3) х.х^ - скорость в узлах;

4) х.х,К - скорость, км/ч;

5) а - индикатор режима: А = автономная обсервация, Б = дифференциальный режим, N = данные недостоверны [9].

После описания структуры принятых сообщений можно выделить наиболее необходимую информацию для последующего ее использования, например: координаты, высота над уровнем моря, скорость движения, время, дата, курс, видимые и используемые спутники. Координаты места положения 43.1071060 - широта и 131.5464610 - долгота; высота антенны над уровнем моря - 40.8 м; скорость движения 0.02 км/ч, время навигационных определений 02:50:51; дата 02.10.11; магнитный курс 134.90; общее число спутников в зоне радиовидимости - 17, используемых в решении - 3.

В результате проведения исследований разработанные модули успешно прошли лабораторные испытания. Но также было выявлено, что для передачи данных по GPRS каналу необходим TCP/IP-стек, в используемом модуле WISMO 218 он отсутствует. Т ем не менее, существует аналог используемого модуля со встроенным TCP/IP-стеком -WISMO 228. Таким образом, в последующих работах используемый модуль будет заменен на его аналог, так как будут проводиться исследования в области передачи данных по GPRS-каналу. В целом все поставленные задачи успешно выполнены, разработана методика отладки устройства, произведено согласование основных узлов, уровней сигналов, протоколов передачи данных. Разработаны передающий и мониторинговый модули, проведены исследования и лабораторные испытания модулей. Произведены некоторые корректировки электрических схем, а также схем печатных плат устройств.

1. Wireless Standard Modem WISMO218 Product Technical Specification & Customer Design Guidelines: Техническая документация GSM/GPRS модуля WISMO218 фирмы WAVECOM, 2009. - 97 c.

2. Беспроводной стандартный модуль WISMO: руководство пользователя // WAVECOM Wireless Standard Modem WISMO Series Development Kit User Guide, 2009. - 76 c.

3. Техническая документация микросхемы FT232R USB UART / FT232R USB UART Future Technology Devices International Ltd, 2005. - 29 с.

4. WPM100 руководство пользователя // WMP100 Development Kit User Guide, 2007. - 72 c.

5. ГеоС-^ Руководство по эксплуатации. Версия 1.0 / ООО «КБ «ГеоСтар навигация». - Москва, 2010. - 73 c.

6. Протокол обмена BINR. - М.: Литера «О», 2005. - 86 с.

7. Протокол обмена NMEA. - М.: Литера «О», 2004. - 19 с.

8. AT-команды: руководство по использованию АТ-команд для GSM/GPRS модемов / пер. с англ. - М.: ЗАО «Компэл», 2005. - 432 с.

9. Протокол обмена NMEA (IEC 61162). - М. : Литера «О», 2009. - 22 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.