LoRaWan - Решение для нового стандарта в телеметрии

Главная » Все публикации » Блог » LoRaWan - Решение для нового стандарта в телеметрии

Общее описание

Сеть «Smartiko» предназначена, в первую очередь, для решения задач телеметрии, не связанных с передачей больших объемов информации. Под телеметрической информацией подразумевается сбор и передача информации о состоянии любого рода датчиков или устройств, для которых достаточна полоса пропускания от 0.3 до 40 кбит/с. 

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

Решение представляет собой:

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

  • Сети базовых станций, обеспечивающих радиоинтерфейс с оконечными устройствами.

  • Центральной инфраструктуры управления сетью, обеспечивающей такие функции, как ОТА (Over-The-Air), активацию устройств, сквозное шифрование, передачу пакетов от/к устройствам и контроль параметров радиоканала.

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

  • Решение ориентировано в первую очередь на использование автономных оконечных устройств с собственным источником питания, с планируемым сроком службы до 7-10 лет. 

Существующая версия решения сети «Smartiko» базируется на радиоинтерфейсе, построенном на базе предлагаемых корпорацией Semtech энергоэффективных однокристальных трансиверов, реализующих модуляцию LoRa и базовых станций, построенных на baseband процессоре sx1301, обеспечивающем одновременную обработку множества радиоканалов.

С точки зрения радиоинтерфейса, решение использует не лицензируемый диапазон 868Мгц.


Радиоканал

Радиоканал на физическом уровне (OSI Layer I) строится на базе модуляции Lora, которая является проприетарной реализацией CSS (Chirp spread spectrum – разновидность линейно-частотной модуляции). Данный способ модуляции предполагает использование технологии расширения спектра, при которой данные кодируются широкополосными ЛЧМ-импульсами с частотой, увеличивающейся или уменьшающейся на некотором временном интервале.

В отличие от технологии прямого расширения спектра такое решение делает приемник устойчивым к отклонениям частоты от номинального значения и упрощает требования к тактовому генератору. С учетом максимальной разрешенной выходной мощности отдельных трансиверов бюджет канала связи составляет 168 дБ, что позволяет организовать гарантированную линию связи на расстояниях до 15 км в сельской местности и до 5 км в условиях плотной городской застройки.

Для сравнения: максимально возможная дальность передачи данных интеллектуальных приборов учета с использованием GFSK-модуляции составляет не более 1–2 км. Технология расширения спектра совместно с применяемой упреждающей коррекцией ошибок, восстанавливающей искаженные биты данных, позволяет повысить отношение сигнал/шум и обеспечить работу в условиях импульсных помех. Например, при использовании коэффициента расширения SF=12 демодулятор LoRa может работать при соотношении сигнал/шум на входе радиоприемного тракта равным –20 дБ (табл. 1).

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

LoRa-устройства стабильно функционируют в условиях воздействия сильных интерференционных помех от субгигагерцовых сигналов оборудования стандартов 4G/LTE. Так, уровень подавления внутриполосных интерференционных помех у SX1272 на 25 дБ лучше по сравнению с компонентами с частотной манипуляцией. Еще одной отличительной чертой являются превосходные селективные возможности приемников. Типовые значения соответствующих показателей будут рассмотрены далее применительно к конкретным устройствам.


