Go в умном доме: опыт успешной интеграции

Проекты и решения на Go

Расширение кругозора

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Узнайте, как расширить возможности Xiaomi Gateway 3 для Home Assistant с помощью Go. Доклад представит уникальный подход к интеграции, сохраняющий оригинальную прошивку устройства и добавляющий новые функции. Погрузитесь в мир open source и разработки embedded ПО.

Целевая аудитория

Кому интересна тема Интернета вещей (IoT).

Тезисы

В докладе я расскажу о своём опыте написания интеграции Xiaomi Gateway 3 для open source-платформы умного дома Home Assistant, где непоследнюю роль сыграл язык Go. Именно на нём написан «демон» для нескольких шлюзов экосистемы Mi Home:
* Xiaomi Multimode Gateway (архитектура MIPS),
* Xiaomi Multimode Gateway 2 (архитектура ARM),
* Aqara Hub E1 (архитектура ARM).

GitHub проекта — https://github.com/AlexxIT/XiaomiGateway3

Мой подход при реализации проекта отличается от большинства подобных решений в мире open source. Обычно разработчики берут готовое устройство, удаляют с него заводскую прошивку и заменяют своей. Примеры таких проектов — OpenWRT для роутеров и OpenIPC для камер.

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

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

Разработчик ряда open source-проектов по тематике smart home и video streaming с опытом программирования более 25 лет.
Автор дополнений для Home Assistant: YandexStation, XiaomiGateway3, SonoffLAN, WebRTC Camera. А также стримингового приложения go2rtc.

@AlexxIT

.

Видео