Мы с большим любопытством заглянули в R&D-отдел наших давних партнеров — компании Стриж, которая сама разрабатывает и производит в России базовые станции, конечные устройства IoT, протоколы передачи и ПО. Большая часть наших вопросов касалась организации процесса разработки и трудностей, с которыми они сталкивались.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/4eb/378/b69/4eb378b69f0b4a4d07e8a2b85020725e.png)
Тот, кто в теме IoT, наверняка слышал про компанию Стриж. Это производитель беспроводных устройств класса LPWAN (Low-Power Wide-Area Network) для интернета вещей. Они разрабатывают системы телеметрии для ЖКХ, безопасности, «умных» городов и сельского хозяйства. Причем создают полный комплекс устройств, включая различные счетчики (электроэнергии, газа, воды), базовые станции, сервера сбора статистики и облачные интерфейсы доступа к данным, а все производство находится в России.
Главной их разработкой является радиопротокол XNB (Extended Narrowband). Благодаря работе в сверхузкой полосе XNB позволяет передавать сигнал в городе до 10 км. Он адаптирован для передачи сигнала мощностью до 25 мВт на частоте 868,8 МГц (не требует разрешений и лицензий).
Особенностью протокола является высокая проникающая способность. Конструкции зданий не являются серьезной преградой, а передача возможна из подвалов и через толстые стены, там где не «ловит» GSM.
Все данные передаются в зашифрованном виде, поддерживаются следующие алгоритмы шифрования: AES-128, XTEA-256, ГОСТ Р34.12-2015.
Основной список устройств выглядит так: однофазные/трехфазные электросчетчики, счетчики воды, газа, теплосчетчики, радиомодемы, базовые LPWAN-радиостанции, DevKIT XNB. В счетчиках примечательно то, что в условиях городской застройки они могут отправлять сигнал на расстояние до 10 км, а от одной встроенной батарейки емкостью 3600 мАч работать 10 лет.
Внешне эти приборы выглядят вот так:
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/9ee/329/f40/9ee329f407476689a37ceefe61b4ed1c.jpg)
Счетчик воды СВК 15-3-2 с радиомодемом «СТРИЖ» ДУ15 110 мм
Электросчетчик А3 со встроенным LPWAN-радиомодемом
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/76c/c0f/b04/76cc0fb04b83d06111d3919b511061b6.jpg)
Радиомодем «СТРИЖ», интегрированный с датчиком протечки
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/17d/814/b99/17d814b99a663af81d9592e726e94f88.jpg)
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/826/3ce/4e7/8263ce4e7a93283f9b022b0ba6e7c81a.jpg)
Базовая LPWAN-радиостанция «СТРИЖ»
Вот некоторые из ее характеристик:
Еще в их арсенале есть комплект для разработчиков.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/c86/37c/732/c8637c732185fa8411974eec9ad8e3b1.jpg)
DevKIT XNB
В основе DevKIT лежит XNB модем, основанный на чипе Semiconductor ax8052f143 с архитектурой 8051 и богатой радиопериферией. На плате установлено две антенны: одна, передающая, работает на частоте 868,8 МГц, вторая, принимающая, — на частоте 446 МГц.
При разработке IoT-устройства не стоит беспокоиться о протоколе радиосвязи или шифровании, модем все сделает сам, ему нужно лишь передать данные по UART и команду на отправку. При получении данных модем также расшифрует данные и передаст их на обработку микроконтроллеру.
Для более серьезных задач есть возможность использовать SDK самого чипа Semiconductor ax8052f143 с библиотеками XNB. Это позволяет отказаться от внешнего управляющего микроконтроллера и снизить энергопотребление устройства в целом. Правда, придется приложить больше усилий при разработке прошивки.
Первый вариант — когда какой-либо производитель водо- или электросчетчиков обращается за добавлением к своим продуктам функций передачи показаний по радиоканалу. В этом случае каждая компания занимается разработкой/доработкой своей части, что ускоряет процесс в целом. Готовое «умное» устройство выходит уже через месяц, при этом работает один программист и один схемотехник, и большую часть времени устройство тестируется на стенде.
Второй вариант — устройство разрабатывается под требования поставщика электроэнергии или водоснабжающей компании. При таких заказах компания чаще всего должна участвовать в тендере, и с точки зрения финансов это наиболее затратный вариант. Но в случае победы все вложенные инвестиции окупятся. Например, по такой схеме Стриж работал с Мосэнергосбытом.
Первый этап — формулировка технического задания. Для IoT устройств Стриж в него всегда входят такие требования, как длительная (порядка 10 лет) работа от батареи, дальность передачи данных в городе 10 км, на открытом пространстве — 50 км, тип связи (односторонняя или двусторонняя).
Затем начинается разработка схем. Специалисты придумывают компонентную базу, определяют расположение элементов внутри корпуса и места размещения антенн, выбирают материал корпуса, которой позволит обеспечить хорошие радиохарактеристики в том или ином конкретном случае.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/21e/c36/ce6/21ec36ce64212ec3d6857ebd0af63922.jpg)
Отечественные элементы поставщики привозят без предварительной оплаты, что сильно ускоряет производство. Радиочипы Semiconductor ax8052f143 закупаются напрямую у производителя большими партиями, что позволяет получить максимально низкую цену.
Печатные платы производятся в Зеленограде компанией «Резонит», которую знает, пожалуй, любой радиолюбитель.
В разработке постоянно находятся несколько устройств.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/259/d00/8e8/259d008e80c65efb1c05e47a60b1df52.jpg)
После выпуска платы за дело берутся программисты. Прошивку для устройства обычно пишет один человек. После этого устройство устанавливается на стенд и тщательно тестируется, поскольку впоследствии оно должно будет проработать без сбоев в течение нескольких лет. Мощность передачи сигнала не может превышать 25 мВт. Для контроля у каждого инженера есть осциллограф и средства для анализа радиоэфира. Если в течение месяца устройство работает без сбоев, разработка считается завершенной.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/3b7/db8/2e1/3b7db82e1a43acf1d1acbcaa448b0138.jpg)
Поскольку каждое устройство уникально, во время разработки приходится решать много новых проблем. Больше всего разработчиков Стрижа заботит вот такой список задач:
Счетчики воды или газа могут только отправлять сигнал (uplink) на базовую станцию и, соответственно, оснащены только одной антенной на 868,8 МГц. Электросчетчики, помимо отправки показаний, должны еще и принимать изменение тарифного расписания. Принимает сигнал (downlink) от базовой станции электросчетчик на частоте 446 МГц. Антенны должны располагаться таким образом, чтобы не мешать работе друг друга, при этом нужно не забывать про габариты устройства.
Для передачи радиосигнала на максимальную дальность антенна должна быть правильно сконструирована и расположена внутри корпуса. Тестирование антенн происходит в реальных условиях. Например, электросчетчик устанавливается в металлическом шкафу и отправляет данные при закрытой дверце. При этом внимание в первую очередь уделяется коэффициенту стоячей волны (КСВ) антенны и в меньшей степени — диаграмме направленности.
Ширина полосы канала передающего устройства составляет всего 100 Гц. Узкополосный сигнал и высокая мощность на каждый бит обеспечивают хороший энергетический потенциал канала связи и высокую помехоустойчивость, но в то же время тут становится сложно попасть на правильную частоту при downlink. Поэтому с помощью сложных программных алгоритмов приходится прогнозировать уход частоты.
Чтобы не ухудшить характеристики, но при этом сэкономить на компонентах, постоянно приходится изобретать ноу-хау. Например, тот же блок питания для электросчетчика с 220 В на 12 В должен быть компактный, с хорошими выходными характеристиками. При этом стоить не дороже $2.
Базовая LPWAN-станция представляет собой компьютер с ОС Linux Debian Jessie в герметичном противоударном корпусе с SDR-приемником и передатчиком и большой антенной. Она может эксплуатироваться в любом уголке России, поэтому требования к рабочей температуре очень серьезные: от -40 до +60 °С.
БС тестируется в специальной морозильной камере, а также в южных городах нашей Родины, где летом температура на солнце может достигать 50°С. Во всех случаях работа системы должна быть стабильной.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/aff/3e7/4ea/aff3e74eafd03f377cf91dd4cbe9fe56.jpg)
Обычно нагрузка на облако идет равномерная, но если, например, базовая станция коттеджного поселка не сможет передать данные со счетчиков в сервис «СТРИЖ.Cloud» по причине обрыва интернет-кабеля, то она начинает накапливать их и после восстановления интернет-соединения может отправить более миллиона сообщений, что по сути является подобием DoS-атаки.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/4b1/91c/e4b/4b191ce4b82c706102701ac218c44e86.jpg)
Помимо основных функций по поддержке, на инженерах лежит задача по отслеживанию аномальной активности или наоборот, не активности абонентского оборудования. Если устройство давно не выходило на связь, то требуется выезд специалиста, который выяснит причину. Возможно, счетчик был накрыт металлической плитой, не пропускающей радиосигналы.
На случай вмешательства владельцев в работу устройства (например, остановку счетчика с помощью магнита) приборы оснащены датчикам магнитного поля и рядом других сенсоров.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/1f1/125/42c/1f112542ca19b831fe571cf504d7216c.png)
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/af1/600/c7e/af1600c7e40bc1b183dc49bf277c4c15.png)
Вот такой список забот есть сегодня у российских разработчиков IoT, которые, кстати, готовы поделиться своим опытом. Три специалиста Стрижа выступят на нашей январской конференции InoThings++ 2018. У Андрея Цислава, технического директора, будет доклад на тему «Разработка устройств IoT — то о чем не написано в книгах», руководитель интернет-разработки Сергей Аксенов раскроет тему «Антипаттернов разработки программных комплексов для интернета вещей», а Станислав Елизаров, руководитель отдела сетевой инфраструктуры, выступит c докладом «Почти надежные решения».
Для заинтересованных у нас есть небольшой бонус — код на 15-процентную скидку на билеты (HabraIoT2018), который надо ввести при регистрации.
Не-не, не так. Мы приняли решение сделать первую конференцию для разработчиков интернета-вещей полностью бесплатной. Регистрируйтесь и приходите!
![](https://habrastorage.org/getpro/habr/post_images/4eb/378/b69/4eb378b69f0b4a4d07e8a2b85020725e.png)
Тот, кто в теме IoT, наверняка слышал про компанию Стриж. Это производитель беспроводных устройств класса LPWAN (Low-Power Wide-Area Network) для интернета вещей. Они разрабатывают системы телеметрии для ЖКХ, безопасности, «умных» городов и сельского хозяйства. Причем создают полный комплекс устройств, включая различные счетчики (электроэнергии, газа, воды), базовые станции, сервера сбора статистики и облачные интерфейсы доступа к данным, а все производство находится в России.
Главной их разработкой является радиопротокол XNB (Extended Narrowband). Благодаря работе в сверхузкой полосе XNB позволяет передавать сигнал в городе до 10 км. Он адаптирован для передачи сигнала мощностью до 25 мВт на частоте 868,8 МГц (не требует разрешений и лицензий).
Особенностью протокола является высокая проникающая способность. Конструкции зданий не являются серьезной преградой, а передача возможна из подвалов и через толстые стены, там где не «ловит» GSM.
Все данные передаются в зашифрованном виде, поддерживаются следующие алгоритмы шифрования: AES-128, XTEA-256, ГОСТ Р34.12-2015.
Что именно они производят
Основной список устройств выглядит так: однофазные/трехфазные электросчетчики, счетчики воды, газа, теплосчетчики, радиомодемы, базовые LPWAN-радиостанции, DevKIT XNB. В счетчиках примечательно то, что в условиях городской застройки они могут отправлять сигнал на расстояние до 10 км, а от одной встроенной батарейки емкостью 3600 мАч работать 10 лет.
Внешне эти приборы выглядят вот так:
![](https://habrastorage.org/getpro/habr/post_images/9ee/329/f40/9ee329f407476689a37ceefe61b4ed1c.jpg)
Счетчик воды СВК 15-3-2 с радиомодемом «СТРИЖ» ДУ15 110 мм
![](https://habrastorage.org/webt/9e/tv/lj/9etvljl7yet4_6y9h62oqvqjo2i.png)
![](https://habrastorage.org/getpro/habr/post_images/76c/c0f/b04/76cc0fb04b83d06111d3919b511061b6.jpg)
Радиомодем «СТРИЖ», интегрированный с датчиком протечки
![](https://habrastorage.org/getpro/habr/post_images/17d/814/b99/17d814b99a663af81d9592e726e94f88.jpg)
![](https://habrastorage.org/getpro/habr/post_images/826/3ce/4e7/8263ce4e7a93283f9b022b0ba6e7c81a.jpg)
Базовая LPWAN-радиостанция «СТРИЖ»
Вот некоторые из ее характеристик:
- Радиус действия: до 10 км — городская среда; до 50 км — открытое пространство
- Чувствительность:
-142 дБм
- Частотный диапазон: 400 МГц — 1 ГГц, включая 433 МГц и 868,8 МГц
- Скорость передачи данных: Downlink 200, 500, 5000, 57600 бод/сек, Uplink 50, 4000 бод/сек
Еще в их арсенале есть комплект для разработчиков.
![](https://habrastorage.org/getpro/habr/post_images/c86/37c/732/c8637c732185fa8411974eec9ad8e3b1.jpg)
DevKIT XNB
В основе DevKIT лежит XNB модем, основанный на чипе Semiconductor ax8052f143 с архитектурой 8051 и богатой радиопериферией. На плате установлено две антенны: одна, передающая, работает на частоте 868,8 МГц, вторая, принимающая, — на частоте 446 МГц.
При разработке IoT-устройства не стоит беспокоиться о протоколе радиосвязи или шифровании, модем все сделает сам, ему нужно лишь передать данные по UART и команду на отправку. При получении данных модем также расшифрует данные и передаст их на обработку микроконтроллеру.
Для более серьезных задач есть возможность использовать SDK самого чипа Semiconductor ax8052f143 с библиотеками XNB. Это позволяет отказаться от внешнего управляющего микроконтроллера и снизить энергопотребление устройства в целом. Правда, придется приложить больше усилий при разработке прошивки.
С чего начинается разработка
Первый вариант — когда какой-либо производитель водо- или электросчетчиков обращается за добавлением к своим продуктам функций передачи показаний по радиоканалу. В этом случае каждая компания занимается разработкой/доработкой своей части, что ускоряет процесс в целом. Готовое «умное» устройство выходит уже через месяц, при этом работает один программист и один схемотехник, и большую часть времени устройство тестируется на стенде.
Второй вариант — устройство разрабатывается под требования поставщика электроэнергии или водоснабжающей компании. При таких заказах компания чаще всего должна участвовать в тендере, и с точки зрения финансов это наиболее затратный вариант. Но в случае победы все вложенные инвестиции окупятся. Например, по такой схеме Стриж работал с Мосэнергосбытом.
Сам процесс
Первый этап — формулировка технического задания. Для IoT устройств Стриж в него всегда входят такие требования, как длительная (порядка 10 лет) работа от батареи, дальность передачи данных в городе 10 км, на открытом пространстве — 50 км, тип связи (односторонняя или двусторонняя).
Затем начинается разработка схем. Специалисты придумывают компонентную базу, определяют расположение элементов внутри корпуса и места размещения антенн, выбирают материал корпуса, которой позволит обеспечить хорошие радиохарактеристики в том или ином конкретном случае.
![](https://habrastorage.org/getpro/habr/post_images/21e/c36/ce6/21ec36ce64212ec3d6857ebd0af63922.jpg)
Отечественные элементы поставщики привозят без предварительной оплаты, что сильно ускоряет производство. Радиочипы Semiconductor ax8052f143 закупаются напрямую у производителя большими партиями, что позволяет получить максимально низкую цену.
Печатные платы производятся в Зеленограде компанией «Резонит», которую знает, пожалуй, любой радиолюбитель.
В разработке постоянно находятся несколько устройств.
![](https://habrastorage.org/getpro/habr/post_images/259/d00/8e8/259d008e80c65efb1c05e47a60b1df52.jpg)
После выпуска платы за дело берутся программисты. Прошивку для устройства обычно пишет один человек. После этого устройство устанавливается на стенд и тщательно тестируется, поскольку впоследствии оно должно будет проработать без сбоев в течение нескольких лет. Мощность передачи сигнала не может превышать 25 мВт. Для контроля у каждого инженера есть осциллограф и средства для анализа радиоэфира. Если в течение месяца устройство работает без сбоев, разработка считается завершенной.
![](https://habrastorage.org/getpro/habr/post_images/3b7/db8/2e1/3b7db82e1a43acf1d1acbcaa448b0138.jpg)
Поскольку каждое устройство уникально, во время разработки приходится решать много новых проблем. Больше всего разработчиков Стрижа заботит вот такой список задач:
- Взаимное влияние антенн
Счетчики воды или газа могут только отправлять сигнал (uplink) на базовую станцию и, соответственно, оснащены только одной антенной на 868,8 МГц. Электросчетчики, помимо отправки показаний, должны еще и принимать изменение тарифного расписания. Принимает сигнал (downlink) от базовой станции электросчетчик на частоте 446 МГц. Антенны должны располагаться таким образом, чтобы не мешать работе друг друга, при этом нужно не забывать про габариты устройства.
- Расположение антенны в устройстве
Для передачи радиосигнала на максимальную дальность антенна должна быть правильно сконструирована и расположена внутри корпуса. Тестирование антенн происходит в реальных условиях. Например, электросчетчик устанавливается в металлическом шкафу и отправляет данные при закрытой дверце. При этом внимание в первую очередь уделяется коэффициенту стоячей волны (КСВ) антенны и в меньшей степени — диаграмме направленности.
- Прогнозирование ухода частоты
Ширина полосы канала передающего устройства составляет всего 100 Гц. Узкополосный сигнал и высокая мощность на каждый бит обеспечивают хороший энергетический потенциал канала связи и высокую помехоустойчивость, но в то же время тут становится сложно попасть на правильную частоту при downlink. Поэтому с помощью сложных программных алгоритмов приходится прогнозировать уход частоты.
- Стоимость устройства
Чтобы не ухудшить характеристики, но при этом сэкономить на компонентах, постоянно приходится изобретать ноу-хау. Например, тот же блок питания для электросчетчика с 220 В на 12 В должен быть компактный, с хорошими выходными характеристиками. При этом стоить не дороже $2.
- Перегрев базовой радиостанции
Базовая LPWAN-станция представляет собой компьютер с ОС Linux Debian Jessie в герметичном противоударном корпусе с SDR-приемником и передатчиком и большой антенной. Она может эксплуатироваться в любом уголке России, поэтому требования к рабочей температуре очень серьезные: от -40 до +60 °С.
БС тестируется в специальной морозильной камере, а также в южных городах нашей Родины, где летом температура на солнце может достигать 50°С. Во всех случаях работа системы должна быть стабильной.
![](https://habrastorage.org/getpro/habr/post_images/aff/3e7/4ea/aff3e74eafd03f377cf91dd4cbe9fe56.jpg)
- Облако
Обычно нагрузка на облако идет равномерная, но если, например, базовая станция коттеджного поселка не сможет передать данные со счетчиков в сервис «СТРИЖ.Cloud» по причине обрыва интернет-кабеля, то она начинает накапливать их и после восстановления интернет-соединения может отправить более миллиона сообщений, что по сути является подобием DoS-атаки.
![](https://habrastorage.org/getpro/habr/post_images/4b1/91c/e4b/4b191ce4b82c706102701ac218c44e86.jpg)
- Поддержка
Помимо основных функций по поддержке, на инженерах лежит задача по отслеживанию аномальной активности или наоборот, не активности абонентского оборудования. Если устройство давно не выходило на связь, то требуется выезд специалиста, который выяснит причину. Возможно, счетчик был накрыт металлической плитой, не пропускающей радиосигналы.
На случай вмешательства владельцев в работу устройства (например, остановку счетчика с помощью магнита) приборы оснащены датчикам магнитного поля и рядом других сенсоров.
![](https://habrastorage.org/getpro/habr/post_images/1f1/125/42c/1f112542ca19b831fe571cf504d7216c.png)
![](https://habrastorage.org/getpro/habr/post_images/af1/600/c7e/af1600c7e40bc1b183dc49bf277c4c15.png)
Вот такой список забот есть сегодня у российских разработчиков IoT, которые, кстати, готовы поделиться своим опытом. Три специалиста Стрижа выступят на нашей январской конференции InoThings++ 2018. У Андрея Цислава, технического директора, будет доклад на тему «Разработка устройств IoT — то о чем не написано в книгах», руководитель интернет-разработки Сергей Аксенов раскроет тему «Антипаттернов разработки программных комплексов для интернета вещей», а Станислав Елизаров, руководитель отдела сетевой инфраструктуры, выступит c докладом «Почти надежные решения».
Не-не, не так. Мы приняли решение сделать первую конференцию для разработчиков интернета-вещей полностью бесплатной. Регистрируйтесь и приходите!