Cc debugger mac os

Используем Zigbee в Home Assistant

Добавляем ZigBee к нашей всеядной машине.

В отличие от Z-wave, хабы, поддерживающие ZigBee, доступны и достаточно просты в настройке и их использовании.

И если самым известным Z-wave производителем со своим хабом единолично можно считать FIBARO, то среди ZigBee можно спокойно выделить как минимум трёх «держателей устоев»: Xiaomi(Mijia и Aqara), IKEA TRÅDFRI, Philips Hue.

Поэтому если в случае с Z-wave мы просто вынуждены использовать какое-то решение с поддержкой OpenZWave, то в случае с ZigBee начинающим пользователям проще не вдаваться в подробности и подключать устройства к хабам, а потом уже к Home Assistant или другому центру автоматизации.

Но если вы в душе перфекционист и вы не хотите лишней прослойки в виде отдельного хаба, общающегося с вашим сервером УД по Wi-Fi, то текст ниже для вас.

Благодаря коллегам по цеху: а именно Кирову Илье (@goofyk в telegram) на нашем портале есть ряд статей об использовании zigbee стиков, их настройке и сравнении. Вот одна из них.

Но мы остановимся на одном наиболее доступном и обсуждаемом варианте: стик CC2531 и zigbee2mqtt. Именно эта связка позволит нам управлять устройствами не только от Xiaomi, IKEA и Philips, но и многими другими, включая некие полезные китайские поделки.

Покупка и прошивка стика

Ниже простой перевод оригинальной статьи с GitHub. Настоятельно рекомендуем использовать его.

Windows

  1. Установите SmartRF Flash programmer (Не V2). Это програмное обеспечение бесплатно, но требует аккаунт для того, чтобы его скачать.
  2. Установите CC debugger driver на ваш компьютер. Перед продолжением убедитесь, что CC Debugger driver установлен правильно. Смотри Figure 1. Verify Correct Driver Installation @ Chapter 5.1. Если CC Debugger не распознается, то установить его вручную.
  3. Подключите CC debugger —> Downloader cable CC2531 —> CC2531 USB sniffer .
  4. Подключите ОБА CC2531 USB sniffer и CC debugger к вашему компьютеру через USB.
  5. Если лампочка на CC debugger горит КРАСНЫМ, то нажми кнопку Reset на CC debugger. Теперь цвет лампочки должна измениться на ЗЕЛЕНЫЙ. Если нет, то используй CC debugger user guide для решения проблем.
  6. Скачиваем прошивку CC2531ZNP-Prod.hex
  7. Стартуем SmartRF Flash Programmer, устанавливаем настройки как на скриншоте и нажимаем Perform actions .

Linux или MacOS

  1. Установите необходимые зависимости для CC-Tool используя package center (например для macOS Homebrew )
  2. Соберите cc-tool
  3. Подключите CC debugger —> Downloader cable CC2531 —> CC2531 USB sniffer .
  4. Подключите ОБА CC2531 USB sniffer и CC debugger к вашему компьютеру через USB.
  5. Если лампочка на CC debugger горит КРАСНЫМ, то нажми кнопку Reset на CC debugger. Теперь цвет лампочки должна измениться на ЗЕЛЕНЫЙ. Если нет, то используй CC debugger user guide для решения проблем.
  6. Скачиваем прошивку CC2531ZNP-Prod.hex.
  7. Записываем прошивку:

Установка zigbee2mqtt

Опять же предупрежу, что ниже идет перевод оригинальной статьи от автора zigbee2mqtt

  1. Как и во время настройки Z-wave, выполняем 3 простых шага (выключаем Raspberry, вставляем наш прошитый стик, включаем Raspberry).
  2. Далее определяем порт стика (в отличие от UZB стика здесь будет всё проще). Выполняем команду

