Обзор возможностей ПО SerialStar

7 апреля

системы безопасностиучёт ресурсовсветотехникаинтернет вещейСМКстатьяинтегральные микросхемыбеспроводные технологиисредства разработки и материалы868 МГц433 МГцАСКУЭwireless

Александр Калачев (г. Барнаул)

Прошивка SerialStar для радиомодулей MBee производства компании СМК – надежное программное решение для систем автоматизации учета расхода ресурсов, систем управления освещением и охранно-сигнальных систем.

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

Одним из удобных решений автоматизации систем учета является организация беспроводной сети. Плюсы такого решения:

  • минимальное вмешательство в существующую инфраструктуру;
  • отсутствие необходимости в прокладке кабельной системы;
  • возможность перемещать или переносить точки учета с одного места на другое.

Есть, конечно, и усложняющие факторы:

  • необходимость надежно обеспечить требуемую дальность связи;
  • обеспечение надежной защиты от перехвата или подмены сообщений;
  • в большинстве случаев – потребность обеспечить длительное время работы от автономных (а часто – и малогабаритных) источников питания.

Дополнительное требование – стоимость решения не должна превышать аналогичную для традиционных проводных методов учета.

Обеспечить необходимую дальность при приемлемом потреблении (и разрешенной мощности для нелицензируемых частотных диапазонов) возможно, если использовать решения для частот менее 1 ГГц – так называемый субгигагерцевый диапазон. В РФ можно пользоваться диапазонами частот 433 и 868 МГц (более низкочастотные диапазоны из разрешенных не стоит рассматривать ввиду значительных габаритных размеров антенн). Относительно приемлемую защиту данных можно обеспечить шифрованием, например, использовать шифрование самих данных плюс шифрование передачи по радио (многие трансиверы и беспроводные контроллеры обладают такой опцией).

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

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

  • модулей беспроводной связи;
  • микропроцессорных модулей;
  • модулей питания и прочих.

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

Решения компании СМК

Компания «Системы, модули и компоненты» (СМК) является одной из немногочисленных отечественных производителей, поставляющих беспроводные модули собственного производства [1]. Среди ее решений – модули для беспроводной связи, работающие в диапазонах 868 МГц и 2,4 ГГц (ISM). Информация о них сведена в таблицу 1.

Таблица 1.Беспроводные модули производства СМК

Внешний вид модуля Параметры
MBee v3.0 – миниатюрный радиомодуль с печатной антенной, имеющий экономичное потребление, диапазон рабочих частот 2,4 ГГц:

· настраиваемая выходная мощность передатчика до 4,5 дБм;
· чувствительность приемника до -97 дБм;
· напряжение питания 2,0…3,6 В;
· потребляемый ток в режиме передачи 30 мА;
· ток в режиме приема до 24 мА;
· ток в режим IDLE 1,6 мкА;
· ток в режиме сна 0,4 мкА.

MBee v2.1 – радиомодуль, работающий в диапазоне 2,4 ГГц с РЧ-усилителем:

· настраиваемая выходная мощность передатчика до 21 дБм;
· чувствительность приемника до -103 дБм;
· напряжение питания 2,0…3,6 В;
· потребляемый ток в режиме передачи 130 мА (выходной мощности +14 дБм);
· ток в режиме приема 31 мА;
· ток в режиме IDLE 1,6 мкА;
· ток в режиме сна 0,4 мкА.

MBee-S1G-3.0 – модуль диапазона 868 МГц:

· настраиваемая выходная мощность передатчика до 12 дБм;
· чувствительность приемника до -110 дБм;
· напряжение питания 1,8…3,6 В;
· потребляемый ток в режиме передачи до 36 мА;
· ток в режиме приема до 16 мА;
· ток в режиме IDLE 2,2 мкА;
· ток в режиме сна 1,2 мкА.

MBee-868-2.0 – радиомодули субгигагерцевого диапазона (868 МГц) со встроенным РЧ-усилителем. Субгигагерцевый диапазон частот, высокая выходная мощность и наличие РЧ-усилителя помогают добиться устойчивой связи в зоне прямой видимости в радиусе нескольких километров, не используя дополнительные ретрансляторы:

