Я уже давно влюблен в низкоскоростные системы передачи по радио. Настолько давно и так неудачно, что эта любовь стала казаться мне безнадежной. И вот недавно мне повезло, мне ответили взаимностью. Меня с моим товарищем по оружию — deef137 — пригласили принять участие в работе Сколтеха по созданию отладочных средств для создаваемого стандарта низкоскоростной передачи по радио OpenUNB. Цель работы — обеспечить быстрое освоение технологии OpenUNB широкими массами инженеров. На заре своей инженерной карьеры я участвовал в разработке КВ-радиомодема. Из-за многолучевого распространения радиоволн, радиомодемы этого диапазона обычно не достигают скорости даже 10 кбит/с. Моя любовь к низкоскоростным радио-модемам происходит из воспоминаний о тех прекрасных и трудных временах. В списке моих статей вы найдете много про технологии цифрового радио (SDR). Интернету вещей посвящены три статьи: Эта статья носит дискуссионный, "теоретический" характер. При этом, мы больше не теоретики, а практики: кое-что по реализации отладочных средств уже сделано. Есть некоторый опорный код для оконечного устройства на Github и сигнал с выхода передатчика во временном и частотном представлениях.  Прежде чем полностью погружаться в реализацию средств разработки, мы хотим рассказать людям о протоколе OpenUNB и инициировать обсуждение основных тезисов с сообществом. Самое главное: OpenUNB это технология односторонней передачи, есть только канал от оконечных устройств до базовой станции. Это кардинально упрощает оконечное устройство, но усложняет серверный софт. Теперь давайте все по порядку. При создании OpenUNB, сознательно были отброшены все возможные второстепенные требования с целью разработать не универсальную, а, именно, идеальную LPWAN-технологию, которая позволяет максимально дешево обеспечить надежный и безопасный сбор информации от множества датчиков. В настоящее время, на рынке присутствует множество LPWAN систем, наиболее распространенными из них являются LoRaWAN, SigFox и NB-IoT. Анализ технических характеристик этих систем показывает, что каждая из них имеет определенные недостатки в задачах сбора информации с датчиков. С целью краткости изложения, эти недостатки будут описываться вместе с достоинствами OpenUNB. Протокол OpenUNB спроектирован так, чтобы в оконечных устройствах можно использовать разнообразные и массовые радио чипы ведущих мировых производителей. Поэтому, по цене оконечного устройства OpenUNB потенциально не дороже SigFox, дешевле LoRaWAN, так как там используется уникальный не очень дешевый чип компании Semtech, и сильно дешевле NB-IoT в которых используются гораздо более сложные и дорогие чипы. Приемник шлюза OpenUNB реализован на основных принципах цифрового радио (SDR) с использованием современных методов цифровой обработки сигналов. В приемнике используются доступные компоненты от ведущих мировых производителей. По цене шлюз OpenUNB сравним со шлюзом LoRaWAN и сильно дешевле NB-IoT (это целая базовая станция сотового оператора). Про цену шлюза SigFox ничего определенного мы сказать не можем, так как эта технология распространяется по миру в виде сети, и цену шлюза могут знать только локальные партнеры SigFox по построению сети, но я сомневаюсь даже в том, могут ли они выделить эту цену из затрат на развертывание сети. Так как максимальная мощность в нелицензируемом диапазоне нормирована, то дальность работы LPWAN-устройств определяется скоростью передачи в эфире, качеством приемника и свойствами эфирного протокола. В условиях естественных помех в эфире, дальность работы шлюза может существенно сократиться. OpenUNB использует сверхузкополосную модуляцию с современными методами помехоустойчивого кодирования, что обеспечивает площадь покрытия шлюза заведомо не меньше, чем у SigFox и в два раза больше LoRaWAN. Мощность устройств и базовых станций NB-IoT на лицензируемых частотах не ограничена так сильно, как на нелицензируемых у конкурирующих стандартов. Поэтому, хотя бюджет радио-линии NB-IoT и меньше, чем у конкурентов, дальность связи может быть больше. А может быть и меньше, если частоты базовых станций пересекаются. Это довольно частое явление из-за экономии оператором частот, ввиду дороговизны спектра. В протоколе OpenUNB используется узкополосные (UNB) сигналы в полосе 100 или 200 кГц, что обеспечивает пропускную способность шлюза, аналогичную SigFox и более чем на порядок превышающую пропускную способность шлюза LoRaWAN. У NB-IoT потенциальная пропускная способность еще больше, так как скорость передачи информации больше. Некоторое немалое количество полосы пропускания в NB-IoT тратится на накладные расходы. Но вот вопрос: а нужна ли такая большая пропускная способность? Насколько оправданно экономически ее содержание?  Время работы от одной батарейки определяется энергией, затрачиваемой на передачу одного сообщения. Эфирный протокол OpenUNB содержит минимально необходимый объем служебной информации. По этому параметру мы в 3,3 раза эффективнее SigFox (стандартное время передачи короткого сообщения 12 бит от датчика у OpenUNB составляет не более 1,8 секунды, у SigFox – три посылки по 2 секунды = 6 секунд). При сравнении с LoRaWAN, необходимо учитывать затраты энергии LoRaWAN на обратный канал. При пересчете на одинаковую площадь покрытия наша технология позволяет расходовать батарейку как минимум в 3 раза эффективнее LoRaWAN, а NB-IoT еще более прожорлив. Этот расчет проведен для использования технологий для сбора информации с датчиков. За счет использования в OpenUNB самых современных методов помехоустойчивого кодирования сигнала (в протоколе применяется полярный код, используемый в последних версиях стандарта сотовой связи пятого поколения 5G), достигнуты высокие показатели защиты от естественных и искусственно созданных помех в эфире, что обеспечивает необходимую дальность связи в безлицензионном диапазоне частот в реальных условиях эксплуатации. Дополнительные серьезные преимущества в помехозащищенности OpenUNB, особенно перед NB-IoT, дает отсутствие обратного канала связи — самым распространенным и доступным методом постановки помех является использование обычной «гушилки» сотовой связи, которая воздействует именно на обратный канал устройства.  Ключевым элементом обеспечения безопасности в OpenUNB является система динамического кодирования, обеспечивающая защиту передачи адреса устройства в сети. У всех конкурирующих LPWAN систем (кроме NB-IoT) адрес устройства в сети передается в открытом виде, что создает риски безопасности за счет возможностей анализа активности датчиков в эфире по их идентификатору и возможностей манипуляции сообщениями. Для защиты информации в протоколе OpenUNB используется последовательность из трех ключей шифрования, сеансовый ключ, который меняется автоматически и счетчик сообщений. В качестве отрицательного примера в смысле информационной безопассности можно привести SigFox, где все вопросы шифрования сообщений отданы на откуп пользователям. Это требует от пользователей разрабатывать свои протоколы, делает необходимым удлинять полезную информацию, что еще больше ухудшает ситуацию с энергоэффективностью протокола.  У пользователей SigFox и NB-IoT имеется возможность производить свои собственные оконечные устройства, но они могут работать только через сеть и сервер существующих операторов, что не позволяет в этом случае говорить об открытой системе. Доступ к оборудованию и серверному ПО для пользователей LoRaWAN открыт, но реализация микросхем модема LoRa закрыта патентами. OpenUNB – полностью открытый протокол с открытой архитектурой и примерами реализации конечных устройств и шлюзов. Обратный канал (Downlink) обычно используется в следующих случаях: управление оконечным устройством (ОУ), изменение настроек ОУ, запрос на внеочередную передачу информации, квитанция о получении сообщения, создание и обновление ключей шифрования, обновление прошивки. Использование обратного канала в LPWAN системах приводит к следующим проблемам: увеличивается потребление батарейки и стоимость КУ, появляется возможность подавления канала связи с помощью простой «глушилки». У безлицензионных систем типа LoRaWAN и SigFox это приводит к еще более неприятным последствиям – катастрофически снижается пропускная способность шлюза и появляются пропуски сообщений в прямом канале (специфика шлюза этих систем — во время передачи он перестает принимать сообщения). Для большого числа массовых случаев применения LPWAN можно обойтись без обратного канала. Исключение обратного канала позволяет удешевить ОУ и повысить срок работы ОУ от батарейки, существенно увеличить пропускную способность шлюза и уменьшить количество пропусков сообщений в масштабах системы. Напомню о главных тезисах: OpenUNB — это открытость и минимализм. Открытость обсуждать не нужно, это понятно всем. Описание и код будут публиковаться открыто. Это позволит быстро начать работать со всем стеком технологии и обеспечит много других преимуществ, к которым ведет открытость. Минимализм OpenUNB происходит из одного его свойства: в протоколе используется только прямой (Uplink) LPWAN-канал. Это основное свойство OpenUNB я и предлагаю обсудить в первую очередь. радио-инженер