1. Главная страница » Компьютеры

Gsm модем com порт

Автор: | 16.12.2019

Компания ИнСАТ предлагает широкий выбор средств беспроводной коммуникации. К их числу относятся GSM модемы. Наибольшей популярность для промышленного применения пользуются GSM модемы производства компаний MOXA, IRZ, TELEOFIS, ОВЕН.

Российские производители GSM модемов

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

Еще один российский производитель беспроводных средств связи — компания ОВЕН. Эта фирма производит широкий спектр оборудования для промышленной автоматизации, диспетчеризации и систем учета. Средствам коммуникаций компания ОВЕН уделяет особое внимание. Модем ПМ01 производства ОВЕН хорошо зарекомендовал себя в большом числе реальных проектов.

Тема практического применения технологий m2m (mashine-to-mashine) уже неоднократно освещалась, в том числе и на страницах данного издания. Несомненно, в данное время m2m-технологии переживают этап бурного развития. Беспроводные технологии межмашинного взаимодействия все активнее входят в самые различные сферы. Таким образом, с развитием современных средств связи расстояние и месторасположение взаимодействующих объектов стало играть меньшую роль.

Решения на базе технологий m2m и GSM нашли широкое применение в различных областях, многие из которых уже стали традиционными:

  • системы безопасности и оповещения;
  • системы контроля доступа;
  • платежные системы (банкоматы и платежные терминалы);
  • системы мониторинга окружающей среды;
  • сбор информации со счетчиков энергоносителей;
  • управление производственными процессами;
  • мониторинг положения автотранспорта;
  • сбор информации с торговых автоматов;
  • мобильный доступ в Интернет и другие сети.
Читайте также:  Lg 42lb620v нет изображения звук есть

В целом, популярности m2m способствует высокая востребованность мобильного взаимодействия устройств, широчайший охват GSM-сетей, а также постоянное удешевление выпускаемых устройств, а следовательно — и более низкая стоимость решений для конечного пользователя. Постоянное снижение стоимости высокотехнологичных продуктов, в частности m2m-оборудования, открывает возможности его применения в новых сферах, где оно, становясь экономически целесообразным, вытесняет традиционные «проводные» решения. По оценкам маркетологов, глобальный рынок средств связи для беспроводной передачи данных ожидает бурный рост, по крайней мере, в течение ближайшего десятилетия. Исходя из материалов некоторых исследований, в ближайшие три года количество «неодушевленных» абонентов сотовых сетей во всем мире будет сопоставимо с количеством «голосовых» абонентов.

Сегодня на рынке наиболее широко представлены GSM-модемы — это законченные корпусные устройства, называемые по устоявшейся терминологии GSM-терминалами. Как правило, данные устройства имеют интерфейс RS-232, что в какой-то степени отражает их ориентированность на взаимодействие с промышленным оборудованием, которое является основным средством коммуникации для платежных терминалов, банкоматов и счетчиков энергии.

Взаимодействовать с GSM-терминалом может любое устройство, имеющее стандартизированный порт RS-232 или RS-485. Кроме того, устройство должно располагать контроллером, позволяющим управлять модемом с помощью стандартных АТ-команд.

Интерфейсные части оборудования

Интерфейс RS-232С

Универсальный внешний последовательный интерфейс — COM-порт (Communications Port — коммуникационный порт) — присутствует в персональных компьютерах с первых моделей. Этот порт обеспечивает обмен данными по стандарту RS-232C (рис. 1). Основное назначение порта — подключение коммуникационного оборудования, например модема, для связи с другими компьютерами или устройствами. Функционально RS-232C совпадает со стандартом MKKTT V. 24/V. 28, но имеет другие названия сигналов.

Рис. 1. RS-232 интерфейс GSM-терминала

