VontarX3: https://alii.pub/70748o?erid=2SDnjdSRpMG
CC2652p: https://alii.pub/70et68?erid=2SDnjcBn6fk
USB/TTL конвертор: https://alii.pub/6u0umb?erid=2SDnjcaMMPe
Антенна Wi-fi: https://alii.pub/6vjon3?erid=2SDnjeQxoQk
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
В прошлой статье, я Описал, как установить сервер умного дома Home Assistant на приставку (TVBOX) Vontar X3 с процессором Amlogic S905X3. До этого я встраивал Zigbee модуль cc2652p в ТВ приставку H96Max. И многим – эта идея понравилась. Вот сейчас в этой статье Вам и расскажу как это сделать.
Идея следующая: Взять ZIgbee контроллер CC2652P. Подключить его к UART интерфейсу приставки (внутри на плате). И все это будет работать в закрытом корпусе и usb еще останутся свободные.
ну что-ж приступим.
Подготовка контроллера CC2652P.
Контроллер cc2652p нужно прошить, прошивкой, которая сделает из контроллера координатор. А уже в качестве координатора мы настроем его в программе zigbee2mqtt.
Как прошить zigbee контроллер cc2652p, я описал в отдельной статье, так как данный контроллер можно не только использовать в связке с приставкой.
В общем подготавливаем контроллер как координатор по вот этой статье:
Прошивка Zigbee контроллера CC2652P с помощью USB/TTL программатора.
После того как все прошьете, приступим к следующему шагу.
Подключение Zigbee контроллера CC2652P к UART интерфейсу приставки Vontar X3.
UART интерфейс у приставки Vontar X3 в отличии от приставки H96Max виден и подписан. Собственно большого труда его не составит найти.
Как можете видеть из скрина выше, тут uart подписан и у него пины VRTG. Собственно V – это 3.3 вольт, R – это RX, T – это TX и G – это Ground (земля).
Я напаял гребенку контактную которая загнутая и выглядеть стало это вот так:
Это я решил сделать для того, чтоб Zigbee контроллер cc2652p был у меня съемным. И к данной контактной площадке контроллер буду подключать следующим образом:
Ну а по распиновке, как подключить контроллер к уарт интерфейсу приставки, я думаю нужно приложить схему контроллера CC2652P:
Ну и следуя из этой распиновки подсоединять нужно вот так как показано в табличке все:
TV BOX Vontar X3 | CC2652P |
R | DIO_13 |
T | DIO_12 |
V | VCC |
G | GND |
Все подключили по схеме, теперь переходим к следующему этапу.
Установка Операционной системы Armbian и сервера умного дома Home Assistant.
Как установить ОС Armbian, а в последующем на нее установить Home Assitant, я уже описал в статье, на которую просто оставлю тут ссылку. Так что этот шаг нужно проделать перейдя по ссылке:
Установка Armbian и Home Assistant на TV Box VONTAR X3 на процессоре Amlogic S905X3
Ну а далее, после установки Home Assitant и Armbian приступаем к следующему шагу
Отключение Debug на uart интерфейсе приставки Vontar X3 на Amlogic S905X3.
Значит, смотрите. Тот UART интерфейс который выведен на приставке предназначен, для того, чтоб подключиться к консоли приставки, авторизироваться и производить настройки. Так-же видеть этапы загрузки и ошибки, если они появляются, до включения монитора.
Особенность UART интерфейса, такая, что к нему можно подключиться только одному устройству или программе. Так как этот интерфейс работает в режиме вывода консоли, то он у нас всегда в системе занят.
Наша задача его освободить. Делается это очень просто. Нужно просто ввести пару команд в операционной системе armbian.
В общем debug этот интерфейс имеет название /dev/ttyAML0 . Вот его и будем высвобождать.
Итак, сначала вводим команду:
sudo lsof -n | grep /dev/ttyAML0
Она выведет нам, занят ли чем-то интерфейс ttyAML0 или нет. Если ничего не вывело, то он свободен, но в нашем случае он занят.
Из приведенного скрина выше видим, что порт ttyAML0 действительно занят программой agetty.
В общем далее приступаем к отключению программы aggety от порта ttyAML0.
Преходим в папку systemd:
cd /etc/systemd/system
В этой папке нам нужно отключить службу serial-getty@ttyAML0.service
systemctl stop serial-getty@ttyAML0.service
Командой выше мы останавливаем serial-getty и он больше не держит наш интерфейс ttyAML0. Но после перезагрузки, он снова его схватит. По этому нужно еще выполнить следующую команду:
systemctl mask serial-getty@ttyAML0.service
после ввода этой команды, перезагрузка уже не запустит serial-getty и порт ttyAML0 будет всегда свободен.
Этого нам хватило с приставкой H96Max, но тут нужно сделать еще одну манипуляцию. А именно в файле /boot/uEnv.txt удалить параметр который отвечает за этот Uart интерфейс.
nano /boot/uEnv.txt
И удалить вот эту надпись: console=ttyAML0,115200n8 в строчке “APPEND”
В общем удаляем её. Сохраняем файл, перезапускаем приставку и можно приступать уже к настройке Zigbee2mqtt в Home Assistant.
Установка и настройка Mosquitto brocker.
Следующие шаги уже будем проводить в Home Assistant.
А именно нужно установить и настроить MQTT сервер Mosquitto brocker.
Для этого в Home Assistant переходим в Настройки-> Дополнения -> Магазин дополнений и устанавливаем оттуда Mosquitto Brocker.
После установки Mosquitto brocker и перед его запуском, нужно зайти во вкладку “Конфигурация” этого аддона и прописать там логин и пароль для подключения к mqtt.
задаем там логин и пароль и нажимаем кнопку сохранить.
После этого запускаем дополнение Mosquitto Brocker.
Теперь переходим в Настройки -> Интеграции -> добавить новую интеграцию -> MQTT
Ну и тут Вводим в графе “Брокер” ip адрес самого сервера Home Assistant.
Порт 1883
Логин и пароль – те которые задали выше. В моем случае это mqtt mqtt.
Ну и нажимаем кнопочку Подтвердить.
Все на этом настройка MQTT закончена и переходим к настройке Zigbee2mqtt.
Настройка Zigbee2mqtt.
Для начала нам нужно зайти в настройки -> Дополнения -> Магазин дополнений -> там нажать вверху троеточие и добавить новый репозиторий.
Сама ссылка которую нужно вставить вот: https://github.com/zigbee2mqtt/hassio-zigbee2mqtt
После этого нужно перезагрузить Home Assitant и в магазине Дополнений появится наше дополнение Zigbee2mqtt, которое нам нужно будет установить.
Ну и после установки, zigbee2mqtt не запускаем, а переходим в Конфигурацию этого дополнения и нам тут нужно прописать порт. В графе Serial
А именно:
port: /dev/ttyAML0
После этого все сохраняем и запускаем аддон Zigbee2mqtt. И все у Вас должно работать.
Вот для примера я добавил датчик открытия двери:
В совокупности из этих 3х статей мы получаем довольно не дорогую ТВ приставку со встроенным Zigbee. Которая может работать от USB HDD и производительностью не хуже Raspberry pi 4.