NB-IoT. Non-IP Data Delivery или просто NIDD. Тестирование с коммерческим сервисом МТС
Это небольшой тьюториал по настройке NIDD (Non-IP Data Delivery) в облачном сервисе МТС с говорящим названием «М2М-менеджер». Суть NIDD — в энергоэффективном обмене небольшими пакетами данных по сети NB-IoT между устройствами и сервером. Если раньше GSM-устройства общались с сервером, обмениваясь пакетами TCP/UDP, то для устройств NB-IoT стал доступен дополнительный способ связи — NIDD. При этом сервер взаимодействует с сетью оператора, используя унифицированные POST/GET-запросы. Пишу для себя (чтобы не забыть) и всех, кому это окажется полезным.
Про NB-IoT можно почитать:
Документация на модуль NB-IoT, который использовался в процессе тестирования:
Neoway N21.
Чтобы пощупать NIDD, нам потребуется:
- SIM-карта NB-IoT МТС
- устройство NB-IoT с поддержкой NIDD
- пароль и логин от М2М-менеджера МТС
Итак, заходим в М2М-менеджер и проверяем, что:
- в пункте меню «SIM-менеджер» есть «Центр управления NB-IoT»;
- в «Центре управления NB-IoT» появилась наша карточка NB-IoT, а также разделы:
NIDD APN
NIDD Аккаунты
NIDD Безопасность - в самом низу есть пункт меню «API M2M» с «Руководством разработчика NIDD»
Если чего-то в М2М-менеджере не хватает — смело отправляйте запрос вашему менеджеру в МТС с подробным описанием ваших пожеланий.
Если нужные пункты Центра управления NB-IoT на месте, можно начинать их заполнять. Причем пункт «NIDD Аккаунты» — в последнюю очередь: для него понадобятся данные из соседних разделов.
- NIDD APN: придумываем и заполняем имя нашего APN и «ID приложения».
- NIDD Безопасность: здесь указываем IP-адрес нашего сервера приложений, который будет общаться с устройствами NB-IoT через сервис (сервер) МТС.
- NIDD Аккаунты: просто заполняем все поля и нажимаем «Сохранить».
В руководстве есть описание отдельных параметров запроса, я только приведу пару небольших комментариев:
- ссылка для передачи запросов: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/
/configurations, где scsAsId — это «ID приложения» из пункта меню «NIDD APN»; - базовый метод авторизации с логином и паролем — используйте логин и пароль, придуманные вами при заполнении пункта меню «NIDD Аккаунты»;
- notificationDestination — адрес вашего сервера. С него вы будете посылать non-ip-сообщения на устройства, и на него сервер МТС будет посылать уведомления об отправке и получении сообщений non-ip.
Для передачи сообщения от сервера на устройство изучаем раздел «2.2 Отправка сообщения» руководства:
в ссылке запроса — значение типа «hex-абракадабра», полученное на этапе создания конфигурации. Имеет вид: b00e2485ed27c0011f0a0200.
data — содержимое сообщения в кодировке Base64.
Настройка устройства NB-IoT для работы в NIDD
Конечно, для обмена данными с сервером наше устройство должно не только уметь работать в сети NB-IoT, но и поддерживать режим NIDD (non-ip). В случае отладочной платы N21 DEMO или иного устройства на базе NB-IoT-модуля N21 последовательность действий для передачи non-ip-сообщений описана ниже.
Активируем конфигурацию с APN, который мы придумали при заполнении пункта «NIDD APN» М2М-менеджера (здесь — EFOnidd):
и просим устройство перерегистрироваться в сети:
после этого подаем команду
и передаем сообщение «test»:
При получении non-ip-сообщения на UART модуля N21 выдается незапрашиваемое сообщение вида:
где
1 — CID, pdp context
10 — количество байт данных после запятой
На сервер сообщение поступает в кодировке Base64 (в POST-запросе).
P. S. Для имитации передачи данных с сервера удобно использовать программу Postman. Для приема сообщений можно использовать любой скрипт, имитирующий HTTP-сервер.
Non-IP Data Delivery (NIDD)
Non-IP Data Delivery — система передачи данных без использования IP.
Основные статьи:
- Интернет вещей, IoT, M2M (рынок России)
- Интернет вещей, IoT, M2M (мировой рынок)
2019: Тестирование технологии Non-IP Data Delivery для IoT в России
13 ноября 2019 года стало известно, что Билайн и ИТ-компания «Инфосистемы Джет» провели первые в России тесты технологии Non-IP Data Delivery (NIDD) для Интернета вещей. Данная технология позволит продлить жизненный цикл IoT-устройств, защитить передаваемые данные и снизить нагрузку на сети оператора для возможности подключить миллионы устройств к существующей инфраструктуре в кратчайшие сроки. Подробнее здесь.
Почему решения для M2M устройств 2G/3G/4G не применимы для NB-IoT
С начала коммерческого использования сети в 2018 году и появления первых устройств NB-IoT мы столкнулись с тем, что проверенные решения, которые применялись при разработке M2M устройств предыдущих поколений 2G/3G/4G, абсолютно неприменимы к NB-IoT разработкам. В этой статье мы постарались собрать весь опыт эксплуатации сети и собственных разработок устройств NB-IoT, а также взаимодействия с нашими партнёрами-разработчиками.
Что такое NB-IoT?
Технология NB-IoT многое унаследовала от LTE, начиная с физической структуры радиосигнала и заканчивая архитектурой. При передаче сигнала LTE используется механизм разделения каналов OFDM с разнесением поднесущих на 15 кГц. В DL (Downlink, направление от БС) используется OFDMA, а в UL (Uplink, направление на БС) используется SC-FDMA.
Рисунок 3.1 Частотные компоненты LTE
Для достижения большой пропускной способности соты применяются высокие порядки модуляции QAM256 для DL и QAM64 для UL. Вдобавок с этой же целью применятся технологии MIMO2x2 и MIMO4x4.
Для обозначения величины падающей мощности DL, помимо значений RSSI и RSRP, используется значение падающей мощности EPRE (Energy Per Resource Element), то есть значение мощности для одного RE (Рисунок 3.1).
Радиочастоты NB-IoT и методы выделения частотного ресурса
Для NB-IoT могут использоваться практически все те же диапазоны частот, что и для 2G/3G/4G в нижних частотных диапазонах 800-1880 МГц. В Российской Федерации для NB-IoT выделены три диапазона. Это B20 (800МГц), B8(900МГц), B3(1800МГц).
Более высокочастотные диапазоны обычно не используются из-за большего затухания сигнала.
Таблица 3.1 Частотные диапазоны, выделенные в Российской Федерации для NB-IoT
На практике применяются три режима выделения частотного ресурса для NB-IoT:
- Stand-alone;
- In-band;
- Guard-band.
Режим Stand-alone является самым эффективным для работы NB-IoT, но и самым затратным. В этом режиме под NB-IoT выделяется частотный канал шириной 200 кГц. Для этого может понадобиться от 300 до 600 кГц ценного радиочастотного спектра, чтобы обеспечить требуемые защитные интервалы. И взаимные интерференции с другими технологиями минимальны.
Рисунок 3.2 Варианты размещения канала NB-IoT в режиме stand-alone
В режиме In-band для NB-IoT выделяются ресурсы внутри существующей LTE-несущей, но NB-IoT-несущая имеет на 6 дБ более высокую мощность по сравнению с ресурсными блоками LTE. Этот вариант хорошо подходит для экономии частотного ресурса, но при этом есть проблема взаимного влияния с LTE-сетью.
Рисунок 3.3 Размещение несущей NB-IoT в режиме In-band
В режиме Guard-band несущая NB-IoT располагается в защитном интервале несущей LTE. Например, в полосе LTE 10 МГц ширина защитного интервала с обеих сторон несущей составляет 500 кГц. Так же, как и в режиме In-band, несущая NB-IoT имеет на 6-9дБ более высокую мощность по сравнению с ресурсными блоками LTE (Рисунок 4). Этот вариант использования позволяет одновременно сэкономить частотный ресурс и уменьшить взаимное влияние с LTE сетью, хотя при этом ухудшаются параметры внеполосных излучений для LTE.
Рисунок 3.4 Размещение несущей NB-IoT в режиме Guard-band
Особенности радиосигнала NB-IoT
Самое важное в NB-IoT — возможность работы при более низких уровнях сигнала и высоком уровне шумов, а также экономия батареи. NB-IoT предназначен для передачи коротких сообщений, и от него не требуется передача аудио-видео контента, больших файлов.
Исходя из этого, на физическом уровне в сигнал NB-IoT заложены особенности, которые помогают обеспечить необходимые характеристики:
- общая полоса для NB-IoT ограничена одним ресурсным блоком шириной 180 кГц;
- радиотракт устройства NB-IoT чаще всего использует только одну антенну;
- передача и приём разнесены по времени, то есть используется полудуплексный режим;
- существует возможность передавать в направлении UL на одной поднесущей;
- используемые типы модуляции ограничены BPSK и QPSK;
- используется механизм переповторов передаваемой информации (Сoverage Enhancement).
- снизить требования к процессорной мощности хост-контроллера (некоторые разработчики предпочитают не устанавливать в устройство отдельный хост-контроллер, а используют для выполнения прикладных программ контроллер радиомодуля);
- минимизировать энергопотребление, за счёт чего увеличивается срок работы устройства без замены элемента питания;
- уменьшить габариты;
- удешевить устройство.
У NB-IoT есть существенное преимущество по сравнению с сетям 2G/3G/4G в части зоны покрытия и проникновения сигнала в труднодоступные места (например, подвалы и помещения с коммуникациями в зданиях). Оно обеспечивается более помехоустойчивыми сигналами, благодаря применению узкополосных сигналов, а также встроенным механизмом переповтора передаваемых пакетов данных.
Остальные плюсы NB-IoT по сравнению с другими технологиями передачи данных.
- Расширенная зона покрытия и глубокое проникновения сигнала в труднодоступные места (например, подвалы, колодцы, технические помещения). Преимущество обеспечивается улучшенной характеристикой сигнал/шум вследствие узкополосного сигнала, используемой модуляцией, а также функцией переповторов при передаче пакетов данных.
- Технология NB-IoT от МТС имеет выделенный ресурс сети, а значит приоритет в обслуживании не может быть отдан абонентам со смартфонами в периоды высоких нагрузок на сеть.
- Существует общемировая тенденция по сокращению ресурсов, выделяемых операторами на устаревающие технологии 2G/3G. В этой связи и с учетом долгого срока жизни устройств интернета вещей целесообразно рассматривать современные и перспективные технологии, как раз такой и является NB-IoT.
- В технологии NB-IoT реализован режим передачи данных NIDD, который на сегодня является самым эффективным и функциональным для LPWAN устройств.
Максимально достижимая скорость передачи данных
Максимально достижимую скорость передачи данных в канале NB-IoT удобно показать в зависимости от Coupling Loss – уровня полных потерь в канале связи.
Как видно из таблицы, увеличение помехоустойчивости сигнала NB-IoT обратно пропорционально скорости передаваемой информации. Поэтому максимального выигрыша можно достичь, только обмениваясь по сети пакетами данных достаточно маленького размера, которые можно передать в разумный промежуток времени. В дополнение, при разработке ПО для устройств нужно учесть, что в режиме CL2 передача даже одного пакета может занимать несколько секунд.
В 14-м релизе рекомендаций 3GPP, появился функционал extended TBS и Dual-HARQ, позволяющий увеличить скорость передачи информации до 159 кбит/с. Для реализации этого режима нужно использовать радио-модули категории NB2. При этом стоит учитывать, что преимущества NB2 по скорости реализуется только при достаточно хороших радиоусловиях, а в плохих — разница практически отсутствует.
Радиомодули новой категории NB2 также позволяют ещё более уменьшить энергопотребление и увеличить срок работы устройства без замены элемента питания за счет использования максимальной мощности передачи в 14 dBm. Для сравнения, максимальная мощность передачи предыдущей радио-модулей категории NB составляет 20, 23 dBm
Представленные цифры условны и зависят от конфигурации сети, и реальное проникновение сигнала зависит ещё и от качества и коэффициента усиления антенны устройства.
Поэтому при разработке приложений для устройств рекомендуется придерживаться определённых значений объёма и частоты передаваемых сообщений. Например, для LPWA приложений 3GPP определяет следующие модели трафика:
Таблица 3.3 Модели трафика для сетей LPWA
Практически нужно учесть, что по радиоканалу передается не только полезная информация, но и сигнальная нагрузка. При этом передача данных по NIDD создает меньшую сигнальную нагрузку чем по IP, что может в некоторых случаях иметь решающее значение для успешного радиообмена.
Основные критерии при выборе технологии NB-IoT для разрабатываемого устройства:
- энергоэффективность — устройство должно работать от одного комплекта батарей длительный срок, до 10 лет и более;
- надёжность передачи данных, защищЁнность канала связи;
- подключение большого числа устройств в одной локации;
- стоимость устройства;
- наличие сети доступа во всех регионах РФ;
- развитие и поддержка сети в течение долгого времени.
Выбор протоколов транспортного уровня
При выборе используемого протокола в первую очередь необходимо учитывать избыточность протокола и накладные расходы на установление и поддержание соединения:
Рисунок 4.1 Избыточность протоколов TCP/UDP по сравнению с NIDD
В сетях NB-IoT рекомендуется применять следующие способы передачи данных в порядке убывания предпочтения:
- режим передачи NIDD (Non-IP data delivery);
- протокол передачи данных CoAP (стек IP/UDP);
- протоколы MQTT-SN и LWM2M 1.1 (стек IP/UDP);
- проприетарные бинарные протоколы, основанные на UDP.
Рисунок 4.2 Процедура установления и поддержания сессии TCP
Стоит отметить, что одно и то же устройство может работать как в режиме IP, так и в режиме NIDD, текущий режим работы зависит от активированного контекста (Non-IP или Ipv4/IPv6). Для работы с IP и NIDD используются различные виды тарификации: для IP пакеты, измеряемые в килобайтах, для NIDD пакеты, измеряемые в сообщениях.
Протоколы на основе UDP
Рекомендуется применение как проприетарных протоколов поверх UDP, так и специфицированных транспортных протоколов поверх UDP: CoAP, MQTT-SN, LWM2M.
Текущая практика разработки устройств показывает, что наибольшей популярностью пользуется протокол CoAP. Отчасти это обусловлено тем, что данный протокол поддерживается на уровне прошивки радиомодуля многими поставщиками. На примере этого протокола рассмотрим несколько механизмов, позволяющих реализовать функциональность для энергоэффективного устройства.
Протокол CoAP построен на основе протокола HTTP, использует те же методы (POST, GET и другие), то есть протокол позволяет публиковать данные, запрашивать данные и выполнять другие запросы.
Реализован механизм квитирования (подтверждений), для этого используется атрибут CON или NON. Также протоколом предусмотрен механизм подписки: устройство может получить уведомление об изменении какого-либо параметра на сервере, для этого используется функция observe.
Протокол реализует стандартные ответы сервера на запросы, например, ответ 2.03 Valid говорит от том, что переданные данные успешно сохранены на сервере. Всё описанное выше — только малая часть возможностей протокола CoAP, но этого вполне достаточно, чтобы развеять сомнения разработчиков относительно возможности реализовать необходимую им функциональность, в том числе гарантированную доставку данных, с использованием UDP.
Пример последовательности АТ-команд для передачи данных по протоколу CoAP модуля Quectel BC68:
Основное отличие в передаче NIDD данных от передачи данных в IP стеке заключается в том, что устройству не выделяется IP-адрес и ему не нужно знать IP-адрес и порт сервера. Радиомодуль отправляет данные в сеть без какого-то определенного адресата, а сеть, в свою очередь, передаёт данные от устройства на платформу (Application Server) по подписке.
Из-за этого устройство выполняет меньше действий, чтобы передать данные. А значит уменьшается время нахождения приёмопередатчика в активном состоянии. И меньшему расходу батареи устройства.
С точки зрения сети использование NIDD также предпочтительнее, чем IP, так как устройства NIDD более эффективно используют ресурсы сети. Уменьшение общего объёма передаваемых данных, сокращение времени нахождения радиомодуля в активном состоянии позволяет обслужить больше устройств.
Вероятность успешной доставки информации тем выше чем меньше размер пакета, что особенно ярко выражается при низком уровне сигнала и/или большой зашумлённости канала.
Дополнительные преимущества даёт наличие сетевого элемента сети оператора — SCEF. Данный сетевой элемент реализует обмен данными с устройством посредством HTTP API и системы подписок. Проще говоря, платформа (Application Server) отправляет данные на устройство и получает данные с устройства, используя HTTP POST запросы на определенный URL.
Платформе не нужно хранить IP-адрес устройства и дополнительно идентифицировать его, получая запросы с различных IP-адресов, выделяемых устройству сетью. Коммуникация упрощается за счёт использования универсального идентификатора – external ID вида <local>@<domain.identifier>, который присваивает устройству непосредственно разработчик.
Ещё одно важное преимущество NIDD — это большая безопасность в случае доступа извне: коммуникация с устройством из интернета возможна только через специальный узел (SCEF) и вероятность взлома устройства значительно понижается.
Кроме того, SCEF предоставляет дополнительные возможности для разработчика и пользователя платформы: отправка сообщения от платформы на группу устройств, отправка сообщения от устройства на несколько платформ, гарантированная доставка сообщений, буферизация сообщений, контроль состояния устройства (доступность) и другие возможности.
Пример АТ-команд для передачи данных по NIDD модуля Quectel BC68:
Сравнивая набор АТ-команд для отправки данных в CoAP/UDP и NIDD, можно увидеть, что реализовать NIDD проще с точки зрения управления радимодулем.
Для наглядности на рисунках 4.4 и 4.5 показано различие в архитектуре передачи данных IP и Non-IP для общего случая, когда платформа расположена вне инфраструктуры оператора связи.
Исследования специалистов МТС, также показали. значения нижних предельно допустимых уровней EPRE для трёх способов передачи данных по каналу «вверх» (Таблица 4.1). Значения EPRE действительны для гарантированной отправки пакета данных объемом 250 байт.
Рисунок 4.4 Информационные потоки при использовании протоколов IP
Рисунок 4.5 Информационные потоки при использовании режима NIDD
Таблица 4.1 Значения нижних предельно допустимых уровней EPRE для разных протоколов
Элементы идентификации (SIM)
SIM-элементы бывают нескольких видов. В виде привычной и знакомой всем SIM-карты: (U)SIM-карта М2М NB-IoT Trio. Это SIM-карта, совмещающая три форм-фактора 2FF-3FF-4FF, говоря проще, стандарт-микро-нано.
Рекомендуем применять в устройствах SIM элементы в форм-факторе SIM-чипа, полное название (U)SIM-чип М2М термо NB-IoT MFF2. По сравнению с SIM-картой чип обеспечивает более длительную и надёжную работу устройства за счёт устойчивости к перепадам температур, влажности, вибрациям и так далее. Воздействие суровых условий окружающей среды вместе с долгим сроком использования устройств IoT — от 10 лет — делает выбор в пользу SIM-чипа предпочтительным.
В качестве примеров устройств, работающих в сложных условиях, можно привести датчики проникновения в колодцы, контроллеры индивидуального управления уличным светом, датчики ТКО (мусора), устройства экомониторинга.
Стоит отметить, что технология eSIM (embedded SIM) реализована как в форм-факторе SIM-чипа, так и SIM-карты.
Общая информация о радиомодулях
Бывает так, что производитель устройств начинает работать с радиомодулем NB-IoT и сталкивается с недопониманием, «поведение» модуля не соответствует ожиданиям. Чаще всего это связано с тем, что разработчики не разобрались с режимами и настройками модуля по умолчанию. Ниже приведено несколько советов, что можно сделать для устранения проблем.
- Рекомендуется устанавливать в настройках конкретные частотные диапазоны (band), соответствующие сети оператора. Для сети NB-IoT МТС нужно выбирать band 3, 20, 8. Причём некоторые модули позволяют задать перечень в порядке приоритета поиска сети. Для сети МТС нужно использовать приоритет, как указано выше, то есть первый частотный диапазон в очереди на поиск сети band 3, второй band 20, третий band 8. Указанная настройка позволит ускорить поиск и регистрацию в сети при первом включении радиомодуля.
- Мы столкнулись с тем, что многие модули по умолчанию активируют режим eDRX. Это также можно проверить и деактивировать этот режим, если он не нужен. Для совмещённых модулей, работающих в двух технологиях радиодоступа NB-IoT и 2G рекомендуется настроить логику по переключению между технологиями на уровне прошивки устройства, чтобы устройство само управляло включением той или иной технологии. При этом важно помнить, что пакет трафика актуальный для NB-IoT может быть израсходован быстрее при переходе в 2G в случае, если при этом также изменяется протокол транспортного уровня, включается TCP вместо UDP или NIDD.
- Параметр APN необходимо настраивать в соответствии с инструкциями от оператора. При работе в сети NB-IoT МТС рекомендуется настраивать в модуле APN: iot для стандартного подключения, когда не используется выделенный клиентский APN. Желательно контролировать контекст, который активирует радиомодуль при включении, это может быть IPv4/IPv6 или NIDD, или оба типа одновременно. Не нужно активировать контекст IPv4/IPv6, если вы планируете работать только в NIDD, эта проверка дополнительно активирует обмен служебными данными между устройством и сетью.
В целом на уровне устройства и на уровне прошивки управляющего контроллера желательно управлять состоянием и настройками радиомодуля и использовать соответствующие АТ-команды из мануала на модуль. Если проблему не удается решить стандартными средствами, стоит обратиться к поставщику радиомодуля, он расскажет, как включить debug-порт на модуле и выполнить более глубокую диагностику проблемы.
NB-IoT. Non-IP Data Delivery или просто NIDD. Тестирование с коммерческим сервисом МТС
Это небольшой тьюториал по настройке NIDD (Non-IP Data Delivery) в облачном сервисе МТС с говорящим названием «М2М-менеджер». Суть NIDD — в энергоэффективном обмене небольшими пакетами данных по сети NB-IoT между устройствами и сервером. Если раньше GSM-устройства общались с сервером, обмениваясь пакетами TCP/UDP, то для устройств NB-IoT стал доступен дополнительный способ связи — NIDD. При этом сервер взаимодействует с сетью оператора, используя унифицированные POST/GET-запросы. Пишу для себя (чтобы не забыть) и всех, кому это окажется полезным.
Про NB-IoT можно почитать:
Документация на модуль NB-IoT, который использовался в процессе тестирования:
Neoway N21 .
Чтобы пощупать NIDD, нам потребуется:
- SIM-карта NB-IoT МТС
- устройство NB-IoT с поддержкой NIDD
- пароль и логин от М2М-менеджера МТС
В качестве устройства я использовал плату N21 DEMO, а пароль и логин для доступа к М2М-менеджеру мне любезно предоставили сотрудники МТС. За это, а также за разнообразную помощь и многочисленные консультации большое им спасибо.
Итак, заходим в М2М-менеджер и проверяем, что:
- в пункте меню «SIM-менеджер» есть «Центр управления NB-IoT»;
- в «Центре управления NB-IoT» появилась наша карточка NB-IoT, а также разделы:
NIDD APN
NIDD Аккаунты
NIDD Безопасность - в самом низу есть пункт меню «API M2M» с «Руководством разработчика NIDD»
Выглядеть всё это хозяйство должно примерно так:
Если чего-то в М2М-менеджере не хватает — смело отправляйте запрос вашему менеджеру в МТС с подробным описанием ваших пожеланий.
Если нужные пункты Центра управления NB-IoT на месте, можно начинать их заполнять. Причем пункт «NIDD Аккаунты» — в последнюю очередь: для него понадобятся данные из соседних разделов.
- NIDD APN: придумываем и заполняем имя нашего APN и «ID приложения».
- NIDD Безопасность: здесь указываем IP-адрес нашего сервера приложений, который будет общаться с устройствами NB-IoT через сервис (сервер) МТС.
- NIDD Аккаунты: просто заполняем все поля и нажимаем «Сохранить».
Как только все пункты заполнены, можно начинать разбираться с запросами, которые должен формировать наш сервер. Идём в «API M2M» и читаем «Руководство разработчика NIDD». Чтобы устройство могло зарегистрироваться в сети NB-IoT, нужно создать SCS AS конфигурацию:
В руководстве есть описание отдельных параметров запроса, я только приведу пару небольших комментариев:
- ссылка для передачи запросов: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/
/configurations, где scsAsId — это «ID приложения» из пункта меню «NIDD APN»; - базовый метод авторизации с логином и паролем — используйте логин и пароль, придуманные вами при заполнении пункта меню «NIDD Аккаунты»;
- notificationDestination — адрес вашего сервера. С него вы будете посылать non-ip-сообщения на устройства, и на него сервер МТС будет посылать уведомления об отправке и получении сообщений non-ip.
Когда конфигурация SCS AS создана, а устройство успешно зарегистрировалось в режиме NIDD в NB-IoT-сети оператора, можно попробовать обменяться первыми сообщениями non-ip между сервером и устройством.
Для передачи сообщения от сервера на устройство изучаем раздел «2.2 Отправка сообщения» руководства:
в ссылке запроса — значение типа «hex-абракадабра», полученное на этапе создания конфигурации. Имеет вид: b00e2485ed27c0011f0a0200.
data — содержимое сообщения в кодировке Base64.
Настройка устройства NB-IoT для работы в NIDD
Конечно, для обмена данными с сервером наше устройство должно не только уметь работать в сети NB-IoT, но и поддерживать режим NIDD (non-ip). В случае отладочной платы N21 DEMO или иного устройства на базе NB-IoT-модуля N21 последовательность действий для передачи non-ip-сообщений описана ниже.
Активируем конфигурацию с APN, который мы придумали при заполнении пункта «NIDD APN» М2М-менеджера (здесь — EFOnidd):
AT+CFGDFTPDN=5,«EFOnidd»
и просим устройство перерегистрироваться в сети:
после этого подаем команду
и передаем сообщение «test»:
AT+NIPDATA=1, «test»
При получении non-ip-сообщения на UART модуля N21 выдается незапрашиваемое сообщение вида:
+NIPDATA:1,10,3132333435 // принято non-ip-сообщение ‘12345’
где
1 — CID, pdp context
10 — количество байт данных после запятой
На сервер сообщение поступает в кодировке Base64 (в POST-запросе).
P. S. Для имитации передачи данных с сервера удобно использовать программу Postman . Для приема сообщений можно использовать любой скрипт, имитирующий HTTP-сервер.