Помимо прочего, стандарт RS-232C регламентирует типы применяемых разъемов. На компьютерах (и другом оборудовании данных) принято устанавливать вилки DB-25P или DB-9P. На модемах (и другой оконечной аппаратуре каналов данных) принято устанавливать розетки DB-25S или DB-9S таким образом, чтобы можно было подключить модем к компьютеру без кабеля либо использовать «прямые» кабели с розеткой и вилкой, у которых контакты соединены «один в один» (соответственно DB-9P DB-D9 и DB-25P DB-25S).

Используя RS-232C (таблица), можно подключить только одно устройство, причем для скорости 19 200 бит/с допустимая длина кабеля составляет 15 м (на практике можно получить более высокие длины и более одного устройства, но это частные случаи).

Хочется особо подчеркнуть несоблюдение всех требований стандарта RS-232С достаточно большим количеством производителей приборов, что в особой мере относится ко многим счетчикам энергоучета. Это приводит к двум основным проблемам. Стандартные кабели, купленные в магазинах, могут не работать с вашим оборудованием. Такая проблема решается обыкновенной перепайкой кабеля, в соответствии с требованиями инструкции на прибор.

Вторая проблема обусловлена тем, что связь либо совсем не устанавливается, либо устанавливается плохо и может периодически обрываться. Это обусловлено тем, что уровень сигнала по стандарту может меняться в широких пределах, и у двух устройств с интерфейсом RS-232C может оказаться различие уровней срабатывания, что приводит к их аппаратной несовместимости. Подобные проблемы наиболее характерны для устройств с автономным питанием. Проблема решается применением ретранслятора RS-232C, например реализованного как переходник RS-232C/TTL/RS-232C, который достаточно просто можно изготовить самостоятельно, либо заменой одного из устройств RS-232C. Кроме того, при покупке переходников USB/RS-232C и PCMCIA/RS-232C необходимо проверять диапазон скоростей, поскольку возможны ограничения как по максимальной скорости, так и по минимальной. Причем ограничения по минимальной скорости даже более критичны, особенно для старых моделей приборов.

Интерфейс RS-485

Использование интерфейса RS-485 позволяет обойти ограничения, присущие интерфейсу RS-232C. RS-485 заслуженно популярен в качестве шин для соединения устройств промышленной автоматики, обеспечивая скорость 115200 бит/с при дальности 1200 м, он также позволяет подключать к шине одновременно до 32 устройств (некоторые реализации позволяют улучшить эти характеристики).

Шина RS-485, как правило, организуется витой парой, что улучшает помехозащищенность линии и существенно экономит стоимость кабеля по сравнению с RS-232C. Компьютеры и модемы весьма редко обладают встроенным интерфейсом RS-485, поэтому для них обычно применяются внешние адаптеры RS-232С/RS-485. В таких случаях можно рекомендовать применение устройств RS-485 с автоматическим управлением потоком, особенно для использования совместно с модемом. Это поможет вам решить половину проблем, вызванных некорректным управлением потоками данных со стороны программного обеспечения.

Ethernet

Ethernet представляет собой стандарт передачи данных, наиболее часто использующийся для связи персональных компьютеров, серверов и других устройств различных производителей, а также для организации проводных локальных сетей LAN. Сегодня это наиболее популярный протокол в локальных вычислительных сетях. Позволяет передавать информацию с большими скоростями, достигающими 1 Гбит/с. Широкое разнообразие различных типов сетевых устройств, выпускаемых под Ethernet, делают его стандартом де-факто. Именно поэтому на рынке активно появляются GSM-устройства, обладающие интерфесом Ethernet. Различного рода GSM-маршрутизаторы, шлюзы и конверторы с интерфейсом Ethernet позволяют организовать передачу данных оптимальным образом и повысить производительность и надежность системы в целом.

Bluetooth

Bluetooth — это стандарт, в соответствии с которым устройства могут обмениваться информацией по радиоканалу на расстоянии до 10 м (в некоторых реализациях до 100 м). Это предоставляет возможность осуществлять связь с прибором удаленно. В настоящее время в России применение Bluetooth в промышленности пока не очень популярно.