Smartiko LoRa Модуляция/Демодуляция
Детальное описание PHY уровня приведено в AN.1200-22 (http://www.semtech.com/images/datasheet/an1200.22.pdf)


LoraWAN – MAC уровень

Если модуляция LoRa является, физическим уровнем (OSI layer 1), то LoRaWAN (Long Range Wide-Area Networks) – это MAC протокол канального уровня (OSI layer 2. Сеть LoRaWAN имеет простую топологию “звезда” (ретрансляторы и прямое взаимодействие между устройствами не предусмотрено). Для узлов сети характерно низкое энергопотребление, невысокая скорость обмена данными и большая дальность связи (15 км в сельской местности и 5км в плотной городской застройке).

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

В LoRaWAN сети шлюзы (базовые станции) передают зашифрованные данные, полученные от оконечных устройств на центральный сервер сети провайдера (Network Server) и далее на сервер приложений (App Server) сервис-провайдера, с которого данные поступают в конечную систему-потребитель.

В настоящий момент существуют две open source реализации стека LoRaWAN: первая разработана Semtech — LoRaMAC, а вторая IBM (LoRaWAN in C). Обе реализации используют универсальный HAL драйвер устройств, этот открытый LoRaWAN код портируется для применения в различном оборудовании. В реализации оконечных устройств Smartiko используется адаптированный к операционной системе uOS (переработанный) LoraMAC от Semtech.


LoraWan - оконечные устройства

Оконечные устройства LoRa являются элементами LoRaWAN сети, в которой они выполняют такие функции, как измерение, управление или контроль. Оконечные устройства располагаются удаленно и имеют, как правило, автономное питание. Используя сетевой протокол LoRaWAN, эти конечные точки могут быть настроены для связи с шлюзом LoRa (концентратором или базовой станцией). 

Данные в LoRaWAN сети могут передаваться в обе стороны, как от оконечных устройств к серверу, так и обратно. Точки передают данные не постоянно, а включают передачу лишь на некоторый промежуток времени (как правило на 1-5 секунд), по окончании которого открывается два временных окна для приема данных. Остальное время трансиверы оконечных устройств находятся либо в неактивном состоянии (sleep), либо в состоянии приема, в зависимости от класса устройства (A, B или С). 

Оконечные устройства могут работать как с одним, так и с несколькими шлюзами. Узлы могут работать в двух режимах: точка-точка, когда обмен происходит между оконечным устройством и шлюзом и в гибридном режиме, когда один из узлов подключен, с одной стороны, по радиоканалу к другим узлам, а с другой стороны, имеет проводное подключение к сети по TCP/IP и выступает в роли шлюза. Такой одноканальный мини-шлюз может обслуживать от одного до нескольких десятков оконечных устройств, которые будут конкурировать между собой за свободные тайм слоты мини-шлюза для приема и передачи данных. 

Класс А

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

Класс В

Оконечное устройство включает приемник по графику, заданному сервером. Сервер отправляет сообщения узлу согласно расписанию. В отличие от класса А, инициатором обмена может быть и сервер LoRaWAN сети. Устройства класса «В» синхронизируют внутреннее время с временем сети с помощью маяков (от англ. beacon), которые регулярно получает от шлюза. Узлы класса «В» обладают относительно низкой временной задержкой в обмене данными и открывают более широкое временное окно приема, по сравнению с классом «А». Устройства класса B также обладают всеми возможностями устройств класса А. 

Класс С

У устройств класса «С» окно приема открыто постоянно и закрывается только на период передачи данных. Сервер может инициировать обмен с устройством в любое время, и передать сообщения сразу, по мере их появления. Класс «С» потребляет наибольшее (по сравнению с классами A и B) количество энергии, поэтому обычно не использует батарейное питание, но получает данные от сервера LoRaWAN сети с наименьшими задержками. Устройства класса С (end-node) обладают всеми возможностями устройств класса А и B. 

Активация loRaWAN-устройств.


Для подключения узла к сети LoRaWAN каждое устройство должно пройти специальную процедуру активации, «получить прописку». Активация end-node может осуществляться двумя способами: OTAA (Over-the-Air Activation) и ABP (Activation by Personalization). 

Over-the-Air Activation (OTAA) — активация «по воздуху» 

При нахождении end-node в зоне покрытия сети возможна активация «по воздуху» (OTAA), которая происходит путем отправки конечным узлом запроса на присоединение (join-request) и получения разрешение на подключение (join-accept). Для успешного прохождения процедуры активации OTAA оператор сети LoRaWAN должен внести запись в специальную таблицу маршрутизации, в которой идентификатор приложения AppEUI будет соответствовать приложению на сервере (App Server) сервис-провайдера. 

До начала OTAA активации в конечном узле луже должны храниться следующие данные: 

- DevEUI — (8-ми байтный, EUI64) глобально уникальный идентификатор устройства (End-device identifier). Может быть присвоен производителем устройства (по аналогии с MAC адресом), в ограниченном количестве может быть получен из доступного пула идентификаторов оператора, либо получен владельцем узла в составе пула в IEEE.   

- AppEUI — (8-ми байтный, EUI64 ) глобально уникальный идентификатор приложения для маршрутизации полученных данных сервером сети (Network Server), или как еще говорят: ядром сети (Network Core) на сервер приложений (AppServer) 

- AppKey — уникальный (16-ти байтный, AES-128) ключ шифрования, сгенерированный сервером приложений (AppServer) именно для этого устройства 

Запрос на OTAA активацию (join-request) принимается всеми LoRaWAN сетями, имеющими покрытие в точке установки узла, сетевой сервер каждой из них принимает решение о подключении устройства к сети (join) и отправляет подтверждение подключения устройства отправкой join-accept сообщения или игнорирует запрос join-request. Повторные запросы join-request, от активированных ранее узлов, сервером сети игнорируются. Процедура активации «по воздуху» (OTAA — Over-the-Air Activation) также выполняется при регистрации устройств, находящихся вне зоны покрытия “домашней” сети, т.е. в роуминге в LoRaWAN сетях других операторов. 

После OTAA активации конечный узел получает от сетевого сервера и хранит в себе: 

- DevAddr — 32-битный (четырехбайтный) сетевой адрес для адресации пакетов на сетевом уровне, имеет уникальное значение в пределах сети оператора (можно провести аналогию c MAC адресом, который тоже обеспечивает адресацию на 2 уровне модели OSI в сетях Ethernet, но способ получения. DevAddr при OTAA сходен с получением динамического IP адреса, получаемого от DHCP сервера в TCP/IP сетях). Старшие 7 бит. DevAddr содержат адрес сети оператора NwkID, это значение должно быть уникальными для находящихся рядом сетей и для сетей, имеющих перекрывающиеся зоны покрытия. Чаще всего, для обозначения DevAddr, используют четырехбайтную последовательность, например: 02:D1:D2:01, в которой старший байт является адресом сети NwkID (если снова проводить аналогию, то адрес сети оператора NwkID аналогичен трехбайтному коду изготовителя сетевого оборудования в MAC адресах в Ethernet сетях) 

- NwkSKey — уникальный (16-ти байтный, AES-128) ключ сетевой сессии, передается устройству зашифрованным с помощью ключа AppKey 
- AppSKey — уникальный (16-ти байтный, AES-128) ключ сессии приложения, передается устройству зашифрованным с помощью ключа AppKey, данный ключ сетевой сервер получает от сервера приложений и передает его узлу в составе join-accept сообщения, как и ключ сетевой сессии и DevAddr 

На основании AppKey, содержащемуся в join-request пакете, сервер сети добавляет в таблицу маршрутизации запись о соответствии только что выданного устройству DevAddr приложению на сервере (App Server) сервис-провайдера, что в дальнейшем используется для маршрутизации всех данных от активированного устройства к сервис-провайдеру, а NwkSKey и AppSKey используются для шифрования. 

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

Activation by Personalization (ABP) — активация путем записи в устройство персональных настроек.

Активации ABP (Activation by Personalization) происходит без радиодоступа к сети, путем непосредственной записи сетевого адреса (DevAddr), выданного LoRaWAN провайдером и ключей шифрования NwkSKey и AppSKey либо при изготовлении устройства, либо позднее. ABP производится под выбранного LoRaWAN оператора. 

 Для осуществления ABP активации провайдер должен выделить пул сетевых адресов (address pool) из своего адресного пространства и настроить соответствие этих сетевых адресов DevAddr всех конечных узлов абонента приложению на сервере (App Server) сервис-провайдера для маршрутизации пакетов получателю. 

При ABP (Activation by Personalization) производитель оконечных устройств, интегратор или конечный пользователь сохраняют DevAddr, NwkSKey и AppSKey непосредственно в каждый узел до его подключения к сети, предварительно получив адрес и ключ сетевой сессии у сетевого оператора, а ключ сессии (AppSKey) приложения у сервис-провайдера. 

В этом случае устройство будет работать только в сети того оператора, который выдал данные для регистрации устройства. Для исключения компрометации ключей запрещается их передача владельцу конечного узла по небезопасным каналам связи, в отличии, например, от адреса устройства DevAddr. При выдаче DevAddr абоненту, оператор также, как и при OTAA, добавляет в таблицу маршрутизации запись о соответствии только что выданного пула адресов DevAddr приложению на сервере (App Server) сервис-провайдера. NwkSKey и AppSKey используются в дальнейшем для шифрования каждого пакета переданного узлом серверу сети. 

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

 Итогом успешной активации, независимо от способа, OTAA или ABP, является наличие в памяти узла DevAddr, NwkSKey и AppSKey.


Концентраторы LoraWAN


Шлюзы LoRa предназначены для использования в звездообразной сетевой топологии большого радиуса действия в системе LoRaWAN. Шлюзы могут представлять собой многоканальные baseband процессоры, которые способны выполнять демодуляцию сразу нескольких каналов одновременно, и даже одновременную демодуляции множества сигналов на одном и том же канале. 

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

Связь между концентраторами и центральным сервером LoRaWAN сети оператора (транспортная сеть) осуществляется с помощью традиционных технологий (Ethernet/3G/WiFi) по протоколу TCP/IP. Узлы LoRaWAN сети могут находиться в зоне покрытия как одного, так и нескольких шлюзов. Шлюзом в сетях с высокой плотностью абонентских устройств выступают специальные многоканальные концентраторы, способные принимать данные одновременно от множества оконечных устройств. Именно эта возможность шлюза влияет на максимальную плотность оконечных устройств на участке, обслуживаемом одним концентратором. 

Концентраторы, предназначенные для обслуживания большого числа оконечных устройств, строятся на базе Semtech SX1301, обладающего возможностью обслуживать до 5 тысяч устройств на квадратный километр (baseband блок состоит из 2 трансиверов SX1257, обеспечивающих двойной RF фронтэнд на 8 независимых каналов). 

Емкость сети зависит от количества пакетов, которые могут быть получены в данный момент времени шлюзом. Один шлюз на базе SX1301 с 8 каналами, используя протокол LoRaWAN, способен получить около 1,5 млн. пакетов в день.

Структурная схема шлюза на базе SX1301 

Структурная схема шлюза на базе sx1301

Топология сети

 Топология сети – «звезда». Сама сеть состоит из базовых станций, к которым по радиоинтерфейсу подключаются оконечные устройства (end-node/Mote). Базовые станции, в свою очередь подключены по IP к обслуживающей их инфраструктуре. В качестве физического интерфейса подключения к инфраструктуре используется либо Ethernet, либо 3G подключение.

структура сети LoRaWan

структура сети LoRaWan

  • Lora mote - конечное устройство, взаимодействующее с сетью через базовую станцию (lora gateway)
  • Lora gateway - базовая станция, обеспечивающая взаимодействие между оконечными устройствами и центральной инфраструктурой
  • Lora Network Server (NS) - часть центральной инфраструктуры, отвечающая за аутентификацию полученных от оконечных устройств пакетов и целостность транспорта (контроль фреймов). Для каждого зарегистрированного в сети устройства, сервер сохраняет

- Идентификатор устройства

- Идентификатор приложения

- Назначенный устройству сетевой адрес

- Последовательный номер следующего ожидаемого фрейма от устройства

- Последовательный номер следующего ожидаемого фрейма к устройству

- Аутентификационный ключ сессии

  • Lora application server (AS) - часть центральной инфраструктуры, которая отвечает за кодирование/раскодирование application информации, а так же, за реализацию Over-The-Air активации устройств. AS получает пакеты от NS и далее, пересылает их на соответствующие Customer Servers, реализующие логику приложения, использующего LoraWAN. 

  • Lora Network Controller (NC) –часть центральной инфраструктуры, отвечающая за автоматическую подстройку радиоканала между базовой станцией и оконечными устройствами, в зависимости от его параметров (adaptive data rate)

  • Lora Customer Server (CS) – часть центральной инфраструктуры, которая реализует серверные функции приложения, которое строится на базе LoraWAN. Именно этот сервер отвечает за обработку данных полученных и передаваемых к оконечному устройству


Контроль скорости передачи

LoRaWAN протокол регламентирует скорость радиообмена от 300 бит/с до 50 килобит в секунду, при этом, скорость уменьшается пропорционально расстоянию между приёмником и передатчиком. Фактически, в существующих устройствах, скорость, может не превышать 11 килобит в секунду, что вполне достаточно для решаемых данной технологией задач телеметрии.

Чтобы продлить срок службы батареи (аккумулятора) в оконечном устройстве и оптимизировать общую пропускную способность сети, сетевой сервер LoRaWAN (network controller) управляет скоростью передачи данных и мощностью радиочастотного выхода каждого оконечного устройства по отдельности, на основании расстояния от устройства до ближайшего шлюза.

Управление осуществляется с помощью алгоритма адаптивной скорости передачи данных ADR (Adaptive Data Rate). Адаптивная скорость передачи данных ADR представляет собой метод, при котором фактическая скорость передачи данных регулируется таким образом, чтобы обеспечить надежную доставку пакетов, обеспечить оптимальную производительность сети и необходимый масштаб для ее оптимальной загрузки. Так, например, устройства, которые расположены более близко к шлюзу будут использовать и более высокую скорость передачи данных (а, следовательно, использовать меньше эфирного времени для передачи) и меньшую мощность трансивера.

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


Обеспечение безопасности.

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





15.10.2015