· программируемая выходная мощность передатчика до 27 дБм;
· чувствительность приемника до -116 дБм;
· напряжение питания 1,8…3,6 В;
· потребляемый ток в режиме передачи до 200 мА;
· ток в режиме приема до 50 мА;
· ток в режиме IDLE 2,2 мкА;
· ток в режиме сна 1,2 мкА.

Модули, выполненные в форм-факторе популярного семейства Xbee с рядом фирменных программных настроек, являются совместимыми повыводно, включая команды управления.

Встраиваемое программное обеспечение «SerialStar»

Встраиваемое ПО SerialStar [2, 3], или просто прошивка SerialStar – достаточно универсальный продукт, предназначенный для обширного перечня прикладных задач. Начинающим программистам эта прошивка дает возможность с легкостью приступить к созданию беспроводных сетей. Продвинутые специалисты пользуются SerialStar словно «швейцарским ножом» для решения практически любых задач по скорой разработке и развертыванию беспроводных сетей. Развитой интерфейс и многочисленные API дают возможность скорого интегрирования беспроводных сетей в системы сбора и обработки данных.

Прошивка поддерживает до 25 линий ввода-вывода (таких как тревожные, счетные и прочие), UART, до 5 аналоговых входов, до 4 каналов ШИМ, имеется возможность переназначать линии цифровой периферии практически на любой физический выход радиомодуля.

Также есть все необходимое для построения сети сбора данных: средства фильтрации пакетов, настройка центральной частоты, настройка выходной мощности и битовой скорости, а также возможность шифрования данных.

Для настройки радиомодулей MBee-868, имеющих ПО SerialStar, может применяться утилита MB-Studio. Возможна настройка узлов – как подключенных локально, так и удаленных. Вы можете даже без изучения документации о прошивке выполнить настройки:

  • параметров сети;
  • центральных радиочастот каналов;
  • режимов сна;
  • режимов работы линий GPIO.

Текущая версия прошивки ориентирована на решение задач автоматизации систем учета и управления устройств ЖКХ, таких как:

  • получение информации, поступающей от счетчиков воды, газа, электричества и прочих приборов учета энергоресурсов;
  • беспроводное управление освещением. точностью (до четырех ШИМ-каналов);
  • пожарная и охранная сигнализация с возможностью подключения датчиков с цифровыми и аналоговыми выходами;
  • замена проводного канала связи в системах промышленной автоматизации и многое другое.

Поддерживаются топологии связей «точка-точка» (замена проводного канала) и «звезда».Весьма интересным моментом является возможность организовывать в рамках сети SerialStar подобия виртуальных сетей (VLAN). Достигается это за счет системы адресации: адрес устройства в сети SerialStar составляет пять байт. Он имеет три части:

  • ID сети – старший байт физического адреса обрабатывается аппаратно и предназначается для задания нескольких сетей различного назначения, работающих на одной территории;
  • ID системы, адрес виртуальной сети в пределах единой физической;
  • ID модема (узла/устройства), который идентифицирует сетевой узел внутри данной системы с одними и теми же ID сети и ID системы.

Контролирует назначение адресов системный администратор беспроводной сети – узлы не проверяют верность назначения адресов или дублирование, API SerialStar также не предоставляет возможностей автоматического контроля настроек адресов или ролей узлов.

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

К любому из узлов сети по UART-интерфейсу можно подключить хост-контроллер – ПК, микроконтроллер и тому подобное. Исходя из настроек узла (в документации СМК – модема), определяется его взаимодействие с хост-контроллером (хост-системой). Режим взаимодействия узла SerialStar и хост-контроллера определяется только для него и не зависит от того, в каких режимах взаимодействуют с хостами другие узлы сети.

Некоторые возможные конфигурации сетей SerialStar представлены на рисунке 1.

