Inro

About

Создание комплекса по автоматизации управлению наружного освещения от внешних факторов и погодных условий. Решение проблемы отслеживания поломок, мониторинга ресурсов контроллера и фонаря. Комплекс должен быть разработан с использованием NB-IoT Development Kit (DevKit) от МТС

Tasks

  1. Сокращение расходов на электроэнергию за счет адаптирования яркости ламп
  2. Установка более плавной настройки освещения
  3. Прогноз затрат на замену ламп, ресурс которых подходит концу
  4. Выявление перегоревших ламп в цепи и оповещение об этом дежурной бригаде

Work

Competence

В работе участвовало 5 человек:

  • СТО
    • Сбор требований
    • Подготовка технического задания
    • Проектирование системы для эксплуатации
  • Электронщик
    • Проектирование печатной платы
    • Отладка системного комплекса
    • Внедрение электронных компонентов
  • Инженер по проектированию
    • Создание 3d модели
    • Изготовление и печать деталей
    • Работа с измерительными частями
  • Программист
    • Разработка ПО для электроники
    • Разработка облачной инфраструктуры
    • Внедрение инфраструктуры

Stack and functions

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

UI и мониторинг

Мониторинг системы написан весь на ReactJS и выглядит как обычный веб-сайт

Для кого: дежурная бригада, администратор системы

Функции:

  • Включение лампы
  • Отключение лампы
  • Переключение режима автоматический работы лампы
  • Подключение лампы в мониторинг с целью расчёта ресурса лампы в системе
  • Отображение показателей внешней среды лампы, её местоположение, ресурс, ресурс контроллера

Backend система

Инфраструктура системы делится на несколько частей:

  1. Входящие шлюзы телеметрии системы
  2. Обработка и хранение данных
  3. Расчёт и аудит системы для дежурных бригад
  4. Шлюз предоставления ‘плотных’ данных для мониторинга системы
  • Хранение телеметрии данных осуществляется Базой Данных Временных Рядов (InfluxDB)
  • Очередь на запись в InfluxDB осуществляется RabbitMQ
  • Драйвер на чтение/запись в InfluxDB написан на NodeJS
  • Платформа обработки данных Node-RED
  • Кеш-контроллер и моментальные данные складываются в Radis
  • Система оповещения работает по Web-hook в телеграм канал
  • InfluxDB предоставляет все возможные данные по ключам, которые затем отображаются в мониторинге

Аппаратный комплекс

В рамках MVP разработка велась с разным стеком и железом

  1. NodeMCU

    • Arduino программируемый контроллер
    • Отправка телеметрии по wi-fi
    • Работа как драйвера для wi-fi (для разработки устройства ‘2’)
    • Принятие команд по wi-fi от сервера
    • Работа как драйвера тока для генерации шим сигнала токового драйвера ламп
  2. MTS-NbIoT

    • STM32 программируемый контроллер
    • Код расписывался в Mbed среде, для работы с модулем связи
    • TCP сокет для отправки и принятия данных с сервера
    • Управление ШИМ-ом и выводом включения токового драйвера лампы
    • Проектирование отладочной платы для контроллера

Конструкция

В рамках MVP контроллер должен цепляться с фонарём при помощи Nema сокета и отправлять команды драйверу тока непосредственно для управления лампой

Product

  • Платформа мониторинга и управления GithubPages
  • Исходный код платформы Github
  • Черновики сбора и обработки телеметрии Github
  • Презентация