Как говорит нам Википедия, CAN (англ. Controller Area Network — сеть контроллеров) — стандарт промышленной сети, ориентированный прежде всего на объединения в единую сеть различных исполнительных устройств и датчиков. Режим передачи — последовательный, широковещательный, пакетный.
Непосредственно стандарт CAN компании Bosch определяет передачу в отрыве от физического уровня — он может быть каким угодно, например, радиоканалом или оптоволокном. Но на практике под CAN-сетью обычно подразумевается сеть топологии «шина» с физическим уровнем в виде дифференциальной пары, определённым в стандарте ISO 11898. Передача ведётся кадрами, которые принимаются всеми узлами сети. Для доступа к шине выпускаются специализированные микросхемы — драйверы CAN-шины.
В рамках этой статьи я не буду подробно разбирать всю архитектуру CAN-шины, об этом можно почитать в той же Wiki, а акцентирую внимание на нашем проекте и о том, какую роль в нем играет CAN-шина.
Почему именно CAN-шина?
Видео:STM32 CAN шина. Часть 1. Настройка и странности HALСкачать
Реализация сети умного дома требует надежности и защищенности, какими бы не были удобными беспроводные технологии, но той безопасности, которую дает проводная шина, они не смогут обеспечить. Например сильная электромагнитная помеха с легкостью может формировать мощные наводки, которые вызовут перебои или полностью нарушат работу беспроводных устройств, но ни как не сможет нарушить передачу данных по проводам.
Это и послужило основной причиной заострить свое внимание на протоколе CAN.
Еще один плюс в ее пользу то, что при достаточно большой скорости передачи данных, длина шины может достигать 5 (пяти) километров, что является даже очень неплохим показателем.
Зависимость скорости шины от ее длины | |||
---|---|---|---|
№ | Скорость передачи данных | Предельная длина сети (м) | Примечание |
1 | 1 Мбит/с | 40 | При длине шины более 150 метров рекомендуется ставить так называемые удлинители шины, которые через оптопару соединяют две и более фактически независимые шины. Требование это связано с тем, что сигнал от любого контролера в сети должен должен дойти до всех точек за максимально короткое время. |
2 | 500 Кбит/с | 100 | |
3 | 125 Кбит/с | 500 | |
4 | 50 Кбит/с | 1000 | |
5 | 10 Кбит/с | 5000 |
Для среднестатистической квартиры длина шины вряд-ли превысит 200-300 метров, поэтому мы можем рассчитывать на обмен данными со скоростью до 125 Кбит/сек. Это даже больше, чем требуется, следовательно нагрузка на сеть будет небольшой и в стандартных режимах работы сеть не будет перегружена даже в пиковые моменты.
Схема реализация системы «Умный дом»
Воплощать в жизнь идею автоматизации дома планируется по следующей схеме:
Видео:MCP2515, контроллер CAN шины с интерфейсом SPIСкачать
На контроллер в сети возлагаются следующие роли:
- Мониторинг сети и контроль состояния
- Управление модулями по расписанию (управление сценариями)
- Система экстренного оповещения (сигнализация, различные датчики контроля безопасности)
Контроллер должен мониторить шину, проверять состояние модулей и при необходимости вести журнал логов.
Также, если присутствует модуль связи с сотовой связью, контроллер должен отправлять смс-сообщения на заранее определенные номера в случае каких либо сбоев в системе или наоборот — по входящим сообщениям должен переводить режим работы всей системы в заранее определенные режимы, запускать какие-либо сценарии.
Читайте также: Шина с восклицательным знаком kia
Видео:Система автоматизации на бюджетных KNX компонентахСкачать
Модуль сотовой связи задействуется в том случае, если нет связи с центральным сервером, либо для дублирования критических сообщений системы. В целях безопасности системы, контроллер шины не имеет выхода в интернет напрямую.
CAN-модули должны быть независимыми от контроллера шины. Они должны выполнять свои функции вне зависимости от того, есть ли контроллер в сети или нет. Это делается для того, чтобы в случае временного отключения контроллера от сети не нарушилась работа модулей комфорта, например не перестали работать выключатели света и не отключились все розетки.
Отсутствие контроллера — это внештатная ситуация, но она не должна нарушать основной функционал.
Сервер выполняет роль связи между контроллером и конечными устройствами пользователей, такими как персональные компьютеры, смартфоны. Причем не важно, как осуществляется доступ — локально или через интернет. Соответственно должна быть должным образом настроена безопасность подключения.
Видео:Дешевый умный дом своими руками! Полный гид ОТ и ДО!Скачать
Также на сервер ложится обязанность вести логирование всех состояний системы. Контроллер CAN-шины ведет логи только критических состояний и оповещений, но при наличие подключения к серверу, контроллер отдает всю информацию ему на обработку, пропуская мимо себя все, кроме критичной.
В будущем планируется создать механизм «самообучения» системы. Суть этого заключается в том, чтобы анализирую поведение пользователей, система подстраивалась под нас, автоматически создавая сценарии поведения и делать наше пребывание в доме еще более комфортным. Этот функционал также ляжет на плечи сервера.
Интерфейсные устройства пользователя подключаются по WiFi к системе управления. Им доступен функционал управления системой, настройке сценариев, а также доступ к логам состояния.
Самое интересное, это конечные точки CAN-сети. Они могут работать как независимо от контроллера шины, так и под ее управлением.
Видео:Интеграция Алисы в Умный дом на базе KNX-устройствСкачать
Планируется изготовление нескольких типов универсальных модулей CAN-шины в разном исполнении, подключение к которым кончеными устройствами будет осуществляться через SPI, UART, I2C и т.п., а также с помощью так называемых «сухих контактов».
Планируется создание универсальной прошивки (или нескольких), конфигурирование модулей будет возможно через интерфейс системы. На сегодняшний момент тестируется первый прототип в исполнении под распаечную коробку или подрозетник. По факту окончания тестирования будет выложен материал на сайт в раздел «Решения».
Обновление прошивок модулей происходит через CAN-шину, каждый модуль прошивается отдельно. Контроль версий возлагается на сервер системы.
Множество конечных точек теоретически может достигать до 65 тысяч различных устройств, хотя на деле вряд-ли перевалит за две сотни.
CAN-протокол
Видео:Собрал щит умного дома с Aliexpress и системой ectoControlСкачать
За основу CAN-протокола умного дома взят протокол высокого уровня CANopen, который немного доработан под требование нашей системы.
Сейчас ведется работа по русификации документации. Позднее будет выложена отдельная статья с описанием и готовыми файлами с программным кодом для встраивания в проекты.
🌟 Видео
С чего начать умный дом | Этот шаг сэкономит время и деньгиСкачать
Бюджетный #умныйдом на контроллере #wirenboardСкачать
Arduino CAN Monitor (простейший монитор шины CAN)Скачать
Умный дом KNX на HDL. Что нужно, как работает, сколько стоит? Список оборудования.Скачать
Монтаж и настройка системы Умный Дом MimiSmartСкачать
УМНЫЙ ДОМ: топ крутых устройств | Электроника для дома, товары для дома, обзорСкачать
Подробно про CAN шинуСкачать
Atom Hydrogen - универсальный контроллер умного дома, обзор, возможности, ESP Home, Home AssistantСкачать
Умный дом KNX обучение с нуля "Что такое KNX?"Скачать
Умный Дом за копейки 🔥 РАЗБОР 2021-2022Скачать
Умный дом в 2024! Что такое Matter, Thread и Zigbee?Скачать
Система умный дом для квартиры 115 м2 | щит управления 432 модуля | оборудование WIREN BOARDСкачать
7 ПОЛЕЗНЫХ устройств на АРДУИНО, которые можно собрать за 15 минут.Скачать
Обзор щита автоматизации KNX умный домСкачать