Рис. 1. Примерные возможные конфигурации сетей и взаимодействия узлов на базе прошивки SerialStar

Рис. 1. Примерные возможные конфигурации сетей и взаимодействия узлов на базе прошивки SerialStar

Узел с хост-контроллером имеет следующие рабочие режимы:

  • прозрачный режим, при котором вся полученная по UART информация сразу передается по радиоканалу (адрес получателя будет зависеть от текущих настроек узла, по умолчанию – 0xFFFF, то есть широковещательная рассылка);
  • с помощью командного режима происходит управление узлом посредством AT-команд;
  • в пакетном режиме между узлами и хост-системой осуществляется обмен данными по определенной схеме: информация инкапсулируется в пакеты, которые дополнительно содержат служебную информацию, кроме того, данный режим бывает однонаправленным и двунаправленным;
  • пакетный режим с escape-символами аналогичен пакетному режиму, но в выходной поток дополнительно вводятся специальные символы, которые упрощают разбор потока хост-системой. Данный режим востребован в системах с большим трафиком данных и существенно упрощает процесс разбора буфера входного потока хост-контроллера).

Модули MBee с прошивкой SerialStar работают в прозрачном режиме. Переход в командный режим (из любого режима) осуществляется:

  • посредством нажатия системной кнопки (или при подаче на ее вход импульса напряжения низкого уровня);
  • с помощью передачи строки символом «+++» в течение двух секунд с паузой между символами не менее двух символьных интервалов.

Выйти из командного режима можно посредством специальных команд, как и перевести модуль назад в пакетный режим.

Четырехкратное нажатие системной кнопки в течение двух секунд (или 4 импульса низкого напряжения) откатит беспроводной модуль к заводским настройкам.

Формат АТ-команд SerialStar прост. Он включает в себя:

  • обязательный префикс «АТ», за которым может следовать до трех разделительных пробелов;
  • двухсимвольный ASCII – командный код;
  • числовые параметры команды (опционально), количество которых зависит от команды, возможно задание параметров в десятичном или шестнадцатеричном варианте (с префиксом «0x»), могут быть отделены от кода команды пробелами общим количеством не больше трех;
  • символ возврата каретки <CR>.

Если команда завершена успешного, появляется сообщение «OK». Если команда введена без параметров — будет возвращено текущее значение запрошенных настроек.

