Текст будет дополняться. Вспомню, о чем забыл упомянуть в статье — буду дописывать.
Занялись с другом-инженером внедрением интернета вещей (умных технологий) для яхты.
Интернет вещей — IoT (Internet of Things)
В основе — идея заменить морально устаревшие, начинающие со временем глючить и отсутствующие на совсем старых лодках панели управления. А в целом: привести управление электрооборудованием, мультимедиа-системами в современный вид, обеспечить возможность управления и мониторинга за системами и окружающей обстановкой с мобильных устройств. Помимо этого обеспечить уведомление о штатных и нештатных ситуациях, проблемах и аварийных ситуациях в более наглядном и удобном виде.
Планируем сделать управление системами и отображение данных с датчиков на большом тачскрине со специально написанным для этого интерфейсом. Для контроллера платформы думаем использовать одноплатный компьютер Raspberry Pi, датчики на Arduino с подключением по витой паре или "по воздуху". Опыт построения "умных домов", что у меня, что у коллеги — без малого 10 лет, так что наработок много, включая системы автоматизации с удаленным управлением, работающие уже по 5 и более лет. При этом — он инженер, я айтишник, что разделяет задачи.
Панель управления Bavaria 301/302
Raspberry Pi выглядит вполне перспективно, вокруг проекта уже много всяческих аппаратных и программных разработок. В зависимости от модели, запас производительности очень неплохой. Хотя может посмотрим и в сторону других одноплатников.
LVDS/TTL/DP панели 7—15`` с HDMI адаптером + емкостный тачскрин. Есть в природе и "фирменные" экраны для Raspberry Pi
У Raspberry Pi 3B/3B+ — 40 выводной штырьковый GPIO разъём, включающий в себя общие порты ввода/вывода, а также интерфейсы SPI, I2C, I2S, UART. Т.е. низкоуровневую периферию можно подключить всякую и разную. Применительно к яхтам сходу придумывается:
- Управления слаботочной и силовой нагрузкой, освещением, наружными огнями.
- Датчики уровня жидкости (вода в танках и септик-танке).
- Датчики протечки (вода под пайолами).
- Температуры по каютам, снаружи, температура воды и т.д., давление, влажность, датчики дождя и т.д.
- Расход электроэнергии по источникам с возможностью уведомления о большом расходе теми или иными устройствами (можно предусмотреть возможность автоматического отключения той или иной нагрузки.
- Контроль состояния стартового и сервисных аккумуляторов, уведомление об их разрядке.
- Мониторинг и управление, включая автоматическое, всеми дополнительными источниками питания (солнечные батареи, береговое питание, турбогенераторы, ветряки).
- В эту систему хорошо интегрируются охранно-пожарные системы, видеонаблюдение.
- Датчики утечки газа (с возможностью его перекрытия), датчики дыма, CO/Co2.
- Управление отоплением, вентиляцией, бойлером.
- Датчик крена.
- Датчики освещенности.
- Датчики вибрации.
- Датчики препятствия и расстояния.
- Акселерометры, гироскопы, датчики излучений.
- ИК-датчики.
- Датчики звука.
- И т.д., и т.п. Перечислять возможный функционал можно очень долго. В систему можно внедрить любые датчики, актуаторы и готовые системы известных брендов.
Всяческая мультимедиа, интернет-сервисы, погодные станции и т.п. — это по умолчанию.
Все электронное управление для безопасности планируется дублировать механическим. Предохранители хочется использовать автоматические. Интернет с дублированным каналом. Основной канал — Wi-Fi, резервный — 3G/4G.
Часть датчиков можно сделать беспроводными. У нас отработана стабильная работа многих датчиков до 1 км.
Современное яхтенное оборудование работает по протоколу NMEA2000. Сертифицировать свое оборудование под этот протокол долго, сложно и дорого. Но без вмешательств в него, информацию с этих устройств получить можно, а значит и вывести на свою панель навигационную информацию, данные с лага, эхолота, анемометра, картплоттера, радара и пр. Можно также считать информацию по работе двигателя. На гитхабе видел библиотеки, позволяющие подружить с NMEA в т.ч. и ардуино.
Коли уж мы заговорили про протоколы, то мы планируем использовать MQTT, для чего я поднял уже на VPS Oracle MQTT-брокер (сервер) Rabbit MQ.
В качестве ПО логичным представляется использовать MajorDoMo — это открытая система управления умным домов, с которой уже работают все популярные экосистемы умных домов. Для MajorDoMo уже много софта под разные платформы, много реализованным проектов, как любительских, так и профессиональных промышленных.
Популярные экосистемы: Apple HomeKit, Google Home, Xiaomi, Яндекс с Алисой, Amazon и др.
Экосистемы, бренды и протоколы
Подобные системы пытаются делать, но даже гораздо менее функциональные системы стоят безумных денег.
Типовой интерфейс управления на MajorDoMo
Как Raspberry Pi, так и MajorDoMo — системы кроссплатформенные. На Raspberry Pi можно установить разные операционные системы, начиная от собственной ОС Raspberry Pi OS, заканчивая андроид-сборками (официальная версия от Google пока что в процессе разработки), линукс-системами и даже Windows 10 (при использовании платы с процессором под x86). Соответственно, MajorDoMo работает во всех вариантах.
В ближайшие дни мы перевезем на свой сервер (сейчас мы используем сторонние MQTT-сервера и облачное ПО для управления) управление одной из имеющихся у нас системой (это в основном умные дома, заточенные под управление отоплением, климатом, вентиляцией и различными нагрузками и будем тестировать андроид-приложение.
Управление MQTT с web-интерфейсом, я даже заморочился с сертификатами Let's Encrypt. Предусмотрен всяческий мониторинг работы в реальном режиме времени. Прикрутил пока к своему домену как домен 3 уровня.
Интерфейс авторизации на MQTT-сервер
Web-интерфейс для управления
Примерные возможности интерфейса управления на смартфоне
Работы впереди еще много, но серьезная часть пути уже пройдена.
Комментарии