Модуль SIM868E: обзор новых возможностей комбинированного решения

№ 3’2017
PDF версия
Продуктовая линейка компании SIMCom Wireless Solutions, ведущего производителя ОЕМ-модулей стандартов GSM, 3G, LTE, GPS/ГЛОНАСС, пополнилась комбинированным решением, совмещающим функции модуля сотовой связи и навигации (GSM+GNSS),SIM868. Сочетание компактных размеров, малого энергопотребления, а также наличие Bluetooth сделало данный модуль популярным решением для применений, где требуется объединенный функционал и низкая себестоимость. Однако рынок постоянно предъявляет новые требования к М2М-оборудованию, поэтому, как продолжение серии комбинированных решений, был выпущен SIM868EGSM-модуль со встроенной навигацией и поддержкой Bluetooth Low Energy (BLE). В статье рассмотрены ключевые особенности данного решения, а также практические аспекты его применения, которые будут полезны специалистам и разработчикам устройств транспортной и промышленной телеметрии, систем охраны, автоматизации и передачи данных.

Введение

Комбинированные модули, совмещающие в себе сразу несколько технологий, нашли широкое применение в различных М2М-устройствах. Долгое время функционал, не связанный с передачей данных по сетям сотовой связи, был вторичным для GSM-модулей: к примеру, качество встроенной в чипсет навигации зачастую уступало дискретным решениям. Аналогичная ситуация наблюдалась и с другими интегрированными технологиями. Только недавно у производителей появилась возможность объединять на одной подложке сразу несколько отдельных чипсетов. Таким образом, на основе комбомодулей могут быть реализованы компактные и бюджетные решения с низким энергопотреблением, без ущерба функционалу и качеству работы. Одним из таких all-in-one решений и является SIM868E.

 

Возможности и отличительные особенности SIM868E

GSM/GPRS+GNSS-модуль SIM868E

Рис. 1. GSM/GPRS+GNSS-модуль SIM868E

SIM868E (рис. 1) самый миниатюрный четырехдиапазонный GSM/GPRS-модуль с поддержкой спутниковой навигации в системах GPS/ГЛОНАСС, а также технологии Bluetooth (BR/EDR и BLE), реализованной на уровне чипсета.

Модуль полностью совместим с ранее вышедшим SIM868по форм-фактору, назначению контактных площадок, а также программной части (АТ-командам). Поэтому, как и предшественник, он обладает высокой чувствительностью ВЧ-тракта, компактными размерами (15,7×17,6 мм, LCC), наличием широкого функционала: встроенные стеки (TCP/IP, UDP/IP), работа с различными протоколами (SMTP, MMS, FTP, HTTP, SSL), DTMF, работа с аудиофайлами, SD-картами и т. д.

GNSS-функционал модуля обладает лучшим в своем классе сочетанием времени первого определения местоположения (TTFF) и чувствительности (до -165 дБм), а дополнительный малошумящий усилитель позволяет отказаться от использования внешнего.

Учитывая полную совместимость модулей SIM868 и SIM868E, в данной статье не будут рассматриваться общие моменты касательно режимов работы, питания, интерфейсов и т. д. Они были подробно изложены в [3] и также применимы к модулю SIM868E.

 

Спутниковая навигация в SIM868E

Как было отмечено в [3], GSM и навигационные части модулей SIM868 и SIM868E имеют отдельные шины питания. Это связано с тем, что внутри модуля они независимы друг от друга. Поэтому возможны два режима работы:

  • независимый, когда работа с GSM ведется через UART1 (UART2), а с навигационной частью через GNSS_UART;
  • совместный (All-in-One), когда весь обмен информацией и управление, в т. ч. GNSS-частью, ведется через UART1 GSM-части.

Первый режим фактически является аналогом работы с дискретными модулями сотовой связи и навигации. При таком способе организации работа ведется по различным последовательным портам: UART1 и UART2 (опционально) используются для АТ-команд, GNSS_UARTвыдача NMEA-данных, а также обработка PMTK- и PSIM-команд.

Чтобы реализовать второй режим, потребуется внести ряд изменений в плату:

  • соединить UART2 GSM-части с GNSS_UART для обмена данными;
  • соединить выводы GPIO1 и GNSS_EN через резистор 10 кОм для управления включением/выключением навигации.

Схема для обеспечения All-in-One представлена на рис. 2.

Структурная схема для работы в режиме All-in-One

Рис. 2. Структурная схема для работы в режиме All-in-One