АТ-команды SerialStar разделены на несколько групп по функциональному признаку:

  • специальные команды – управление настройками узла, режимами работы узла, чтением текущих настроек и версий программного обеспечения, заданием ключей шифрования;
  • команды настройки сетевых параметров – настройка сетевых, системных и локальных идентификаторов узла, настройки получателя в прозрачном режиме, настройки ретрансляции пакетов;
  • команды настройки радиочастотных параметров – настройка выходной мощности, текущих частот и частотных каналов;
  • команды управления режимами сна -оптимизация энергопотребления плюс возможность получения состояния удаленных узлов без хост-систем;
  • команды управлениями линиями ввода-вывода – настройка режимов работы выводов и их параметров (команды однотипные, но привязаны к условным сторонам модуля: левая (L*), правая (R*) и нижняя (D) (рисунок 2).

Рис. 2. Распиновка выводов модулей MBee и их функции по умолчанию

Рис. 2. Распиновка выводов модулей MBee и их функции по умолчанию

Узлы сети SerialStar могут находиться или все время в активном режиме или в одном из режимов пониженного потребления, ток потребления при этом составляет порядка 2…4 мкА. Среди последних:

  • режим сна со внешним управлением – состояние узла зависит от уровня на выводе SLEEP REQUEST;
  • циклический режим – узел периодически выходит из режима пониженного энергопотребления, находится некоторое время в активном режиме, переходит обратно в спящий (продолжительность периодов активности/сна настраивается посредством АТ-команд);
  • комбинированный режим – по факту циклический режим с возможностью реагирования на внешнее управление.

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

Узел также может получить данные о состоянии выводов удаленного узла запросом через команду IO, ответом на которую будет фрейм с текущим состоянием линий ввода/вывода требуемого узла.

В пакетном режиме передача данных осуществляется в виде так называемых фреймов (рисунок 3).

Рис. 3. Формат обмена данными хоста и узла в пакетном режиме

Рис. 3. Формат обмена данными хоста и узла в пакетном режиме

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

  • 0x01, 0x10 – передача данных удаленному узлу;
  • 0x07 – AT-команда локальному модему, исполняемая немедленно после приема;
  • 0x08 – AT-команда локальному модему;
  • 0x09 – AT-команда локальному модему;
  • 0x0F – передача данных удаленному узлу без байта Options;
  • 0x17 – AT-команда удаленному модему;
  • 0x81 – принятые данные от удаленного узла;
  • 0x82 – принятые данные от удаленного узла. Расширенный формат;
  • 0x83 – принятые данные о текущем состоянии линий I/O от удаленного узла;
  • 0x84 – принятые данные о текущем состоянии линий I/O от удаленного узла. Расширенный формат;
  • 0x87, 0x88, 0х89 – статус выполнения AT-команд;
  • 0x8A – статус модема;
  • 0x8B – статус отправки пакета;
  • 0x8C – подтверждение доставки пакета;
  • 0x8F – принятые данные от удаленного узла;
  • 0x90 – принятые данные от удаленного узла. Расширенный формат;
  • 0x97 – ответ на AT-команду удаленному модему;
  • 0x98 – ответ на AT-команду удаленному модему. Расширенный формат.

Оригинальным способом определить статус удаленного узла является команда проброса портов. При пробросе цифровых портов состояние цифровых выходов на вызывающем модуле устанавливается согласно состоянию цифровых входов (с тем же номером вывода) удаленного модуля. При пробросе аналоговых портов рабочий цикл ШИМ на цифровых выходах принимающего модуля устанавливается пропорциональным уровням напряжений на соответствующих аналоговых входах передающего модуля.

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

Пример.

1) Есть два узла – №1 и №2. Узел №1 шлет пакет 0x83, в котором содержится информация о текущем состоянии линий I/O. Если на узле №2 одна или несколько линий настроены как PORT PASSING, то данные линии будут повторять уровень цифровых входов узла №1 с такими же номерами линий.

2) Узел №1 может запросить состояние выходов на модуле №2. Он пришлет 83-й пакет и модуль №1 «отзеркалит» состояние его линий на тех выводах, где настроен PORT PASSING.

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

Расширение диаметра (территориального охвата сети) возможно за счет функции ретрансляции пакетов. Любой из узлов сети SerialStar способен работать как ретранслятор. Наличие ретрансляторов дает возможность значительно увеличить диаметр. Для включения данной функции необходимо при помощи AT-команды «DM» (DeviceMode) установить второй бит равным единице. Чтобы не изменить прочие параметры, управляемые этой командой, рекомендуется предварительно считать действующее значение параметра, установить в считанном байте второй бит и записать обратно.

Узел, предназначенный для ретрансляции, должен всегда быть в режиме приема, поэтому спящий режим нужно переключить, задав значение параметра AT-команды «SM» равным 0. Активация режима ретрансляции не влияет на другие функции узла, включая функции цифровых и аналоговых линий ввода/вывода, UART и так далее.

Все ретрансляторы сети используют статическую маршрутизацию. Маршруты для каждого ретранслятора определяются на этапе развертывания сети и не меняются автоматически. Пересылка пакетов на ретрансляторах определяется всего двумя параметрами – адресами «вышестоящего» и «нижестоящего» ретрансляторов, которые задаются АТ-командами ATUR и ATDR соответственно (рисунок 4).

Рис. 4. Сеть SerialStar с веткой ретрансляторов

Рис. 4. Сеть SerialStar с веткой ретрансляторов

Экосистема разработчика

Сегодня разработчику доступен широкий выбор вспомогательных устройств, выпущенных СМК, позволяющих легко интегрировать модули MBee в систему, подключить их к хост-контроллеру или ПК.

