В последнее время — ну как «время», так обычно говорят про дни или недели, а тут речь идёт скорее уже о годе-двух — мимо постоянно проскакивают статьи на тему «что такое Интернет вещей» (ну и на смежные: основные игроки, основные тенденции, новейшие продукты и так далее). К сожалению, примерно 99 из 100 из них насколько объёмы, настолько же и бессмысленны: их авторы пытаются говорить об IoT как о некоей единой и цельной концепции.
Однако цельного и единого IoT не существует и не может существовать. В лучшем случае, IoT можно определить как концепцию удалённого взаимодействия машина-машина (m2m) или машина-человек (m2h), в то время как классический Интернет — это взаимодействие человек-человек.
Но на этом единство и заканчивается. Можно ли описать одной статьей «тенденции и основных игроков интернета»? Да вы шутите, что ли? Придётся охватить СМИ, соцсети, видеосервисы, магистральных провайдеров, ВОЛС, сотовые сети, корпоративные сети, облачные сервисы для бизнеса, сетевое оборудование для дома, CPE для офиса, магистральное оборудование… всё это — части того, что называется сейчас «Интернет».
То же самое — и с «Интернетом вещей». Это и лампочки LiFX в квартире, и контроллеры Danfoss в вентиляционных установках офисных зданий, и ваш любимый фитнес-трекер, и система мониторинга дорожной обстановки мегаполиса, и централизованный сбор данных о состоянии и ресурсе парка электрофрезерных станков, и много чего ещё. Каждое из этих применений — это свой собственный рынок, собственные решения и на программном, и на аппаратном уровне и, разумеется, собственные игроки, многие из которых другими сегментами IoT не занимаются и никогда не будут заниматься.
Поэтому попытка описать «все тенденции развития IoT» — это либо энциклопедия, в которой просто по буквам алфавита перечислено всё, что есть на эту тему в мире, либо даже не ощупывание слепыми слона, а визит слепых в зоопарк: один ощупывает жирафа, второй — крокодила, третий — лоток с сахарной ватой, а потом они собираются и обсуждают, как выглядит слон.
Что в этой ситуации делать? Я думаю, начать немного разгребать интернето-вещевые завалы, раскладывая по полочкам базовые понятия. И начать я хочу с того, какие беспроводные технологии сейчас популярны — и чем они, чёрт возьми, друг от друга отличаются.
Говоря человеческим языком — на чём сейчас принято делать нижние три уровня модели OSI.
Физический уровень
С физическим уровнем всё достаточно просто: хотя многие до сих пор повторяют in wire we trust, на практике беспроводные коммуникации уже победили, в том числе в критических применениях — недавно, например, проскочила новость, что армия США планирует переходить в полевых лагерях на Wi-Fi, потому как разворачивание в них Ethernet занимает неоправданно много времени и сил.
И это — военные. В случае обычной домашней или офисной инфраструктуры проводные сети для Интернета вещей (то есть, в первую очередь, «умного дома» и «умного офиса» — управление освещением, TV/AV, HVAC) уже можно считать мёртвыми: они крайне дороги в установке (хотя бы потому, что под прокладку слаботочной проводки требуется капитальный ремонт помещения) и крайне негибки в дальнейшей эксплуатации — любое изменение конфигурации требует прокладки новой проводки. В то же время, одна из решаемых «умным домом» задач — это обеспечение гибкости внутренних коммуникаций и управления.
Просто представьте себя на месте бизнес-центра, который захотел внедрить у себя технологии «умного офиса» — то же адаптивное освещение и вентиляцию, например, регулирующиеся в зависимости от внешних условий, количества людей в здании и других параметров. И у вас выбор между «закрыться на три месяца на ремонт для прокладки проводки» и «поменять светильники и контроллеры HVAC на имеющие радиоинтерфейс». Пусть даже цена этого будет одинаковой — хотя в любом крупном здании проводка выйдет сильно дороже, но пусть — ответ, в общем-то, очевиден.
В результате можно сказать, что проводные сети в IoT, в частности, в умном доме и умном офисе — это направление, которое в ближайшем будущем выживет только в узкоспецифических применениях. На массовом рынке шансов оно имеет не больше, чем ноутбуки без Wi-Fi, зато с гнездом Ethernet.
Конечно, существует проблема глушения радиочастотных каналов (в т.ч. непреднамеренного), наличия зон неуверенного приёма, удалённого доступа в сеть злоумышленников и т.п. Однако при минимально грамотном подходе к проектированию устройств эти проблемы сводятся к нулю; неграмотный же подход и проводные сети точно так же превращает в дырявый и глючащий ад.
Если говорить про радиодиапазоны, то основных используемых — два: 868/915 МГц и 2450 МГц; также встречается и старый добрый 433 МГц, но он в целом нужен мало — он плохо регулируется и потому часто бывает сильно замусорен, скорости в нём маленькие, антенны, наоборот, большие, а дальность связи от 868/915 принципиально не отличается.
868 МГц и 915 МГц — это нелицензируемые (то есть эксплуатанту не надо получать лицензию на использование частот) диапазоны, причём первый из них живёт в Европе и России, а второй — в США и Японии. Такое разделение между странами не очень удобно, но в принципе решаемо — разница частот не настолько большая, чтобы требовалось под каждый вариант делать полностью новый дизайн устройств. Диапазоны зарегулированы сильнее, чем 433 МГц, поэтому шансы встретить в них работающий у соседа 10-ваттный передатчик пренебрежимо малы.
2450 МГц — ещё один нелицензируемый диапазон. В плюсах у него абсолютная универсально (он един, с небольшими оговорками, по всему миру) и минимальные габариты антенны, в минусах — не слишком большая дальность, сильное затухание в препятствиях и наличие в том же диапазоне Wi-Fi, Bluetooth и микроволновок. Впрочем, замусоренность диапазона этими устройствами часто преувеличивают — на практике на тех масштабах, где используются IoT-устройства с 2,45 ГГц, Wi-Fi на них никак не влияет (здесь надо понимать, что опыт «а вот из-за соседей у меня в Wi-Fi едва-едва три мегабита реальной скорости» на IoT переносить… опрометчиво: там обычно даже в идеальных условиях потолок в районе 250 килобит).
На практике 2450 МГц обычно используют в помещениях, а 868/915 — как на улице, так и в помещениях. Выбор конкретного диапазона для помещений определяется соотношением габаритов и дальности — например, в устройствах умного дома габариты могут оказаться весьма важны, поэтому 2450 МГц будет удобнее благодаря меньшим размерам антенн.
Канальный и сетевой уровни
Ситуация с канальным и сетевым уровнями несколько веселее. Во-первых, их не имеет большого смысла описывать по отдельности, т.к. с точки зрения используемых технологий одно обычно привязано к другому, во-вторых, если таки делать обзор «всех технологий интернета вещей», то в краткой форме он будет выглядеть вот так:
Поэтому пройдёмся быстренько по конкретным решениям — наиболее известным, причём сразу поделим их на две группы: решения для LAN и для WAN. Отличаются они ровно одним — дальностью связи: LAN имеют размер до 1 км, WAN — более 1 км.
Wi-Fi. Хотя Wi-Fi и пытаются использовать в IoT, это, в большинстве случаев, героические попытки по натягиванию совы на глобус. Wi-Fi — высокоскоростная сеть для устройств с большой батарейкой, и в IoT он применим в крайне ограниченном числе случаев. Как правило, в бытовой технике, которая должна уметь не только включаться в M2M-взаимодействие, но и предоставлять интерфейс напрямую для планшета или смартфона — в этом случае Wi-Fi имеет смысл как интерфейс, в планшете и смартфоне уже присутствующий.
При этом для лампочек и подобных устройств «настоящего массового IoT» Wi-Fi — это кособокий костыль, существование которого обусловлено историческими причинами. Высокая пропускная способность здесь не нужна, дальность стабильной работы Wi-Fi оставляет желать лучшего, энергопотребление — тоже, первоначальная настройка сети не автоматизирована, и наконец — если вы в своём доме на каждую лампочку поставите по Wi-Fi, при первом включении ваш домашний роутер попросту загнётся под напором клиентов.
Теоретически Wi-Fi позволяет обойтись без централизованного хаба, заодно играющего роль гейтвея во внешний мир, в доступные людям и планшетам сети. Но преимущество это, за исключением указанного выше случая с КБТ, иллюзорное — когда у вас в доме счёт умным устройствам идёт на десятки, причём большинство их них предельно банальны, вам придётся делать централизованное управление ими, более того — отвязанное от конкретных мобильных устройств, принадлежащих конкретным членам семьи. Вы в общем случае не хотите, чтобы свет в сортире перестал работать потому, что ребёнок унёс из дома планшет. То есть — хаб всё равно нужен, а будет это прибитый к стенке планшет со специальным ПО или тот же планшет, только ещё и с радиомодулем ZigBee/Z-Wave/6LoWPAN — вопрос не сильно принципиальный.
Альянс Wi-Fi сейчас начал разработку специальной субгигагерцовой версии стандарта для IoT, но в свете наличия альтернатив — о которых ниже — мне это представляется результатом политики «И мы! И мы тоже лидеры IoT!», а не технической необходимостью.
ZigBee. Очень популярное LAN-решение, широко применяемое в устройствах «умного дома» благодаря двум своим свойствам — во-первых, ZigBee не является проприетарным лицензируемым протоколом (в отличие от технически похожего Z-Wave, например), во-вторых, в рамках ZigBee работа описывается вплоть до уровня приложений.
ZigBee может работать и в 868/915 МГц, и в 2450 МГц, в качестве MAC-уровня в нём используется 802.15.4. Топология сетей — ячеистая, скорость до 250 кбит/с. Размер сети может достигать сотен устройств, максимальное число хопов от роутера до конечного устройства — 10 в ZigBee обычном и 30 в ZigBee PRO.
Делать ZigBee-устройства можно на разных платформах, одной из самых интересных являются микроконтроллеры TI серии CC — начиная со старых моделей с процессорным ядром 8051 и заканчивая новейшими CC1310, CC2630 и CC2650 с ARM Cortex M3; CC1310 покрывает диапазоны до 1 ГГц, CC26xx — 2450 МГц, а ещё не вышедший монстр CC1350, смысл которого я пока не понимаю, обладает и вовсе двумя радиоинтерфейсами. Для своих контроллеров TI даёт бесплатный стек ZigBee, более-менее готовый к применению. Для других контроллеров вам придётся искать другие решения, и очень часто они будут оказываться платными.
В целом, ZigBee является хорошим выбором для домашней автоматизации — помимо доступности, он, благодаря включению в стандарт уровня приложений, теоретически обеспечивает совместимость вашей разработки с другими ZigBee-устройствами. Практически, однако, не всё так просто: как минимум, вы столкнётесь с нестандартными расширениями и просто кривой реализацией сторонних устройств, а как максимум — с целенаправленным огораживанием, какое случилось, например, недавно у Philips с их лампочками.
При этом, с другой стороны, если совместимость вас не волнует, то достоинства ZigBee могут превратиться в его же ограничения.
Вообще, совместимость со сторонней продукцией — это вещь, о которой применительно к «умному дому» много говорят, но при этом значит она удивительно мало. Дело в том, что и весь рынок «умных домов» по сию пору крошечный (неудивительно, если дешёвым устройством в нём считается стоящее $50-70), и игроков на нём довольно много — говоря короче, нет того стандарта de facto, за который имело бы смысл уцепиться. Выберете ZWave — получите совместимость с одной грядкой, выберете ZigBee — с другой. Вполне резонным здесь является вопрос, нужна ли совместимость при таких предпосылках вообще — или эффективнее будет перепахать к чертям весь огород.
Z-Wave. По своим возможностям схожее с ZigBee, но полностью закрытое решение для построения ячеистых сетей. Работает в диапазонах 868/915 МГц, платформа — только чипы Sierra Designs или Mitsumi, других вариантов нет. Не самая дешёвая технология, кроме того, чипы обладают невысокой производительностью — они построены на ядрах 8051, поэтому, если вам нужно что-то большее, придётся цеплять внешний процессор.
К недостаткам можно добавить то, что максимальная скорость Z-Wave в его последней версии — 100 кбит/с (впрочем, для сабгигагерцового диапазона это нормально, да и в реальности больше не нужно), максимальное число устройств — 232, хопов от роутера — всего 4 (так что будьте аккуратны с попыткой построения длинных сетей), дальность для субгигагерцовых устройство тоже не сильно большая — 150 метров прямой видимости.
С другой стороны, закрытость ZWave гарантирует хорошую совместимость устройств разных производителей, поэтому если вы решили всё же окучивать чужую грядку вместо перепахивания всего огорода, то Z-Wave может стать разумным выбором.
Подробности про Z-Wave и устройства на нём можно почитать на GT в отличном блоге компании Z-Wave.Me.
6LoWPAN. Одна из свежих разработок в области IoT — IPv6, адаптированный для физического и MAC-уровня ячеистых сетей 802.15.4. Фактически, с 6LoWPAN вы получаете нормальную, разве что не очень быстро работающую, IPv6-сеть, с IP-адресами, сокетами, доступными женщинами и азартными играми. Уровень приложений здесь — полностью на ваше усмотрение, поэтому о совместимости с какими-либо иными устройствами сторонних производителей речи не идёт.
С другой стороны, если вы хотите перепахать весь огород, то 6LoWPAN — выбор, на данный момент близкий к идеальному. Максимальная гибкость, открытый протокол, поддержка как 868/915 МГц, так и 2450 МГц, скорость до 250 кбит/с, возможность построения сети практически неограниченных размеров, расстояние от роутера — до 255 хопов (можно и больше, но не увлекайтесь сильно: максимальное число хопов в ячеистой сети — это аналог TTL пакета, сделаете слишком большим — у вас пакеты вечно будут в сети блуждать, выжирая её пропускную способность). Дальность связи может достигать сотен метров.
С точки зрения аппаратной реализации наиболее интересное решение сейчас — это вышеупомянутые чипы TI CC1310, CC1350, CC2630 и CC2650. Для них TI предоставляет стек 6LoWPAN — и хотя некоторые ритуальные танцы вы исполните, как из-за новизны чипов, так и из-за того, что народ в основном по привычке пилит на них ZigBee, ничего невозможного нет.
Пруфпик:
(это у нас в офисе маленькая IPv6-сеточка из пары модулей на CC2650 нашей разработки и гейта наружу на Unwired One)
LoRa. LoRa — сокращение от Long Range, то есть, в отличие от предыдущих вариантов, это — сеть масштаба района или города, а не квартиры или офиса. Топология сети — звезда (теоретически можно сделать, конечно, и ячеистую, но это не считается стандартным применением), дальность — от нескольких километров в плотной городской застройке до 30-50 км прямой видимости. Диапазон — 868/915 МГц. Скорость — до 250 кбит/с, падает с увеличением расстояния между приёмником и передатчиком. Количество устройств — до 5 тыс. штук/км², но тут есть нюанс, о котором ниже.
Сети LoRa предназначены для существенно более других задач, нежели перечисленные ранее — для сбора данных с большого количества датчиков, рассредоточенных по значительной площади или для управления объектами с теми же свойствами. Например, на LoRa можно сделать управление городским освещением или централизованный сбор данных со счётчиков электроэнергии.
LoRa — проприетарная технология, для её реализации требуется аппаратный модем, присутствующий в выпускаемых компанией Semtech чипах. Своих мозгов эти чипы не имеют, они управляются по SPI от внешнего контроллера — впрочем, в типичных для LoRa применениях это не играет никакой роли, так как гонки за габаритами модуля в них нет.
Помимо собственно технологии LoRa, Semtech также разрабатывает решение LoRaWAN — сетевой стек для сетей LoRa. Но здесь кроется тот самый нюанс…
Хотя любой чип LoRa объединяет в себе приёмник и передатчик, из-за топологии «звезда» максимальный размер сети оказывается ограничен ровно одним — пропускной способностью канала центрального приёмника, который должен успевать проводить радиообмен со всеми подключёнными к нему устройствами. Поэтому для использования в центральном модуле Semtech выпускает чип SX1301 — и, увы, его не только нельзя купить на свободном рынке, но к нему нет даже открытой документации. SX1301 обладает двумя RF-фронтендами и целой тележкой модемов внутри, поэтому может обслуживать те самые 5 тыс. устройств на квадратный километр — но для сторонних разработчиков он доступен только в виде готовых модулей по цене от $180 и выше.
Впрочем, если такая плотность сети вам не нужна, то на обычных абонентских чипах (например, SX1272) также можно сделать центральный модуль «звезды». На десятки конечных устройств при не слишком интенсивном радиообмене его хватит с лихвой.
В некоторых случаях очень интересным выглядит также использование гетерогенных сетей — LoRa для обеспечения покрытия большой территории с ячеистыми «кустами» вокруг каждого LoRa-приёмника для обеспечения высокой плотности покрытия в данной точке.
«Стриж» Напоследок — про отечественную разработку «Стриж». Вы её вряд ли будете использовать из-за её специфичности и присутствия в продаже только в виде готовых устройств, но рассказать-то надо?
«Стриж» — это сеть «звезда» с несколько превосходящими LoRa характеристиками по дальности, существенно меньшей скоростью и двумя раздельными каналами на приём и передачу: абонентские устройства передают данные на частоте 868 МГц, а центральная станция — мощным передатчиком на 446 МГц. Это позволяет увеличить ёмкость сети (определяемую, опять же, тем, со сколькими устройствами центральная станция физически успеет провести радиообмен), а также в некоторых случаях обеспечить лучшее покрытие сети.
Хотя внутреннее устройство модемов авторы не раскрывают, с очень большой вероятностью это — LoRa-чип Semtech SX1276 (он как раз обладает двумя RF-фронтендами, которые можно настроить на разные частоты; при этом, помимо LoRa-модемов, в этих чипах есть и FSK-демодуляторы) и один из младших STM32 в качестве мозгов. На SX1276 более всего, впрочем, указывает другое — заявленная поддержка LoRa-сетей, для которой, как мы помним, необходим аппаратный модем. Можно, конечно, допустить, что Semtech лицензировал «Стрижу» технологии, а «Стриж» заказал на «Ангстреме» кастомные чипы, но… есть тут кто из «Компэла», скажите — у вас из всего Semtech только 1276 на складе именно потому, что вы их под «Стриж» привозили, да? :)
При этом на сайте «Стрижа» есть сравнение их технологии с LoRa, которое в вышеуказанном свете выглядит, скажем так, некрасиво. Например, в нём заявлена стоимость LoRa-модема $29 при стоимости модема «Стриж» $9 — что, конечно, наглое передёргивание: LoRa-модем при прочих равных будет дешевле «Стрижа» как из-за использования одноканального SX1272 вместо двухканального SX1276, так и из-за более простого кварцевого резонатора — «Стрижу» для уличного исполнения нужен дорогой термокомпенсированный TCXO.
Три щелбана им за это.
Автор: Unwired Devices LLC