![](https://habrastorage.org/getpro/habr/upload_files/d98/abc/1fd/d98abc1fda230907b419d4db1d831280.png)
Приключения железного стартапа в России
Здравствуй, дорогой друг или коллега
Материал является продолжением цикла «Приключения железного стартапа в России». Повествующего о сложной судьбе проекта ClimateGuard. Точнее, все задумывалось как цикл. Первая статья «Приключения железного стартапа в России: сбор команды» вышла в далеком 2019 году. Затем стартап ушел в радиомолчание. Чем же все кончилось? – спросишь ты. Улетели к звездам? Низверглись в долину смерти?
Ваш покорный слуга искупает вину перед сообществом и продолжает рассказывать историю героев. Первые материалы будут посвящены подвигам – обзору продуктов, прототипов и прочих железок, ставших результатам нашего беспокойного творчества. По просьбам @cyber_roach - с фотками железа в стиле «ню».
Затем опишу путь:
где и как брали деньги (ведь гранты сами себя не получат);
на каких площадках пробовали продавать (есть ли разница между Tindie и Tinder);
приносит ли результаты реклама DIY (поставка в Индию за нал, перевод через PayPal);
откуда добирали команду (Физтех звездит, Бауманка решает);
в каких выставках участвовали (и главное - зачем?);
с кем сотрудничали (от Ростеха я ушел, от Роснано я ушел, от тебя, Мегафона, подавно уйду!);
и проч. проч. проч.
Но вернемся в настоящее.
Статья посвящена рогатому зверю – IoT анемометру CG-Anemometr с функцией измерения качества воздуха.
Диспозиция
В начале, как водится, пара слов о героях.
ClimateGuard – это железный стартап, созданный с нуля для реализации проектов в области мониторинга климата. Первоначально он занимался пользовательским устройством для создания благоприятной и здоровой среды дома и на работе. Но рок (или рынок) распорядился иначе.
![Модели пары наших текущих проектов Модели пары наших текущих проектов](https://habrastorage.org/getpro/habr/upload_files/180/4b1/eba/1804b1eba552c42f3cd8a70c3b8e9e5c.png)
Год создания: |
2018 |
Дислокация: |
Электрозавод (МЭЛЗ), Москва |
Участники: |
технический аналитик-РП, технический директор, конструктор, схемотехник, разработчик C/C++, разработчик web, верстальщик, разработчик android, 2 дизайнера, сборщик, fullstack гуманитарий (руководитель, продажник, бухгалтер и рассказчик в одном лице) |
Ачивки с момента выхода предыдущей статьи: |
- проект жив (!!!) и летит сквозь долину смерти; |
Итак, характеристика героям дана. Давайте уже о подвигах.
Постановка
Почти в одно время в ClimateGuard обратились две компании с просьбой собрать на пилот устройство, которое может измерять скорость потока воздуха внутри вентиляционной трубы.
Первый клиент – сеть коворкингов SOK. Коллеги прикладывают огромные усилия, чтобы арендаторам было комфортно работать. В каждом офисе должна быть правильная температура, влажность, чистый воздух. Запрос от них звучал приблизительно так: «Хотим получить систему, которая позволит в режиме реального времени смотреть скорость потока воздуха и расход в вентиляциях на каждом этаже».
Второму клиенту помимо скорости потока необходимо было оценивать влажность и количество пыли в вентиляционной трубе. И исходя из значений получаемых параметров климата управлять фанкойлами и проводить замену фильтров.
С учетом всех нюансов установки к системе предъявлялись следующие требования:
передача данных в режиме 24*7*365;
низкие затраты на монтаж;
питание 12 В;
отображение данных в едином интерфейсе;
возможность визуального сравнения значений и динамики данных по разным объектам мониторинга;
наличие api для централизованного сбора данных со всех устройств;
низкая стоимость комплекта для последующего масштабирования.
На момент запроса коллеги осуществляли проверку скорости потока воздуха «в ручном режиме». То есть проводили регулярные разовые замеры в контрольных точках. В качестве оборудования использовались профессиональные анемометры Testo. Ручное измерение – работа кропотливая, занимает много времени и требует наработанных навыков. Так как показания термоанемометра могут сильно различаться в зависимости от расположения трубки с измерительным сенсором в трубе воздуховода. По этой же причине сложно добиться высокой повторяемости значений в ходе повторных замеров.
Архитектура
Чтобы минимизировать затраты и упростить монтаж было принято решение делать устройства максимально автономными.
Анемометр:
устанавливается непосредственно на вентиляционной трубе на стяжки или винты, с выводом сенсорного элемента внутрь трубы (сокращаем количество проводов и узлов в системе, облегчаем монтаж);
самостоятельно собирает данные, обрабатывает их и передает в готовом виде на сервер (отказываемся от центрального «контролера»);
получает питание по кабелю, закрепляемому в клеммный разъем (отказываемся от блока питания);
в качестве интерфейса передачи данных использует wifi, подключаясь к скрытой корпоративной сети (сокращаем затраты на создание дополнительной инфраструктуры передачи данных);
имеет систему индикации состояния, основанную на адресном диоде (облегчаем установку и проверку работоспособности);
имеет кнопку для переключения между режимами «работа/настройка».
Минусом выбранной архитектуры является отсутствие автономности по питанию. Однако, на борту устройства стоит постоянно работающий wifi-модуль, а также большое числа сенсоров. Сенсор анемометра требует постоянного нагрева. В итоге обеспечение работы устройства от аккумулятора видится крайне сложной (читай – дорогой) задачей.
![Техдиректор стартапа на монтаже Техдиректор стартапа на монтаже](https://habrastorage.org/getpro/habr/upload_files/88e/fc1/3f0/88efc13f03d80e2c410a4c986912af38.jpg)
Процесс монтажа устройства в подобной архитектуре сводится к следующим шагам:
1. Определяется место установки, при отсутствии канала для вывода сенсора в вытяжке делается отверстие.
2. К месту установки подводятся провод 12 В.
3. Перед установкой, на устройствах настраиваются параметры wifi-сети.
4. В личном кабинете устройства привязываются к местам установки, проводится проверка работы с сетью и факта передачи данных.
5. Устройство устанавливается «сенсором» в отверстие и закрепляется на металлические стяжки или саморезы, при необходимости – герметизируется.
6. Кабель питания подключается к клемме на устройстве.
7. Устройство включается. После того как контрольные диод на устройстве загорелся «зеленым» монтажник переходит к установке следующего анемометра.
.Компоненты и себестоимость
![В составе анемометра всего 8 компонентов В составе анемометра всего 8 компонентов](https://habrastorage.org/getpro/habr/upload_files/81d/cc1/274/81dcc12743d86d49e21b7d67595200cb.jpg)
в подключенном виде
![](https://habrastorage.org/getpro/habr/upload_files/ef1/7a0/7ab/ef17a07ab77da72dff5d18a7e245941c.jpg)
Для создания анемометра был использован следующий набор компонентов:
контролер esp32;
плата разработки esp32 CG-Board_mini;
датчик скорости потока воздуха CG-Anem;
датчик пыли (частиц) PMS7003;
датчик климата bme680.
![CG_board_mini CG_board_mini](https://habrastorage.org/getpro/habr/upload_files/092/c80/6b5/092c806b5206924ba2a6e669c460b347.png)
Первым делом при разработке автономного IoT датчика на ум приходит плата из семейства TTGO ESP32. Одна беда – к ней нужно колхозно подключать несколько датчиков. Поэтому команда остановила выбор на решении CG-Board_mini. Плата обладает компактным размером 45*70 мм. ESP32 на борту обеспечивает поддержку wifi «из коробки». На плате есть 7 выходов для подключения датчиков, сторожевой таймер (лечит одну из важнейших болячек esp32 – неконтролируемое зависание), 2 адресных RGB-диода, кнопка и 3 разъема питания (USB, DC и клемма) с диапазоном 5 и 12-48В.
![CG-Anem CG-Anem](https://habrastorage.org/getpro/habr/upload_files/ec3/285/3a2/ec32853a2961a5172939abb19169284a.png)
Как правило, в промышленных решениях используют термоанемометры. Из-за их низкой стоимости, отсутствии механических узлов и компактных размеров. В качестве полезного побочного эффекта – такие датчики очень точно измеряют температуру воздуха. Но термоанемометров в модульном исполнении на рынке немного. Сначала команда смотрела в сторону Wind Sensor от Modern Device. Но в ходе тестирования было найдено несколько критических блокеров:
в решении американцев обработка сигнала осуществляется не на модуле, а на стороне внешнего контролера;
датчики не имеют заводской калибровки (а сборка калибровочного стенда под Wind Sensor – трудоемкое и достаточно дорогое удовольствие);
судя по логистике, датчики производятся «под заказ».
В результате приняли решение делать свой модуль термоанемометра – CG-Anem (процессу его разработки будет посвящен отдельный материал). Для пользователей важными оказались следующие особенности датчика:
по точности (0,4 м/с ± 10 %) датчик не сильно уступает профессиональному измерительному оборудованию (устройство Testo средней ценовой категории имеет точность 0,3 м/с ± 10 %);
датчик калибруется производителем и отдает контролеру готовые данные (а значит его легко заменить в случае выхода из строя).
При тестирования IoT-анемометра с датчиком CG-Anem получили неплохую сходимость результатов с эталонным анемометром CEM DT-8880.
![](https://habrastorage.org/getpro/habr/upload_files/40d/401/5e1/40d4015e179c305202a9546707ac15af.png)
![PMS7003 PMS7003](https://habrastorage.org/getpro/habr/upload_files/fbf/d0c/aa7/fbfd0caa751f075481310a2df6a64089.png)
Важным преимуществом датчика пыли PMS7003 являются небольшие размеры (он уж точно компактнее популярного у экоактивистов sds011). Это позволяет помещать его внутрь воздуховода и не городить киборга с трубками забора и выпуска проб. Также датчик дешев, прост в подключении. Его точность подтверждена многочисленными исследованиями небританских ученых (см. напр. «Evaluation of Low-Cost Sensors for Ambient PM2.5 Monitoring»).
![BME680 BME680](https://habrastorage.org/getpro/habr/upload_files/7ae/274/0d2/7ae2740d2f8bddfcedff7e4e648f1533.png)
Bme680 – очень спорное решение. Настроить его работу с esp32 непросто. За счет нагревающегося элемента в сенсоре, необходимого для измерения ЛОС (VOC) датчик может врать по температуре. Но это все равно швейцарский ножик – дешев и измеряет сразу температуру, влажность, давление, VOC и AQI. Сложно подобрать что-то ему на замену.
Себестоимость компонентов:
CG-Board_mini - 2600 рублей;
CG-Anem - 1700 рублей;
PMS7003 - 1300 рублей;
bme680 - 1000 рублей;
кабели, винты и проч. - 100 – 200 рублей;
корпус - 100-200 рублей. .
Итого:
4600 рублей за CG-Anemometr - простая версия анемометра;
6900 рублей за CG-Anemometr PRO - версия, измеряющая пыль, влажность и ЛОС.
Корпус
Требования к корпусу были представлены выше. Поэтому вместо скучного текста в разделе приводятся картинки ранних прототипов и готового решения.
Хочется только обратить внимание на три момента:
Корпуса проектировались под печать на 3d-принтере.
Вместе с пользователями рассматривали возможность крепления устройства к воздуховоду на неодимовые магниты. Идея себя не оправдала, так как для точной и четкой фиксации параметров климата устройство должно быть жестко закреплено на трубе.
Анемометры проектировались с учетом двух вариантов установки чувствительного элемента (датчика скорости потока воздуха) – у края вытяжки и в ее центре. Для второго варианта было решено использовать стойку-удлинитель. Размер которой выбирается исходя из радиуса и геометрии трубы.
Первые фантазии
![](https://habrastorage.org/getpro/habr/upload_files/61a/876/00c/61a87600cf724abc6287612ec658b808.jpg)
еще 10 картинок
![](https://habrastorage.org/getpro/habr/upload_files/c02/299/421/c022994213adc0f88aaa64acf799885d.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/037/ef8/e09/037ef8e0925ed129afe6e42d12d5f46b.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/ce6/6d2/74b/ce66d274bc1c16b97055b5d1a63f017e.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/542/65d/c41/54265dc41784fe3375c85c8cf7cb397c.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/475/a42/f11/475a42f119682876cf409e8338bac4dd.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/a21/713/a12/a21713a12ff171d38527cfa640c76189.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/e31/962/650/e31962650ed987dfec5b930b4d99dda7.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/c8e/d20/489/c8ed20489b28637bac16e6e39d8dc198.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/c49/872/ec2/c49872ec2bfd0fed30a2331df57fbaaa.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/7ae/6aa/17f/7ae6aa17fedbffbf1a0547bccd6215ee.jpg)
Суровый результат
![](https://habrastorage.org/getpro/habr/upload_files/f0c/c6e/6bf/f0cc6e6bfbeb8fbd3dff05a6a8904106.png)
модели трех финальных корпусов
![](https://habrastorage.org/getpro/habr/upload_files/679/b82/508/679b8250841c7d10a01f3e4d8912450c.png)
![](https://habrastorage.org/getpro/habr/upload_files/564/d06/8d9/564d068d9ad11bb209bb3358f66ad37a.png)
![](https://habrastorage.org/getpro/habr/upload_files/1fc/76a/954/1fc76a9547a53ba0316c5387c0336093.png)
![](https://habrastorage.org/getpro/habr/upload_files/ae1/d27/bce/ae1d27bcea177adfd78e5675bc0a3be1.png)
Расположение компонентов
![](https://habrastorage.org/getpro/habr/upload_files/c78/05f/70c/c7805f70c13b0545e2202ec1dd422dbe.png)
еще пара рендеров в стиле "ню"
![](https://habrastorage.org/getpro/habr/upload_files/336/eb0/712/336eb0712d197a6d98d1fcd91150fd82.png)
![](https://habrastorage.org/getpro/habr/upload_files/88d/599/d6a/88d599d6a5da349f6fd82ec92a46138e.png)
![](https://habrastorage.org/getpro/habr/upload_files/79b/ae1/c95/79bae1c95a32f2a6d81bc1dc5168ebdd.png)
![](https://habrastorage.org/getpro/habr/upload_files/f28/956/06d/f2895606d2fcc3cd72a79b0550f204b3.png)
Пример печати
![](https://habrastorage.org/getpro/habr/upload_files/b96/ce1/a9b/b96ce1a9bb8a1de33bed50630cb9ebf4.png)
другие ракурсы
![](https://habrastorage.org/getpro/habr/upload_files/5d6/0b9/330/5d60b9330b7914c9ddc424de95fe48f4.png)
![](https://habrastorage.org/getpro/habr/upload_files/eab/81e/36c/eab81e36c50b6e89297fdf0b176c066e.png)
Модели под печать (для самых любопытных)
архивы с stl
CG_Anemometr (только датчик анемометра)
CG_Anemometr_PRO_low (все датчики, без выноса)
CG_Anemometr_PRO_high (все датчики, удлиненный)
Сбор и обработка данных
Для сбора, анализа и визуализации данных была использована IoT-платформа собственной разработки. Она проста, достаточно функциональна, покрывала пожелания пользователей. И что самое главное – она бесплатна.
![Отображение текущих данных скорости потока воздуха, расходе, температуре, частицах пыли, ЛОС и AQI Отображение текущих данных скорости потока воздуха, расходе, температуре, частицах пыли, ЛОС и AQI](https://habrastorage.org/getpro/habr/upload_files/8a2/ff9/18e/8a2ff918ebc218a6dc9bde0e6be6f001.png)
![Данные о параметрах воздуха на суточном интервале Данные о параметрах воздуха на суточном интервале](https://habrastorage.org/getpro/habr/upload_files/bb6/21c/7ec/bb621c7ecec0dc0f8bd4cd7b735bb464.png)
![Сравнение данных с разных объектов на интервале двух суток. Сравнение данных с разных объектов на интервале двух суток.](https://habrastorage.org/getpro/habr/upload_files/0e1/2fb/984/0e12fb98417a8be5610e133d8cb70923.png)
Для рассылки уведомлений используется телеграм-бот, настраиваемый в web-приложении. Для выгрузки данных на платформе предусмотрено api.
Длительность проекта разработки
Создание датчика CG-Anem заняло 3 месяца. Непосредственно разработка IoT-анемометра длилась около месяца. Задача по тестированию на объекте (по итогам пилотного монтажа) сильно упрощалась за счет поддержки устройством OTA-обновлений.
В проекте участвовали 4 человека. Тайминг выглядел следующим образом.
Задача |
Неделя 1 |
Неделя 2 |
Неделя 3 |
Проектирование корпусов |
12 часов |
12 часов |
8 часов |
Изготовление корпусов |
|
16 часов |
4 часа |
Подготовка прошивки |
28 часов |
12 часов |
12 часов |
Сборка прототипов |
|
4 часа |
8 часов |
Тестирование прототипов |
|
12 часов |
32 часа |
![Анемометр на пилоте Анемометр на пилоте](https://habrastorage.org/getpro/habr/upload_files/0c6/516/55a/0c651655a5a84329bc24563d1e811e44.jpg)
Характеристики IoT анемометра CG-Anemometr
В результате пользователи получили устройство со следующими параметрами.
Общие характеристики устройства | |
Измеряемые параметры |
Скорость потока воздуха, м\с |
Питание |
12 – 48 В, клеммный разъем |
Интерфейсы |
wifi |
Крепление к воздуховоду |
стяжки, саморезы |
Диапазон рабочих температур |
-20°C ... +60°C |
Размер внешней части |
73 х 38 х 25 мм |
Диаметр трубки |
29 мм |
IoT-платформа |
ClimateGuard |
Метрологические характеристики анемометра | |
Тип анемометра |
Термоанемометр |
Диапазон измерения скорости потока |
0.1 … 25 м/с |
Разрешение температуры |
0.1 °С |
Погрешность измерений температуры |
0,5 °С |
Точность |
от 0 до 2 м/с: 0,2 + 5% |
И кругом только тернии, тернии. Когда уже звезды?..
Соратники и сочувствующие, это первый материал с описанием «железок» из планируемого цикла. Маленький, но сильно взволнованный коллектив стартапа ClimateGuard ждет замечаний и будет очень благодарен критике. Постараемся отвечать на все комментарии, обязательно учтем пожелания сообщества в следующих статьях.
Если этот текст заинтересует хабр - далее напишем про разработку самого датчика скорости потока газа CG-Anem. Там есть что рассказать, будет много науки. Недаром наш схемотехник защитил на этом датчике одну из лучших в этом году в Бауманке магистерских работ.
Засим откланиваемся, отдаем свое творение на Ваш суд…
…и верим: «Климат имеет значение!»
Комментарии (18)
Mogwaika
01.08.2021 12:49pms7003 рабочая температура от -10. Как у вас в сумме получилось -20?
yellowknife Автор
01.08.2021 13:33Нужно будет исправить.
Но два момента:
1. Экспертно - PMS7003 на наших проектах корректно работает в -25.
2. Внутри корпуса обычно температура выше за счет нагрева элементов и контролера. В холодное время суток - на 7-10 градусов.
zxosa
01.08.2021 16:06+2Добавить бы возможность установки контрольного значения с релейным выходом (может есть и я не заметил) для интеграции в системы аварийной автоматики (сигнал "авария" на шкаф) . Выглядит интересно, скину знакомым вентиляционщикам.
У меня лично есть вопрос контроля срабатывания систем противодымной вентиляции, и при цене вопроса в 5к это становится реальным. Но нужен ethernet.
yellowknife Автор
01.08.2021 16:30Отвечу по пунктам, как корпорат (в прошлой жизни):
1. Сейчас реле нет. Но есть несколько запросов на реле от коллег, так что добавим модуль в ближайшее время. С установкой контрольного значения проблем не будет и надежность с учетом вочдога получится неплохая. Но если ставить на бой - нужно будет очень плотно погонять систему на тестах - подтвердить корректность работы реле, отсутствие багов...
2. Версия с ethernet есть. Два нюанса:Плата CG_board_mini не поддерживает. ethernet и gsm-модемы. Для этого есть CG_board (не мини) - уже с поддержкой модемов, часами реального времени, памятью, расширенным набором портов. Она только по размеру побольше - 75*75 мм. и в 2 раза дороже.
Помимо более дорогой платы Ethernet обойдется еще в 250 р. Поэтому на партии целесообразно запускать RnD - добавлять к плате типа CG_board_mini поддержку ethernet, убирать лишние порты.
zxosa
01.08.2021 18:25Спасибо, если есть какая либо презенташка вашего устройства, то можете скинуть? Gps.dez@gmail.com
NIK_NIKITA
01.08.2021 18:56Как реализовано общение между esp и android?
yellowknife Автор
01.08.2021 19:12У esp32 есть bluetooth
BLE: запрос - ответ, стандартное общение через Bluetooth сервисы/характеристики
На стороне Андроида есть api для взаимодействия с ble устройствами
wormball
01.08.2021 20:20+1> по точности (0,4 м/с ± 10 %) датчик не сильно уступает
А с различными направлениями ветра тестировали? А то есть подозрение, что показания будут слегка различными при направлениях «поперёк платы»/«вдоль платы» и «от градусника»/«к градуснику».yellowknife Автор
01.08.2021 22:03Именно так. Это особенность любого термоанемометра, у т.ч. ручного - они очень требовательны к установке по потоку.
В вентиляции поток, как правило, идет в одном направлении. На улице, где строгого направления нет, используются чашечные анемометры.
Можно поиграться с сенсором, поставив ч
yellowknife Автор
01.08.2021 22:06чувствительные элементы с двух сторон. Но это сомнительное решение, т.к. смещение угла обдува будет приводить к снижению показаний.
ViktorAPT
02.08.2021 16:02+1Мы вот занимаемся монтажем и обслуживанием вентиляции (в том числе), анемометр очень нужная штука для настройки... Ваш вариант совсем не для народа, нужно бы простое устройство со стандартными выходными сигналами типа 0-10В и др. Ваш вариант для вентиляции в "чистых производствах" или где? Может подача воздуха на технологические нужды?
Может лучше дешовый для умного дома сделать?
yellowknife Автор
02.08.2021 16:19Виктор, добрый день. Получившийся зверь - результат проекта с конкретными потребителями. Основывается на вводных коллег. Очень любим все народное. Поэтому напишите, пожалуйста, сюда или в ЛС мини-ТЗ. Оценим силы и текущую стадию технической готовности компонентов, и в бой. Будет на хабре еще одна статья, совместная))
А теперь самое интересное:
1. Задумывалось все для офисов. Но ограничений по "чистому производству" нет. Испытывали все компоненты в условиях улицы и нулевых температур, ферм, предприятий. Элегантность "рогатого" модуля в том, что там нет нити накаливания, и плата может спокойно лакироваться. Таким образом, в техническом помещении мы просто раз в период достаем анемометр и моем рога под струей воды от пыли, грязи жира. И снова в бой.
2. В большой версии сенсоры пыли и температуры-влажности-ЛОС специально расположены "по потоку", чтобы поток воздуха и содержащиеся в нем "структуры" не оказывали механического воздействия на датчик.
3. Если сравнить описания модульного анемометра CG_Anem в настоящей статье и в datasheet, можно с удивлением обнаружить, что характеристики точности измерения не сходятся. Это не баг, а фича. Модуль выпускается в двух версиях:
- на тонкой плате - с более высокими метрологическими характеристиками;
- на толстой плате, менее точный, но более устойчивый к механическому воздействию.
Для технических нужд используется более толстая версия.
Mogwaika
Какую дополнительную ошибку даёт повышенная влажность воздуха, вводили ли вы дополнительные калибровки по значениям с bme680?
yellowknife Автор
В проекте данные по температуре берутся с модульного анемометра cg_anem. Если делаем уличный проект - температуру обычно тащим с внешнего датчика температуры (опишем в одной из ближайших статей). Ну и единственное что можно делать с bme: проверять температуру внутри устройства и делать офсет.
С нормальным офсетом bme не врет по ЛОС и влажности.
Mogwaika
Я в том плане, что влажность влияет на теплоёмкость воздуха. И если теплоёмкость от температуры по самим градусникам можно править, то ошибку по влажности только через bme.