Таблица 2. Оценочные платы и преобразователи интерфейсов для модулей MBee

Внешний вид оценочной платы Описание
MB-USBridge – конвертер USB-UART. Может быть использован в качестве платформы для соединения радиомодулей MBee с хост-системой.
MB-Tag предназначен для использования совместно с беспроводными радиомодулями MBee в качестве узла с автономным (батарейным) питанием.
MB-Serial – конвертер RS-232/485-UART, предназначенный для подключения к компьютеру либо другому устройству радиомодулей MBee.
RFSerialBridge – беспроводной модем/конвертер последовательных интерфейсов.

Для макетирования разработчикам предлагается набор программных библиотек, облегчающих применение модулей MBee в экосистеме Arduino (а ее, кроме микроконтроллеров и плат Arduino, поддерживают более десятка различных платформ, включая микроконтроллеры производства STMicroelectronics, Texas Instruments, Microchip).

Взаимодействие с хост-системой (ПК или одноплатным компьютером под управлением Linux) может быть легко реализовано на базе библиотеки python-mbee, от хост-системы требуется лишь поддержка интерпретатора Pythonверсии 3.4 и выше.

Python-mbee подойдет для:

  • центральных контроллеров автономных систем управления и сбора данных;
  • сетевых шлюзов, связывающих беспроводную часть сети c удаленными системами управления, обработки и накопления данных;
  • шлюзами, предназначенными для связи беспроводной сети с сетью Интернет (взаимодействие с облачными сервисами).

Заключение

В целом можно отметить следующее –, несмотря на то, что прошивка SerialStar для модулей MBee является по факту закрытым проприетарным решением, она удачно вписывается в сегмент решений для систем автоматизации учета расхода ресурсов (воды, электричества, газа), работающих практически «из коробки». Также SerialStar применима для систем управления освещением и охранно-сигнальных систем.

Интересными опциями являются разделение сети на логические сегменты, возможности расширения радиуса сети за счет ретрансляции пакетов, возможности управления и передачи данных удаленным узлам сети.

Литература

  1. Радиомодули MBee-868: доступ в мир интернета вещей
  2. Создавайте безопасные ZigBee-сети на модулях MBee
  3. Программа MB-Studio упрощает разработку беспроводной сети 868 МГц
  4. Новая библиотека C++ для модулей MBee-868
  5. ECO-Gate обеспечивает доступ к модулям MBee из любой точки мира
  6. Вебинар «Применение микроконтроллеров STM32 и MSP430 в беспроводных узлах IoT в связке с радиомодулями MBee-868»
  7. Программный драйвер для простого подключения радиомодулей MBee к MSP430 и STM32

Дополнительные материалы

Вебинар

Новости

Статьи

•••

Наши информационные каналы

О компании Системы, модули и компоненты

Российская компания-разработчик ООО «Системы, модули и компоненты» (CMK) начала свою деятельность в 2007 году и специализируется на разработке маломощных беспроводных модулей для всех нелицензируемых диапазонов. Компания CMK имеет свой собственный штат инженеров, готовых оптимизировать свою продукцию под любое применение конечного изделия, при этом срок разработки не превышает двух – трех недель. Также на сайте производителя загружены и находятся в свободном доступе ряд стандартных прошивок п ...читать далее

Товары
Наименование
MBee-868-2.0-WIRE-SOLDER (СМК)
MBee-868-2.0-SMA-PLS12 (СМК)
MBee-868-3.0-WIRE-SOLDER (СМК)
MBee-868-2.0-WIRE-PLS10 (СМК)
MBee-868-3.0-WIRE-PLS10 (СМК)
MBee-868-3.0-RPSMA-SOLDER (СМК)
MBee-868-3.0-UFL-PLS10 (СМК)
MBee-868-3.0-SMA-PLS10 (СМК)
MBee-868-3.0-UFL-PLS12 (СМК)
MBee-868-3.0-RPSMA-PLS10 (СМК)
BOOSTXL-MBEE868-1.1 (СМК)