Стоит отметить, что в ряде случаев применение Bluetooth для прибора сводится к эмуляции обычного COM-порта. Отличия в использовании заключаются в том, что сначала нужно установить связь по радиоканалу, ввести соответствующий PIN-код, а далее использовать Bluetooth практически как обычный нуль-модемный шнур.

Инфракрасный порт

Сейчас многие приборы оснащаются инфракрасным портом. Применение такого типа связи имеет два серьезных преимущества. Обеспечивается полная электрическая развязка между двумя устройствами, и в случае выхода из строя сигнальных цепей одного устройства, второе останется неповрежденным. Данные можно считывать удаленно, однако только на расстоянии прямой видимости, что, с одной стороны, не очень удобно, а с другой — обеспечивает высокий уровень конфиденциальности. Инфракрасные адаптеры как продаваемые в компьютерных магазинах в качестве отдельных устройств, так и встроенные в компьютеры, как правило, используют стандарты FIR или SIR.

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

GSM-модемы

Подавляющее большинство читателей уже хорошо знакомо с оконечным оборудованием, применяемым при реализации m2m-решений. В настоящее время наиболее распространенными можно назвать следующие модели брендовых производителей: Siemens MC35i T (рис. 2), Siemens TC35i T, SonyEricsson GM-29, Wavecom 1206B и 1306B. И с каждым днем на рынке появляется все большее количество GSM-терминалов сторонних производителей, зачастую использующих в своей основе брендовые модули указанных компаний.

Рис. 2. GSM-терминал Siemens MC35iT

Модем (сокращение от МОдулятор/ДЕМодулятор) предназначен для создания каналов связи между двумя устройствами. С точки зрения эксплуатации и настройки dial-up (модем для коммутируемых линий) и GSM-модем имеют мало различий. Самые основные будут рассмотрены ниже. Dial-up модем подключается к телефонной линии стандартным телефонным шнуром, который, как правило, идет в комплекте с модемом. С GSM-модемом несколько сложнее. Сначала необходимо подключить услугу передачи данных (не путайте с GPRS). Потом устанавливается SIM-карта в держатель, к модему подключается антенна, а сама антенна устанавливается в место наиболее уверенного приема GSM-сигнала.

Теперь модем необходимо настроить, для этого он подключается к свободному COM-порту вашего компьютера (или КПК). Потом запускается программа для настройки терминала, для операционных систем Windows 9x/Me/2000/XP/2003 можно воспользоваться стандартной программой HyperTerminal (рис. 3), входящую в стандартную поставку. Далее предполагается, что используется программа HyperTerminal. Для начала необходимо создать новое подключение. В ходе создания указывается номер используемого COM-порта, скорость связи (необходимо посмотреть в документации на модем) и другие параметры (во многих случаях можно использовать значения по умолчанию).

Рис. 3. Окно программы HyperTerminal

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

  • тип интерфейса;
  • протокол;
  • сетевой адрес;
  • скорость;
  • управление данными;
  • время доступа;
  • пароль.

Как правило, можно использовать установки по умолчанию, однако следует обращать внимание на следующие параметры: скорость, тип модема, номер СОМ-порта.

При настройке модема необходимо: для GSM-модема ввести PIN-код (AT+CPIN=1111, где 1111 — PIN, указанный в документах на SIM-карту) и настроить уровень блокировок командами: AT+CLCK, AT^SLCK, (нужно помнить, что по умолчанию при перезагрузке модема может запрашиваться PIN-код), установить номер звонка, на который модем снимает трубку автоматически:

  • ATS0=1 — снимет на 1 звонок;
  • ATS0=0 — отключает автоматическое снятие трубки.

Установить использование сигнала готовности прибора:

  • AT&D0 — прибор всегда готов;
  • AT&D2 — прибор имеет возможность управления модемом.

Установить скорость модема по RS-232 равной скорости прибора:

  • AT+IPR=19200 — скорость установлена на 19 200 бит/с;
  • AT+IPR=0 — скорость устанавливается автоматически, этот режим корректно поддерживается приборами довольно редко.