Кроме описанных выше возможностей, при работе с модулем в совместном режиме появляется возможность обновлять программное обеспечение (ПО) навигационной и GSM-частей одновременно с помощью USB, загружать EPO (таблицы аппроксимированных эфемерид) и управлять GNSS-частью [4] через основной UART.

Все управление в режиме All-in-One происходит с помощью АТ-команд, пример работы с основными из них:

AT+CGNSPWR=1 // Включение навигационной части

OK

AT+CGNSINF // Получение данных из последнего NMEA-пакета

+CGNSINF: 1,1,20170821151419.000,59.897274,30.252513,16.902,0.00,275.4,2,,1.9,2.1,0.9,,9,10,,,45,, // Выдаются основные параметрыстатус GNSS, определены ли местоположение, время, координаты, скорость, количество спутников и т. д.

AT+CGNSURC=5 // Автоматическая выдача URC-сообщений с навигационными данными, параметр команды отвечает за частоту появления соответствующих сообщений

OK

+UGNSINF: 1,1,20170821151443.000,59.897274,30.252513,16.902,0.00,275.4,2,,1.9,2.1,0.9,,11,10,,,47,,

AT+CGNSURC=0 // Отключение

AT+CGNSTST=1 // Команда для вывода NMEA-данных напрямую

OK

$GNGGA,É

$GPGSA,...

É

AT+CGNSTST=0

AT+CGNSCMD=0,"$PMTK605*31"// Отправка PMTK-команд, в данном случаехолодный старт

OK

 

RAIM

Новой функцией, введенной во все навигационные (линейка SIM68x, SIM33ELA), а также комбинированные (SIM868E и SIM868) решения SIMCom Wireless Solutions, стал автономный контроль целостности приемника (Receiver Autonomous Integrity Monitoring, RAIM). Принцип его работы основан на том, что, когда навигационному приемнику доступно больше спутников, чем необходимо для вычисления место­положения (т. е. информация избыточна), полученные дополнительные псевдоизмерения используются для оценки целостности навигационных сигналов. Если в процессе работы были обнаружены измерения, несовместимые с рассчитанными координатами позиции, они исключаются из расчета навигационного решения, при этом модуль продолжает работу без прерывания.

Технология RAIM является обязательным требованием для систем, где важно обеспечить надлежащий уровень безопасности, например в терминалах системы ЭРА-ГЛОНАСС, для которых его наличие является обязательным требованием [5].

Факт срабатывания RAIM отражен в пакете $—GBS, имеющем формат

$--GBS,m1,f2,f3,f4,d5,f6,f7,f8*cc,

где: m1– время UTC соответствующего связанного GGA-сообщения; f2-f4 – ожидаемые ошибки в определении широты, долготы, высоты над уровнем моря, [м]; d5 – ID не валидного спутника; f6-f8 – оценки смещения.

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

 

Bluetooth 3.0 vs 4.0

Стандарт Bluetooth 4.0 (Bluetooth Core Specification [6]) определяет две основные технологии передачи данных: Bluetooth BR/EDR и Bluetooth Smart. Первая технология получила широкое распространение в устройствах общего применения, где требуется большая скорость и/или потоковая передача данных. Вторая (также известная как Bluetooth Low Energy), наоборот, была специально разработана для решений на батарейном питании, таких как датчики, мониторы сердечного ритма и т. п., где передаются данные на небольшой скорости с большим временем сна между сеансами передачи для экономии заряда.

Частотное распределение каналов для Bluetooth

Рис. 3. Частотное распределение каналов для Bluetooth

К основным отличиям технологий можно отнести:

1.   Физический канал. В BR/EDR используются 79 каналов в диапазоне 2400-2483,5 МГц. В случае Bluetooth Smart – 40 каналов в том же частотном диапазоне, при этом каналы 37, 38 и 39 являются рекламными, т. е. используются для синхронизации (рис. 3).

2.   Энергопотребление. Основная особенность BLE заключается в том, что пользователь может гибко настроить приложение, чтобы управлять интервалами выхода на связь, тем самым позволяя конечному устройству работать месяцами и даже годами от обычной батарейки таблеточного типа.

3.   Топология сети. BR/EDR поддерживает Piconet, которая является топологией звезда: к одному ведущему устройству (Master) подключаются подчиненные (Slave). Также возможна реализация, когда одно и то же устройство может выступать в двух ролях (Master/Slave) в разных сетях Piconet, используя временное разделение (Scatternet). Структура таких сетей показана на рис. 4. В случае BLE устройство поддерживает т. н. двойной режим. Оно может одновременно выступать как в роли центрального устройства (инициализация установки соединения), так и в роли периферийного (которое принимает эти запросы).

