ООО Беспроводные устройства
Москва, www.unwireddevices.com/
Электроника, приборостроение, бытовая техника, компьютеры и оргтехника... Показать еще
Архитектор
Разработка базовой платформы для построения IoT-решений на базе Mesh-сети стандарта 6LoWPAN и дальнейшая разработка на ее базе решения для конечных заказчиков.
Задача: разработка платформы на базе микроконтроллеров CC1310/CC2650 и RTOS Contiki для применения в IoT и IIoT-проектах, кастомизируемых под конкретного заказчика. Платформа должна обладать возможностями кастомизации софта и железа, иметь криптографическую защиту канала данных, возможность удаленного отказоустойчивого обновления, поддержку спящих низкопотребляющих устройств и активных устройств с временем отклика не более 100мс.
Что было сделано:
Разработана концепция платформы: принципы взаимодействия устройств, протокола, стандарты, автоматический принцип поиска устройств и получение поддерживаемых возможностей.
Разработана система сборки, позволяющая собирать ОС с нашими модулями для любого контроллера CC1310/CC2650, что позволило гибко выбирать частоту и скорость радио-среды для каждого конкретного применения.
Разработан низкоуровневый протокол общения внутри сети: UDBP (Unwired Devices Binary Protocol) протокол работает поверх UDP/IPv6 в версии 6LoWPAN. Возможности: механизм автоматической конфигурации устройств при подключении, версионирование аппаратной и программной платформы для обеспечения обратной совместимости, простая расширяемость, малый размер пакета(бинарный формат), малые накладные расходы возможность передавать до 2 кбайт в пакете.
Разработан транслятор из низкоуровневого протокола в высокоуровневый MQTT/HTTP API.
Произведена глубокая кастомизация RTOS для исправления ошибок, расширения емкости сети(до 200 устройств на сегмент сети), поддержки спящих режимов(от 5мкА потребления).
Разработан бутлоадер для микроконтроллера с поддержкой отказоустойчивого OTA-обновления и внешней Flash-памяти. Отказоустойчивость достигается путем наличия Golden Image — правильной копии ПО контроллера, на которую переключается контроллер в случае, если загрузка с новой версии прошивки не удалась.
Разработана система пакетного обновления множества устройств в сети.
Была проведены работы по популяризации системы среди разработчиков и клиентов.
Реализованные проекты на базе системы:
Система "Умного дома": спящий выключатель(2 года работы от батарей), комбинированный датчик освещённости/температуры/влажности, датчик движения на эффекте допплера, ИК-датчик движения, силовое реле 200в, диммер 220в, модуль бинарных входов/выходов.
Система управления наружным освещением(АСУНО): процессорный модуль для фонаря, управляющий блоком питания фонаря по проприетарному протоколу. Реализовано: удаленное включение/выключение каждого фонаря, получение информации о температуре, токе потребления светодиодной панели, статусе питания, отправка уведомления о поломке, перегреве или выходе за границы штатного режима, высокоуровневый протокол управления на базе MQTT.
Счетчик воды: для заказчика была разработана плата, устанавливаемая в счетчик воды и передающая показания по радио-сети. Плата работает от батареи весь срок до следующей поверки счетчика(6 лет) и передает показания и архив раз в 12 часов. Реализован спящий режим со считыванием позиции диска счетчика оптопарой.
Система уведомления о пожаре: для заказчика была разработана система, интегрируемая со стандартными пожарными датчиками(кнопка уведомления о пожаре, звуковой оповещатель, сенсор задымления). Реализован спящий режим, работа от батарей, режим с экономией энергии и передачей статуса устройства каждые 600 секунд(требования органа сертификации).
Проекты выходного дня:
— Идея и проверка возможности реализации NASM (Neuro Assisted Smart Home) — ассистента умного дома с использованием нейросетей. В случае успеха, УД мог бы предугадывать действия хозяина по управления светом/вентиляцией/температурой еще до их совершения.
Результат: принципиальной невозможности не выявлено, возможность реализации есть, необходимы дальнейшие изыскания. NASM требует развернутого умного дома(~10 комбинированных сенсоров на комнату и возможность полного управление системами дома).
Используемые стеки, языки, технологии, операционные системы:
Lua, С (С99), TI CC1310/CC2650, GIT, 6LoWPAN, Contiki, OpenWrt (Linux), arm-none-eabi, Make, RTOS, DipTrace CAD, MQTT, Markdown, Wireshark, IP-сети, Mesh-сети