Это старая версия документа!
Стик JetHome ZB6UX предназначен для работы в качестве координатора или роутера Zigbee и может использоваться для управления другими беспроводными устройствами домашней инфраструктуры, работающими по протоколу Zigbee, в составе контроллера «Умного дома» с установленным и настроенным соответствующим программным обеспечением.
Стик выполнен на базе современного мильтипротокольного беспроводного микроконтроллера для диапазона 2,4ГГц Texas Instruments CC2652P (описание микроконтроллера) и отличается повышенной выходной мощностью передатчика.
Основные технические характеристики:
Габаритные размеры стика в корпусе без внешней антенны: 73 х 21,5 х 10 мм
Для подключения внешеней антенны диапазона 2,4ГГц используется разъем RP-SMA, установленный на плату стика.
На плате стика также размещены: кнопка для переключения режима загрузки микроконтроллера (используется для прошивки микроконтроллера), два светодиода (зеленый и красный), которые могут использоваться для отображения режимов работы стика. Работа светодиодов зависит от установленной в микроконтроллер стика прошивки. На обратной стороне платы предусмотрены контактные площадки для подключения отладчика (JTAG).
Стик предназначен для использования в жилых и офисных помещениях.
Стик аппаратно совместим с оригинальной платой Texas Instruments LAUNCHXL-CC1352P-2.
Переход в режим загрузчика осуществляется при низком логическом уровне на входе DIO_15 микроконтроллера. Управлять состоянием этого входа можно с помощью кнопки «FLASH», установленной на плате стика. Низкий логический уровень на входе DIO_15 устанавливается при нажатой кнопки.
Для управления внешним RF switch спользуются выводы микроконтроллера DIO_28 и DIO_29.
Светодиоды подключены к выводам микроконтроллера DIO_6 (красный светодиод) и DIO_7 (зеленый светодиод). Высокий логический уровень на данных выводах зажигает соответствующий светодиод.
Для связи микроконтроллера с компьютером используется микросхема преобразователя интерфейса USB-UART Silicon Labs CP2102.
Для управления аппаратным сбросом и переключения режима загрузки микроконтроллера используются линии DTR и RTS последовательного порта, реализованного на микросхеме Silicon Labs CP2102. Для исключения непреднамеренного сброса микроконтроллера при использовании некоторых терминальных программ на стике реализована аппаратная схема защиты от одновременного включения линий DTR и RTS.
На текущий момент для стика рекомендуется использовать две прошивки от разработчиков проекта zigbee2mqtt:
Используйте прошивки с именем файла: CC1352P2_CC2652P_launchpad_*.zip
Последняя версия прошивки для координатора на момент написания статьи: CC1352P2_CC2652P_launchpad_coordinator_20210120.zip
Ограничения текущей прошивки: не реализовано управление светодиодами.
Обновить прошивку можно по последовательному порту через встроенный в микроконтроллер CC2652P загрузчик (serial bootloader) с помощью утилиты cc2538-bsl.
Для работы утилиты необходимо установить дополнительные пакеты:
pip3 install pyserial intelhex python-magic
Скачать утилиту можно командой:
git clone https://github.com/JelmerT/cc2538-bsl.git
Для прошивки стик должен быть переведен в режим загрузчика (serial bootloader), для чего необходимо:
Пример команды для прошивки стика (из директороии, в которую была установлена утилита для прошивки):
python3 cc2538-bsl -p /dev/ttyUSB0 -e -w CC1352P2_CC2652P_launchpad_coordinator_20210120.hex
где:
/dev/ttyUSB0 - файл устройства последовательного порта, соответствующий подключенному стику. Может отличаться от приведенного в примере в зависимости от операционной системы и количества устройств, подключенных к компьютеру;
CC1352P2_CC2652P_launchpad_coordinator_20210120.hex - имя файла с прошивкой (необходимо указывать полный путь к файлу с прошивкой).
При указании опции -e производится полное стирание всей внутренней flash-памяти микроконтроллера перед его прошивкой.
На стике предусмотрена возможность автоматического аппаратного сброса и переключения его в режим загрузчика для перепрошивки без необходимости отключать стик от порта USB и нажимать на нем кнопку. Для использования этой возможности необходима модифицированная версия утилиты cc2538-bsl. Скачать данную версию утилиты можно здесь.
В данную версию утилиты добавлена опция командной строки –invoke-bootloader=METHOD, которая устанавливает алгоритм, используемый для переключения в режим загрузчика. Доступные значения параметра METHOD:
Для работы утилиты необходимо также установить дополнительные пакеты:
pip3 install pyserial intelhex python-magic
Для входа в режим загрузчика используется способ «2». Пример команды для прошивки USB-стика JetHome в данном случае будет следующей:
python3 cc2538-bsl --invoke-bootloader=2 -p /dev/ttyUSB0 -e -w CC1352P2_CC2652P_launchpad_coordinator_20210120.hex
При использовании прошивки координатора с репозитария Koenkk Z-Stack firmware (см. п. «Поддерживаемые прошивки») стик обеспечивает полноценную работу с Zigbee2MQTT. Данная прошивка устанавливается по-умолчанию при производстве стика и стик полностью готов к работе с Zigbee2MQTT.
Инструкции по установке и настройке Zigbee2MQTT смотрите на сайте проекта.
В файле конфигурации Zigbee2MQTT должны быть установлены следующие параметры:
serial: port: /dev/ttyUSB0 advanced: rtscts: false
где:
параметр port: /dev/ttyUSB0 - указывает на имя файла устройства с системе, соответствующего подключенному стику. Значение параметра port может отличаться от указанного в данном примере в зависимости от используемой ОС и количества подключенных устройств к USB;
параметр rtscts: false отключает аппаратное управление потоком данных для заданного последовательного порта. Данный параметр можно не указывать, однако убедитесь, что он не установлен в значение true.