Возможные варианты топологии сети Bluetooth BR/EDR

Рис. 4. Возможные варианты топологии сети Bluetooth BR/EDR

4.   Разработка. Технология Bluetooth Smart является более гибкой с точки зрения разработчика, т. к. кроме профилей, определенных Bluetooth SIG, есть возможность создавать собственные, подстраивая устройство под конкретную задачу.

5.   Образование пары. Образование парыобязательный процесс для взаимодействия BR/EDR-устройств, но в случае BT Smart процесс становится опциональным и может не использоваться для простых приложений.

6.   Пропускная способность: максимальная пропускная способность BT Smart составляет 1 Мбит/c, но зависит от конкретного режима работы. Максимум для BR/EDR более 2 Мбит/c, что позволяет использовать такие устройства для передачи аудио высокого качества или других типов потоковых данных, где требуется большая пропускная способность.

7.   Профили. Основной профиль для BLEGATT (Generic Attribute), на нем базируются другие профили. Для BR/EDR существует множество профилей, определенных Bluetooth SIG, и не все из них имеют аналог для Bluetooth Smart, среди них: HFP (профиль для подключения гарнитуры), A2DP (передача аудио), OBEX (обмен объектами), VDP (передача видео) и FTP (передача файлов). Однако работы в данном направлении ведутся, и возможно, со временем их удастся реализовать для BLE.

Комбинированный модуль SIM868E объединяет в себе обе технологии Bluetooth BR/EDR и SMART, поэтому является устройством Bluetooth Smart Ready (в отличие от BR/EDR, которым являлся SIM868 и остальная линейка SIM800x).

Внутри модуля реализованы два стека для работы с соответствующими технологиями, что позволяет использовать преимущества каждой из них. Работа со стеком Bluetooth BR/EDR была подробно описана в [7] и аналогична для всех модулей SIMCom Wireless Solutions SIM800x/SIM868x. Поэтому в данной статье рассмотрим особенности работы со стеком Bluetooth Smart (BLE).

 

Стек BLE в модуле SIM868E

Преимущества технологии Bluetooth Smart, описанные выше, могут быть использованы в конечных М2М-устройствах для различных целей: обмена данными, считывания параметров, оповещения о различных событиях и т. д.

Рассмотрим организацию стека BLE (рис. 5). Уровень приложениясамый высокий уровень стека протоколов; CM, GATT (профиль общих атрибутов) и ATT (профиль общих атрибутов) используются для обнаружения сервисов; GAP (профиль общего доступа) используется для обнаружения устройства и установки соединения; SM (менеджер безопасности) отвечает за установку пары и обмен ключами, а также предоставляет функции криптографии; L2CAP (протокол логического соединения и адаптации) обеспечивает обмен данными, направляя их в протоколы верхнего уровня (SM, ATT); отвечает за мультиплицирование и разбивку данных на более мелкие сегменты для отправки в канальный уровень и обратные операции; HCI – хост-интерфейс для обмена между хостом и контроллером.

Если говорить непосредственно о профилях BLE, то они также имеют несколько уровней:

  • Верхний уровеньпрофиль GATT (сервер). В себе он может содержать ряд сервисов [8]. Как пример Link Loss, который определяет поведение при разрыве соединения.
  • Каждый из сервисов содержит в себе ряд характеристик, содержащих информацию. Для упомянутого выше Link Loss характеристикой является Alert Level, определяющий, какой уровень тревоги получает устройство при потере связи. При этом информация из характеристик может быть закрыта, и для клиентского устройства потребуется разрешение со стороны сервера.

Команды для работы с BLE-стеком описаны в [9]. Для примера рассмотрим работу модуля SIM868E с использованием различных профилей. Для наглядности в качестве клиентского устройства используется мобильное приложение.

 

Встроенные профили BLE

Стандарт Bluetooth в части BLE не только позволяет создавать собственные профили на основе GATT, но также определяет ряд стандартных [10], со строго определенными сервисами и характеристиками. Так как требования к ним стандартизированы, SIMCom Wireless Solutions реализовала наиболее востребованные, для более простого использования, без необходимости задания всех параметров пользователем. Рассмотрим основные из них.

Find Me Profile (FMP)

Данный профиль определяет поведение устройства при нажатии кнопки на спаренном клиентском устройстве. Из названия становится понятным его основное назначение: обнаружение устройства, которое было утеряно.

AT+BTPOWER=1 // Включение Bluetooth

OK

AT+BLEADDR? // Информация о MAC-адресе устройства