и находим в ответе тот порт, у которого в ответе будет что-то про Texas Instruments

  • Устанавливаем сам zigbee2mqtt, выполняя строчку за строчкой следующий набор команд
  • Настраиваем zigbee2mqtt.
    Редактируем файл configuration.yaml

    Добавляем в файл следующие строки (меняем только адрес MQTT сервера, если он у вас поднят не на этой Raspberry)

    Сохраняем файл и закрываем его.
    Стартуем zigbee2mqtt первый раз

    После этого мы должны получить приблизительно такой ответ:

    Если всё ок, то мы можем останавливать zigbee2mqtt(CTRL+C) и переходить к следующему шагу — автозапуск
    Для того, чтобы zigbee2mqtt стартовал автоматически при запуске Raspberry, настроим автозапуск.
    Создаем конфигурационный файл:

    Добавляем в него следующей содержимое, сохраняем и закрываем:

    Как и в случае с запуском Home Assistant ниже несколько tips & tricks на будущее:

  • Процесс обновления (на будущее)
  • Читайте также:  Отформатировал диск линукс его не видит

    Настройка Home Assistant

    Продолжаем традиции и используем за основу оригинальную статью от автора.

    ВАЖНО! Необходимо использование версии Home Assistant не ниже 0.84

      Открываем configuration.yaml Zigbee2mqtt

    и добавляем в самое начало файла

  • Открываем configuration.yaml Home Assistant и добавляем блок с MQTT discovery:
  • После этих действий нам остается начать добавлять устройства в zigbee2mqtt, чтобы они начали появляться в Home Assistant.
  • Спаривание устройств

    Отдельный блок по спариванию устройств каждого производителя представлена опять же на github автора, ниже лишь приведем пример для устройств Xiaomi.

      Первым делом редактируем файл configuration.yaml zigbee2mqtt

    и добавляем строку для добавления устройств

  • Далее ищем наш девайс среди поддерживаемых на странице проекта
  • После того как мы убедились, что наше устройство поддерживается стиком, то находясь недалеко от стика и нашей Raspberry сбрасываем устройство.
  • Большинство MiJia устройств: нажмите и держите кнопку сброса на +/- 5 секунд (до тех пор пока голубой цвет начнет моргать). ВАЖНО: Отпускайте и нажимайте кнопку сброса каждую секунду — при этом обязательно должен моргать голубой свет (если не свет не моргнул, то нажмите кнопку еще раз не дожидаясь следующей секунды). Это будет держать устройство онлайн и заставлять не уходить в сон. Иначе же вы получите ошибку в момент спаривания.
  • Для Aqara устройств всё проще: держите +/- 5 секунд кнопку сброса пока голубой цвет не поморгает 3 раза, после этого отпустите (голубой цвет моргнет еще раз) и ждите.
  • Для Aqara выключателей всё также просто: держите +/- 10 секунд кнопку пока голубой цвет сначала не начнет моргать, а потом закончит, после этого отпустите и ждите.
  • Тем самым мы добавили ещё один протокол, с добавлением которого к имеющемуся Z-wave сможем покрыть около 90% своих потребностей, но это не всё… продолжение следует…

    Источник

    CC-DEBUGGER

    Debugger and Programmer for RF System-on-Chips

    CC-DEBUGGER

    Overview

    The CC Debugger is a small programmer and debugger for the TI Low Power RF System-on-Chips. It can be used together with IAR Embedded Workbench for 8051 (version 7.51A or later) for debugging and SmartRF Flash Programmer for flash programming. The CC Debugger can also be used for controlling selected devices from SmartRF Studio.

    Features

    Contents in the box:

    • CC Debugger
    • Mini USB cable
    • 10-pin flat cable with 2×5 2.54mm connector
    • 10-pin flat cable with 2×5 1.27mm connector
    • Converter board 2.54mm-1.27mm connector
    • Documentation

    CC-Debugger can be used to program and debug the following 8051-based system-on-chips from Texas Instruments:

    • CC1110, CC1111
    • CC2430, CC2431
    • CC2510, CC2511
    • CC2530, CC2531, CC2533
    • CC2540, CC2541
    • CC2543, CC2544, CC2545

    It is possible to control the same devices from SmartRF Studio. In addition, CC-Debugger can control the following transceivers from SmartRF Studio:

    • CC1120, CC1121, CC1125, CC1175
    • CC1100, CC1101, CC110L, CC113L, CC115L
    • CC2500, CC2520

    It can also be used to program the PurePath Wireless devices:

    • CC8520, CC8521
    • CC8530, CC8531
    Читайте также:  Команда diff linux описание

    Источник

    CC2531 + ZigBee2MQTT, отказываемся от шлюзов производителей

    Для подключения ZigBee устройств и датчиков необходим шлюз, который обеспечит взаимодействие между ними. Зачастую каждый производитель выпускает шлюзы поддерживающие только устройства своей экосистемы. Не все шлюзы возможно подключить к альтернативным системам управления и не все, подключенные через шлюз устройства, могут поддерживаться, бывает, что у устройств ограничен функционал. Решить подобные проблемы и объединить наши устройства поможет USB координатор CC2531 стоимостью 5$. Заказать можно на одной известной торговой китайской торговой площадке, устройства предлагаются в двух вариантах, со встроенной и внешней подключаемой антенной, предпочтительнее второй вариант, т.к. при недостаточном уровне сигнала можно заменить антенну на более мощную.

    Для подключения устройств необходимы:

    • USB координатор CC2531.
    • Компьютер для подключения координатора и установки необходимого программного обеспечения, для этих целей прекрасно подходит Raspberry Pi.
    • Программное обеспечение ZigBee2MQTT.
    • Программное обеспечение для работы протокола MQTT (так называемый MQTT брокер), например, Mosquitto.

    Преимущества данного подключения устройств:

    • Датчики и устройства можно подключить к альтернативным системам, таким как Home Assistant, не имея шлюза производителя.
    • Обширный список устройств разных производителей. Полный список поддерживаемых устройств.
    • Можно использовать гибридную систему, часть устройств подключены к шлюзу производителя, часть напрямую к СС2531.
    • Некоторые устройства имеют функции, которых нет при подключении к шлюзу своей экосистемы.

    Схема подключения будет выглядеть следующим образом:

    На сайте проекта ZigBee2MQTT подробно расписан порядок действий, ниже будет представлен вольный перевод того, что необходимо выполнить:

    Прошивка CC2531

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

    • При помощи CC Debugger, покупается на той же площадке где и плата, стоит как два устройства CC2531. Можно поискать у знакомых, которые уже купили данное устройство. Минус, то что оно нужно всего на один-два раза, прошить/обновить плату и. возможно прошить еще одну, которая будет выступать как роутер. Необходим Debug кабель, покупается там же вместе с CC Debugger’ом или отдельно.
    • Прошить с помощью Paspberry Pi. [Инструкция]

    Ниже описан первый вариант для Windows. Оригинал был описан на сайте ZigBee2MQTT. UPD.: на 10.11.2020 страница перенесена, но в общем списке ссылка на нее отсутствует.

    Скачиваем и устанавливаем программу SmartRF Flash Programmer, необходимо зарегистрироваться на сайте, после чего будет доступна ссылка на скачивание. Будьте внимательны! SmartRF Flash Programmer v2 не подходит. [Зеркало]

    Скачиваем и устанавливаем драйвер для CC Debugger, подключите CC Debugger к USB порту, в диспетчере устройств убедитесь, что драйвер установился корректно и устройство определилось. При возникновении проблем установите драйвер вручную. Отключите CC Debugger. [Зеркало]

    Подключить СС2531 к CC Debugger’у при помощи Debug кабеля. Подключить оба устройства (CC2531 и CC Debugger) к USB портам компьютера. Если индикатор на CC Debugger светит красным, то нажать кнопку Reset на CC Debugger, индикатор должен загореться зеленым цветом.

    Скачиваем и распаковываем прошивку для CC2531. Прошивки есть для ZigBee версии 1.2 и 3. Для версии 1.2 есть два вида прошивок Default и Source Routing, автор комментирует так:

    • Если в ZigBee сети до 30 устройств, то рекомендуется версия Default.
    • Если в ZigBee сети более 30 устройств, то рекомендуется версия Source Routing. Данная прошивка поддерживает только 5 прямых подключений к координатору, остальные устройства подключаются через роутеры. Роутером в ZigBee сети обычно выступает любое устройство, подключенное к постоянному питанию, розетки, выключатели, светильники, но выключатели Xiaomi без нулевой линии не являются роутерами. Так же в качестве роутера можно использовать другое устройства CC2531 или CC2530, но прошитые специальной прошивкой.
    Читайте также:  What is windows system32 spoolsv exe

    Запускаем SmartRF Flash Programmer и выбираем:

    • What do you want to program: Program CCxxxx SoC or MSP430
    • Во вкладке Sisten-on-Chip выбираем CC2531
    • Interface: Fast
    • Flash Image File выбираем файл прошивки с расширением *.hex .
    • Location: Primary
    • Actions: Erace, program and verify

    Нажимаем Perfom actions, ждем окончания прошивки модуля.

    Отключаем модуль от компьютера и CC Debugger’а.

    Установка MQTT брокера Mosquitto

    Дальнейшие инструкции описывают установку программного обеспечения на Ubuntu и другие системы на базе Debian, в том числе Raspberry Pi OS.

    В файле /etc/mosquitto/mosquitto.conf должно быть следующее:

    Создадим файл default.conf для внесения своих настроек:

    Для установки пароля в файл /etc/mosquitto/conf.d/default.conf внесем следующее:

    Создаем нового пользователя usermosquitto с паролем passmosquitto для подключения к Mosquitto:

    Вводим пароль для нового пользователя и перезапускаем сервис Mosquitto:

    Установка ZigBee2MQTT

    Подключаем CC2531 координатор к компьютеру, работающему 24/7, самый распространенный вариант это Raspberry Pi где крутится сервис автоматизации, но на самом деле это могут быть разные компьютеры, первый MQTT брокером, второй с сервисом ZigBee2MQTT, третий с сервисом автоматизации 🙂 Но обычно это один компьютер.

    Проверяем подключение устройства в системе:

    Как видно из ответа, наше устройство обнаружилось как ttyACM0 , проверяем:

    Устанавливаем репозиторий Node.js :

    Проверяем версии Node.js и npm:

    Версия Node.js должна быть 10.x или 12.x, npm — 6.x

    Делаем клон репозитория ZigBee2MQTT:

    где user — пользователь, под которым будет работать сервис, group — группа имеющая доступ к папке. Для Raspberry Pi это обычно pi:pi. Пользователь должен входить в группу dialout.

    При корректной установке в ответ будет выведено сообщение вида:

    Предупреждающие сообщения Warning игнорируем.

    Редактируем файл настроек /opt/zigbee2mqtt/data/configuration.yaml :

    homeassistant: true — если вы собираетесь используете интеграцию с Home Assistant.
    permit_join: false — подключение новых устройств. Для подключения новых устройств необходимо выставить в true, рекомендуемое значение false во избежании подключения случайных устройств.
    server: ‘mqtt://localhost‘ — адрес сервера MQTT. Если это тоже самое устройство, то оставляем localhost .
    user: usermosquitto — пользователь с доступом к MQTT серверу.
    password: passmosquitto — Пароль пользователя MQTT сервера.
    port: /dev/ttyACM0 — устройсво CC2531 в системе.
    network_key: GENERATE — ключ безопасности сети ZigBee. GENERATE — при старте будет сгенерирован новый ключ, можно задать вручную: network_key: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5]

    При правильной настройке будет сообщение вида:

    Останавливаем программу Ctrl+C .

    Создаем файл для запуска сервиса при старте системы.

    User=pi — Пользователь, с правами которого запускается сервис. Для Raspberry Pi это обычно пользователь pi.

    Добавляем сервис в автозагрузку и запускаем его:

    Обновление ZigBee2MQTT

    Делаем резервную копию данных:

    Восстановление данных и запуск сервиса:

    Подключение устройств

    Для подключения устройств в файле /opt/zigbee2mqtt/data/configuration.yaml надо установить permit_join: true и перезагрузить сервис.

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

    После подключения всех устройств для повышения безопасности и избежании случайного подключения других устройств в файле /opt/zigbee2mqtt/data/configuration.yaml необходимо установить permit_join: false после чего перезагрузить сервис.

    Выявленные проблемы

    На Ubuntu было лень создавать отдельного пользователя для работы сервиса и программа запускалась от пользователя homeassistant вместе с самим Home Assistant. После нескольких минут работы у Home Assistant отваливалась связь со шлюзами и светильниками Xiaomi. После создания в системе отдельного пользователя и настройки запуска от его имени проблема ушла.

    Источник

    Оцените статью