После изменения скорости модема обязательно измените скорость в настройках терминала. Для dial-up-модема надо установить способ набора ATP (импульсный) или ATT (тоновый), а также протокол и скорость обмена с другими модемами. Обычно это делается командой AT+MS (данная команда достаточно специфична для разных моделей модемов), например:

Не устанавливайте максимальные скорости выше 33 600 и протоколы их поддерживающие — V90, V92, поскольку для таких режимов нужны специализированные модемы. После окончания настроек они сохраняются командой AT&W0.

После этого в большинстве случаев модем готов к работе, и его можно устанавливать.

Работа с GSM/GPRS-терминалами в среде Microsoft Windows’98/Me/2000/XP

На практике в ряде случаев приходится устанавливать GSM-терминал на обычный компьютер, то есть устанавливать РРР-соединение в среде Microsoft Windows’98/Me/2000/XP, используя прототип GSM/GPRS. Конфигурации и установки для других операционных систем (например, Windows 95/98) могут слегка отличаться, но общая логика процедуры остается той же.

Установки GPRS от сетевого провайдера

Прежде чем установить устройство, свяжитесь с вашим GSM-провайдером, чтобы подключить данную услугу и получить специфические настройки, присущие конкретному оператору связи. Обладая данной информацией, можно приступать к инсталляции модема и конфигурированию. Сначала понадобится установить драйвер модема в среде Windows.

Добавление нового модема

Использование подавляющего большинства GSM-терминалов не требует специфических драйверов. Если в системе не было установлено никакого стандартного модема на 9600 бит/с, добавьте новый стандартный модем к соответствующему разделу модема панели управления. Для этого необходимо выбрать пункты стандартного меню Пуск->Настройка->Панель Управления->Телефон и Модем->Модемы->Добавить (рис. 4).

Рис. 4. Установка модема

Следуя инструкциям на экране, выберите «Стандартный 9600 bps модем» (рис. 5) и соответствующий СОМ-порт и нажимайте «Далее» до тех пор, пока не закончите конфигурирование.

Рис. 5. Выбор модема

Задание конфигурации драйвера модема

Выберите установленный стандартный модем на 9600 бит/с, щелкните «Свойства», чтобы сконфигурировать «дополнительные параметры связи», как показано на рис. 6.

Рис. 6. Настройка дополнительных параметров связи

Вы можете так же изменить приведенную для примера точку входа internet. nw на имя вашей точки входа (APN), если вы пользуетесь услугами другого оператора связи. С типовыми настройками для различных операторов можно ознакомиться ниже.

Инсталляция сети «вызова по номеру» и конфигурация

Вам понадобится установить сеть «вызова по номеру». При подключении к сети GPRS необходимо вводить в строке номер дозвона *99# или *99***1#. Это не номера, а управляющие AT-команды для GSM-модема:

  • 99 — это один из сервисных кодов выхода в сеть GPRS;
  • 1 — это так называемый параметр C >Из панели управления выберите «Сетевые подключения», а затем «Создание нового подключения». Создайте новое стандартное подключение к сети Интернет и назовите его, например Megafon, и укажите номер дозвона. Убедитесь, что «User name» и «Password» пусты (для всех провайдеров, не требующих явного указания пароля). Выберите «Для любого пользователя» — > щелкните «Вызов» (рис. 7).

Рис. 7. Подключение к сети Интернет

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

Некоторые технические параметры для других операторов связи

Ниже представлена краткая информация по настройке компьютера для использования GPRS для некоторых московских операторов сотовой связи. Эти настройки применяются как при подключении через GPRS-модемы, так и через телефоны.

Настройки для MTS