+BLEADDR: 0,d2:fe:e6:1b:14:f4

OK

AT+BLEFMP=1 // Активация профиля FMP

OK

+BLEFMPCON: 1,4b:7b:b8:e2:64:aa // Уведомление о присоединенном устройстве

Теперь рассмотрим работу со стороны клиентского устройства:

SIM868E

При соединении с устройством мы видим все задействованные профили и сервисы. Сервис, с которым возможна непосредственная работа,IMMEDIATE ALERT, он имеет одну характеристику, ALERT LEVEL. Свойство WRITE_NO_RESPONSозначает, что возможно изменить значение характеристики без подтверждения со стороны сервера (SIM868E). Сама характеристика может принимать три значения: No Alert/Mild Alert/High Alert. При задании одной из них модуль сразу фиксирует изменения. То есть этот профиль может быть использован для быстрого оповещения, вызывая необходимую реакцию со стороны устройства, где установлен SIM868E:

+BLEFMPWREQ: 4b:7b:b8:e2:64:aa,0 // 0No Alert

+BLEFMPWREQ: 4b:7b:b8:e2:64:aa,1 // 1Mild Alert

+BLEFMPWREQ: 4b:7b:b8:e2:64:aa,2 // 2High Alert

+BLEFMPCON: 0,4b:7b:b8:e2:64:aa // Уведомление о разрыве соединения

AT+BLEFMP=0 // Деактивация профиля FMP

OK

Proximity (PXP)

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

AT+BTPOWER=1 // Включение Bluetooth

OK

AT+BLEPXP=1 // Активация PXP-профиля

OK

+BLEPXPCON: 1,50:70:d1:2d:32:cf // Уведомление о присоединенном устройстве

На стороне клиента профиль представлен следующими сервисами:

SIM868E

Сервис TX POWER может быть использован для считывания уровня сигнала. Это позволит определить факт увеличения расстояния между устройствами и с помощью IMMEDIATE ALERT послать мгновенное оповещение об этом событии. Сервис LINK LOSS определяет уровень тревоги со стороны сервера при разрыве.

+BLEPXPLLAT: 47:f9:d7:9c:e5:62,0

+BLEPXPLLAT: 47:f9:d7:9c:e5:62,1

+BLEPXPLLAT: 47:f9:d7:9c:e5:62,2 // URC, связанные с сервисом IMMEDIATE ALERT (мгновенные оповещения)

+BLEPXPDISAT: 50:70:d1:2d:32:cf,1 // URC при разрыве соединения, перед этим характеристика в сервисе LINK LOSS была установлена в 1Mild Alert

AT+BLEPXP=0 // Деактивация PXP-профиля

OK

SPP BLE

Этот профиль не определен Bluetooth SIG, но был добавлен для обеспечения простого способа обмена данными.

AT+BTPOWER=1 // Включение Bluetooth

OK

AT+BLESPP=1 // Активация профиля SPP

OK

+BLESPPCON: 1,62:20:d8:3f:af:e3 // Уведомление о присоединенном устройстве

В данном профиле сервис для работы один, и он пользовательский (Custom), т. е. не определен Bluetooth SIG:SIM868E

Сервис имеет две характеристики для отправки данных на сервер (W) и считывания (R). Обмен ведется в HEX-формате.

+BLESPPW: 62:20:d8:3f:af:e3,74657374 // Отправляем test в модуль, задавая значение для данной характеристики

AT+BLESPPN="74657374"// Команда задает значения характеристики, с которой ведется считывание

OK

На клиентском устройстве включен параметр Notify, поэтому измененное значение сразу отображается (поле hex):SIM868E

+BLESPPCON: 0,62:20:d8:3f:af:e3 // Уведомление о разрыве соединения

AT+BLESPP=0 // Деактивация профиля SPP

OK

 

Создание пользовательского профиля и управление соединением

Одной из ключевых особенностей технологии BLE является возможность реализации пользовательских профилей на основе GATT. Для примера будет реализован пользовательский профиль, позволяющий обмениваться данными с подтверждением на серверной стороне.

AT+BTPOWER=1 // Включение Bluetooth

OK

AT+BLEADDR? // Информация о MAC-адресе устройства

+BLEADDR: 0,d2:fe:e6:1b:14:f4

OK

AT+BLESREG // Регистрируем GATT-сервер, в этот же момент начинается процесс рекламы (advertising), и устройство становится видимым

+BLESREG: 1,ABCDEFF0 // 1ID, ABCDEFF0имя

OK

