IoT там, где вы не ждали. Разработка и тестирование (часть 1)

Применением IoT в фитнес-трекерах, колонках, пылесосах уже никого не удивишь. Думали ли вы, что различные датчики можно установить в мусорные контейнеры и мусоровозы для контроля вывоза мусора? Звучит странно и вызывает вопрос: «А зачем?».

Анатолию Коровину случилось поработать на таком проекте, который они делали с нуля. А в этой статье разбор его доклада с конференции Heisenbug, где он подробно рассказал, почему нужно было делать «Умный мусоровоз» и как велись разработка и тестирование этого проекта.

Общая структура доклада показана на картинке ниже. В этой статье мы рассмотрим только то, что закрашено зеленым на схеме.

dhfhpoywrpxqbnzmgx9cqevapvg.png

Проблемы в отрасли


Основные действующие лица:

  • мусорные контейнеры (ну тут все понятно, мы каждый день видим мусорные баки);
  • жильцы многоквартирных домов;
  • региональный оператор (организация отвечающая за работу с твердыми коммунальными отходами (ТКО) в регионе);
  • компании перевозчики мусора (транспортные компании, спецтехника для вывоза ТКО);
  • мусорные полигоны (это и мусорные котлованы, и мусоросжигатели, и заводы по переработке мусора).

Когда мы платим за вывоз мусора, то оценить качество услуги проще всего на основании факта вывоза мусора со двора. Но если погрузиться глубже в этот вопрос и попытаться выяснить, куда перевозчик везет мусор (до полигона или в ближайшую канаву), то возникают сложности. Поэтому одной из задач нашей системы стал контроль добросовестности исполнителей.

Бумажная отчетность


В большинстве регионов, с которыми мы работали, региональные операторы собирали отчеты от перевозчиков в бумажном виде. В отчете фиксируется номер автомобиля перевозчика, его маршрут, время загрузки баков и объем мусора. И сдают эти отчеты один раз (или два раза) в год, так что вы можете представить какой это объем данных.

e0wr0rtymt4_sly202fwivi0cle.png

Сложно проверить


Учитывая, что нет никакого механизма для проверки достоверности этих данных, то во многом отчет принимается «на веру». Для решения проблемы операторы в некоторых регионах установили GPS-трекеры на машины перевозчика и стали отслеживать маршрут транспорта.

Хоть операторы и задали вектор решения верно, целиком задача не была решена — отчеты все также представляли собой кипу бумаг на полках в офисе операторов. Сложно представить, что кто-то станет проверять все руками. Из этой кучи бумаги нужно достать какую-нибудь случайно, открыть программу трекера, сверить время в отчете и на трекере, местоположение машины. И на проверяющего падает слишком большой объем данных.

Помимо этого, есть недобросовестные перевозчики, использующие уязвимости в этой системе. Они постепенно осознали, какие показатели у них проверяют, и начали выстраивать «серые» схемы.

gslpuehtndhu8lwlqjjduc0kx6g.png

Например, перевозчик подъезжает к мусорному контейнеру во дворе, водитель выходит из машины, курит пару минут и уезжает, так и не забрав мусор. Затем он приезжает на ближайшую стройку и загружает себя коммерческим мусором, утилизация которого должна оплачиваться отдельно, потому что это отходы производств и других промышленных предприятий. После этого перевозчик добирается до полигона, где уверенно говорит, что весь этот мусор забрал у подъездов жилых домов.

В таком сценарии маршрут, полученный с GPS-трекера, будет показывать те же самые точки, что фигурируют в отчете перевозчика, но мусор никто не вывез.

И это только один из множества сценариев.

Решаем проблемы при помощи IoT


Чтобы покрыть наибольшее число сценариев, была построена IoT-система, включающая автоматизацию мусорных баков, транспорта перевозчика и мусорные полигоны.

Умные мусорные баки


Для начала мы оборудовали мусорные контейнеры несколькими типами датчиков:

  • Обычный ультразвуковой датчик — определяет уровень заполненности контейнера. Использовать дорогие навороченные системы не имело смысла, поскольку такой девайс по цене iPhone не поставишь в мусорку где-то в удаленном районе, и наверняка его кто-то захочет унести домой.
  • Датчик температуры — телеметрия с него дает понять, не горит ли мусор; акселерометр. Он определяет угол наклона контейнера, и так мы фиксируем в истории, когда приезжал перевозчик и выгружал мусор. А в качестве приятного бонуса мы можем узнать, не перевернули ли вандалы мусорку.
  • RFID-метка. С ее помощью можно однозначно сопоставить, какая машина перевозчика выгружает контейнер.

Все данные передавались через GSM/GPRS, так что никаких проводов, просто прицепили на стенку контейнера, и девайс измеряет уровень мусора перед собой.

Следим за транспортом перевозчика


Для контроля транспорта мы использовали:

  • GPS-трекеры;
  • датчик подъема крана, чтобы отслеживать передвижение арматуры;
  • RFID-считыватель для определения, какой контейнер прицеплен к машине;
  • камера на случай каких-либо разбирательств.

w0db6_dcxazx3hdxsmdj9ssg2cw.png

Как вы думаете, какой датчик оказался самым бесполезным?

Да, снимки с камеры не принесли никакой пользы. Из них не то что гламурный аккаунт в Instagram не соберешь, там даже непонятно, на что смотрим-то:

2k_ssw2orhaa6x4irc7pabe4-xs.png

Камеру довольно сложно установить на спец-транспорте перевозчика так, чтобы фотографии были наглядными. В итоге на фото были: дорога, шлагбаум, лужи и т.д., и изредка контейнерные площадки с не самых удачных ракурсов. Ожидали увидеть различные нарушения перевозки мусора, а на деле мусор — сами фото.

pisihsuakhcgcebpbk_wultyhhu.gif

Контролируем утилизацию мусора


Контейнеры и транспорт подключили, осталось получить телеметрию от конечной точки — мусорного полигона. Для этого на въезде устанавливается огромный весовой стенд. Когда автомобиль заезжает, мы распознаем номер машины и фиксируем данные в базе. На выезде транспорт проходит аналогичную процедуру, и на разнице этих двух значений мы и работаем.

Что дало внедрение системы?


Перевозчики от этой системы получают довольно большой профит, поскольку теперь каждое утро они знают оптимальный маршрут следования. Машины теперь могут отправиться сначала к точкам, где контейнеры полностью заполнены, и затем двигаться по точкам по убыванию уровня заполненности.

m3h1thurvfwagsnfpenut0nwpxq.png

Такие треки разительно отличаются от обычных маршрутов перевозчиков, поскольку без телеметрии предугадать оптимальный вариант довольно сложно.

7wepbsdgqcxfkec4-m95wchl-54.png

Также бывает и такой сценарий: большинство площадок для вывоза мусора скомпоновано в достаточно малой области, но есть одна точка, которая располагается на значительном расстоянии от других. Без телеметрии трудно узнать, нужно ли забирать мусор с этой площадки, и водитель приедет к ней, увидит, что контейнеры пустые, и уедет, потратив время и топливо.

В продолжении этой статьи расскажем, как устроен бэкенд этого проекта и какую специфику привнес IoT в подходы к тестированию.

Анатолий Коровин выступит на ближайшей конференции Heisenbug 2020 Piter, которая пройдет 15-18 июня в онлайне.
Этим летом возможно получить знания не только в области тестирования, но и в распределенных вычислениях, фронтенде, бэкенде, DevОps, мобильных проектах, по билету-абонементу.

© Habrahabr.ru