В «Свойствах удаленного соединения» на вкладке «Тип сервера» установите дополнительную строку инициализации модема: AT+CGDCONT=1,”«IP», «internet.mts.ru». Тип сервера удаленного доступа: РРР: Интернет, Windows NT Server, Windows 98. Уберите все галочки, за исключением TCP/IP в области «Допустимые сетевые протоколы». Нажмите кнопку «Настройка TCP/IP» и в появившемся окне установите следующие параметры:

  • Адрес IP назначается сервером.
  • Адреса вводятся вручную.
  • Первичный адрес DNS: 213.087.000.001.
  • Вторичный адрес DNS: 213.087.001.001.
  • Включите «Использовать стандартный шлюз для удаленной сети».
  • Отключите «Использовать сжатие заголовков IP».
  • Login и password: mts.
  • Номер дозвона: *99# (для некоторых моделей телефонов номер другой).

Настройки для Beeline

В «Свойствах удаленного соединения» на вкладке «Тип сервера» установите дополнительную строку инициализации модема: AT+CGDCONT=1, «IP», «internet.beeline.ru». Тип сервера удаленного доступа РРР: Интернет, Windows NT Server, Windows 98. Уберите все галочки, за исключением TCP/IP в области «Допустимые сетевые протоколы». Нажмите кнопку «Настройка TCP/IP» и в появившемся окне установите следующие параметры:

  • Адрес IP назначается сервером.
  • Адреса вводятся вручную.
  • Первичный адрес DNS: 194.067.002.114.
  • Вторичный адрес DNS: 194.190.195.066.
  • Включите «Использовать стандартный шлюз для удаленной сети».
  • Отключите «Использовать сжатие заголовков IP».
  • Login и password: beeline.
  • Номер телефона: *99# (для некоторых моделей телефонов номер другой).

Настройки для Megafon

В «Свойствах удаленного соединения» на вкладке «Тип сервера» установите дополнительную строку инициализации модема: AT+CGDCONT=1, «IP», «internet.nw». Тип сервера удаленного доступа РРР: Интернет, Windows NT Server, Windows 98. Уберите все галочки, за исключением TCP/IP в области «Допустимые сетевые протоколы». Нажмите кнопку «Настройка TCP/IP» и в появившемся окне установите следующие параметры:

  • Адрес IP назначается сервером.
  • Получить адреса DNS сервера автоматически.
  • Включите «Использовать стандартный шлюз для удаленной сети».
  • Отключите «Использовать сжатие заголовков IP».
  • Login и password: gdata
  • Номер дозвона: *99# (для некоторых моделей телефонов номер другой).

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

Рождение идеи

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

Пример SMS:

08.11.2011
1.Магазин A, 123045 р.
2.Магазин B, 134520 р.
3.Магазин C, 215403 р.
. ;
Как выяснилось в последующем это ещё не всё что требуется, но об этом чуть позже.

Сначала было предложено отправлять SMS через гейт, коих сейчас великое множество. Но заказчик сразу же отверг это предложение из соображений безопасности, ибо данные о дневной выручке — вещь довольно конфиденциальная. Затем было решено отправлять SMS просто с телефона подключенного к компу по USB кабелю, а в итоге и вовсе вместо телефона был задействован USB модем который уже давненько валялся без дела.

С чего начать

С COM портом конечно работать приходилось, а вот общаться с модемом по средствам AT команд, до этого как то не доводилось. AT команд конечно довольно много, но всё оказалось гораздо проще чем я ожидал, т.к. для нашей цели потребовались всего 5 команд:

AT+CMGF — задаёт режим работы: 0-цифровой или 1-текстовый. Эта команда будет вызываться первой, от этого зависит формат последующих команд и ответов модема.

AT+CMGS — отправка сообщения, формат параметра сильно зависти от режима (т.е. от прошлой команды).

AT+CMGL — чтение сообщений с модема, в качестве параметра можно передать одно из пяти значений, стоит обратить внимание что в зависимости от режима (AT+CMGF) следует передавать цифровые или строковые значения:

AT+CMGD — удаление одного сообщения с модема, в качестве параметра передаём номер сообщения.

AT+CMGR — чтение одного сообщения с модема, так же передаём номер сообщения.

Первые результаты