AT+BLESSAD=1,"73657276696365",15,1,1 // Добавляем сервис, в данном примере: 1
ID сервера, 736..5имя, 15количество идентификаторов сервиса, 1ID сервиса, 1идентификатор сервиса. Одному и тому же UUID могут быть присвоены сразу несколько сервисов, и данные параметры позволяют их разграничить (аналогичная ситуация и с характеристиками внутри сервисов)

+BLESAD: 1,ABCDEFF0,73657276696365,1,1,256 // Сервис успешно создан, 1ID сервиса

OK

AT+BLESSC=1,"6368617231",1,10,17 // Добавляем характеристику сервису: 1ID сервиса, 636É1UUID характеристики, 1ID характеристики, 10значения данной характеристики (в приведенном примеречтение и запись, подробнее см. [9]), 17
доступ (чтение и запись с подтверждением [10])

+BLESSC: 1,ABCDEFF0,256,6368617231,1,258 // Характеристика успешно добавлена

OK

AT+BLESSC =1,"6368617231",1,16,17 // Добавляем еще одну характеристикуNotify (оповещение)

+BLESSC: 2,ABCDEFF0,256,6368617231,1,260 // Характеристика успешно добавлена

OK

AT+BLESSD=1,"0000",1,0 // Добавим дескриптор к сервису

+BLESSD: 1,ABCDEFF0,256,6F6E65,1,261

OK

AT+BLESSSTART=1,0 // Команда для запуска сервера, 1ID, 0транспортный уровень (LE)

+BLESSSTART: 1,ABCDEFF0,256 // Сервер успешно создан

OK

+BLESCON: 1,ABCDEFF0,7d:18:3a:e5:d8:36,1 // Уведомление о подключении

На клиентской стороне созданный профиль представлен следующими сервисами:

SIM868E

+BLESRREQ: ABCDEFF0,1,17,7d:18:3a:e5:d8:36,258,0,0 // Запрос на чтение характеристики

AT+BLESRSP=0,AABB // Присваиваем значение

+BLESRSP: 0,ABCDEFF0,1,258 // Успешно присвоено, в клиентском устройстве оно отображается в поле hex

OK

SIM868E

+BLESWREQ: ABCDEFF0,1,18,7d:18:3a:e5:d8:36,258,42424141,1,0,0 // Запрос на запись параметра

AT+BLESRSP =1 // Разрешение на перезапись

+BLESRSP: 0,ABCDEFF0,1,258 // Успешно, поле hex изменило свое значение

OK

SIM868E

+BLESCON: 0,ABCDEFF0,4a:aa:10:fc:62:8d,1 // Уведомление о разъединении

AT+BLESTATUS? // Статус всех активных профилей BLE

+BLESTATUS: 1

+BLESTATUS: 1,0,ABCDEFF0,53:2e:1e:af:9d:51

OK

AT+BLEDISCONN=1 // Разрываем соединение

+BLESCON: 0,ABCDEFF0,53:2e:1e:af:9d:51,1

OK

AT+BLESLSTOP=1 // Останавливаем процесс рекламы (advertising)

+BLESLSTOP: 1,ABCDEFF0

AT+BLESTATUS? // Статус всех активных профилей BLE

+BLESTATUS: 1 // Соединение закрыто

OK

AT+BTPOWER=0 // Отключение Bluetooth

OK

 

Заключение

Модуль SIM868E, выполненный на обновленном чипсете от MediaTek, предоставляет новые возможности для производителей М2М-оборудования. Поддержка технологий Bluetooth BR/EDR и Low Energy, улучшенная стабильность и качество работы навигационной части, наличие функционала RAIM делают его одним из самых доступных и востребованных решений для приложений, где требуются компактные размеры и широкий функционал.

Литература
  1. http://www.simcomm2m.com
  2. http://www.mt-system.ru
  3. Стукало С. Модуль SIM868: функционал и практические аспекты использования // Беспроводные технологии. 2016. No 3.
  4.  SIM800 Series_GNSS_Application Note
  5. ГОСТ33464-2015«Глобальная навигационная спутниковая система.Система экстренного реагирования при авариях. Устройство/система вызова экстренных оперативных служб. Общие технические требования».
  6.  www.bluetooth.com
  7.  Стукало С., Шпотак Л. Функционал Bluetooth в GSM-модулях серии SIM800x // Беспроводные технологии. 2016. No 2.
  8. www.bluetooth.com/specifications/gatt/services
  9. SIM800 Series Bluetooth Application Note
  10. www.bluetooth.com/specifications/gatt

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

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