После нескольких часов (проб/ошибок) выяснил, что отправить SMS сообщение с модема ненамного сложнее чем сделать это с обычного мобильного телефона. Как уже упоминалось выше, для отправки SMS следует использовать команду «AT+CMGS». И так, открыл hyperterm, подключился к модему (через COM порт), и настрочил в порт следующие команды:

Пример того же самого на Delphi:

Вуаля, и карманный девайс сообщил о ожидаемом событии.
Но увы положительные эмоции возникшие у меня в момент этого успеха продлились недолго, а если точнее до того момента когда было обнаружено что с русским текстом всё гораздо сложнее. Во первых для отправки сообщений на русском нужно переключить режим с текстового на цифровой (AT+CMGF=0), а во вторых само сообщение должно быть отправлено в кодировке UCS2. И если с первым проблем минимум, то со вторым пришлось повозиться.

Кодировка текста в UCS и обратно (опять таки на Delphi):

Не скажу что всё получилось сразу и легко, но всё же получилось. Если раньше я отправлял в модем:

то для того чтобы отправить сообщение на русском нужно будет отправить:

Сначала переключение режима (в цифровой), затем отправляется длинна сообщения (84), а последняя строка содержит: номер телефона, текст сообщения и различные настройки (такие как: номер SMS-центра, сохранять ли сообщение у получателя и др.).

Пример на Delphi:

Развитие идеи

Сказать что я был счастлив когда на мобилу пришёл долгожданные русский текст, вместо «кракозябр», значит не сказать ничего. На следующий день дописал основную часть программы, и вроде бы всё. Сообщения с данными о выручке отправляются на телефон заказчику, вроде бы и жизнь то удалась, но не тут то было. Где то через неделю заказчик попросил доработать приложение, а именно сделать так чтобы после того как ему пришло SMS с текстом:
08.11.2011
1.Магазин A, 123045 р.
2.Магазин B, 134520 р.
3.Магазин C, 215403 р.
.
он бы мог в ответ на это сообщении отправить номер магазина и пришло бы новое сообщение, но уже с более детальной информацией по указанному магазину.
Ну в общем то логика простая: программа должна хранить последней отправленный «отчёт» по всем магазинам и читать входящие сообщения, как только появляется сообщение с условным текстом (например «магазин=12»), вытаскивать от туда номер магазина, смотреть в последнем отправленном сообщении что было под этим номером и отправлять детальную информацию по этому магазину (к сожалению на данный момент заказчик так и не определился с форматом и содержанием «подробного отчёта», так что в качестве примера привести нечего). Для реализации вышеупомянутой логики от модема требуется: прочитать SMS из памяти, удалить SMS из памяти (чтобы не скапливались). Для чтения сообщений использовал команды AT+CMGR и AT+CMGL (их краткое описание приводилось ранее). Чтение всех сообщений будет выглядеть как:

Здесь всё проще чем было раньше. Каждое сообщение состоит из 2х строк, в первой содержатся данные о сообщении (такие как: от кого, когда, номер сообщения), а во второй сам текст сообщения (опять таки в кодировке UCS, функция UCSToAnsi приводилась выше). Чтение одного сообщение осуществляется как:

Аналогичным образом происходит и удаление сообщений. Если например в моём случае отправить команду AT+CMGD=7, то при следующем AT+CMGL=«ALL» я уже не увижу сообщение номер 7, т.к. оно будет удалено.

Заключение

И так, были разобраны основные команды для работы с SMS сообщениями через GSM модем, была рассмотрена отправка, чтение, удаление сообщений. На последок хотелось бы отметить что область применения такого использования SMS сообщений довольно широка (особенно потому что можно организовать двухстороннюю связь). Например так: пользователь отправляет SMS, модем принимает, наша программа считывает, выполняет какие то действия исходя из текста сообщения и отправляет пользователю результата. Или наоборот: на ПК происходит какое то событие, и программа отправляет пользователю сообщение об этом событии. Удачи вам в ваших экспериментах, спасибо!

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

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