Координатор Zigbee V3

Вторая версия координатора снимала проблемы с расстоянием, но оставались проблемы со стабильностью и количеством подключенных устройств. Все эти проблемы обусловлены скудными ресурсами чипа СС2530. Для решения текущих проблем появилась версия номер три, на более продвинутом чипе CC2538.

Схема еще более упростилась по сравнению со второй версией, так как все необходимые интерфейсы уже реализованы в самом чипе.

плата разведена в DipTrace

планируемый результат

при желании можно использовать разъем micro usbкак видно на рендерах, можно установить разъем SMA и подключить внешнюю антенну. Для связи модуля с SMA разъемом удобно использовать вот такой кабельпри использовании внешней антенны, на модуле СС2538 нужно не забыть перепаять резистор в указанное положение.
Пайка обычным паяльником, все достаточно просто(на последней фотографии кнопка временная, пока не пришла нужного размера).

Я прошивал координатор с помощью китайского клона программатора от Segger.

схема соединения и инструкция  в отдельной статье.

Прошивка под эту версию координатора собрана стараниями Антона Старикова. Прошивка постоянно модернизируется, последняя версия доступна на его странице.

@reverieline сделал свою версию прошивки, в ней задействованы светодиоды и внесены другие изменения улучшающие качество связи.

JetHome представила свою версию прошивки, исправлены проблемы с join.

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

Осталось нарисовать корпус и примерить виртуально

распечатать и убедиться что все подошлоДля желающих повторить, gerber файлы для заказа плат и BOM.

Файлы для печати корпуса в формате .STL

@nick7zmail усовершенствовал корпус, сделав несколько вариантов

Обсудить устройство можно в профильной группе в телеграм.

@Egony по мотивам этого координатора сделал массу вариантов, под разные модули и с дополнительными опциями. Все необходимые файлы доступны на странице проекта.

88 комментариев для “Координатор Zigbee V3

  1. Здравствуйте. Где я могу найти материнскую плату? Куда мне припаять SMA и USB-порт? Это не указано в спецификации. Может ли кто-нибудь помочь мне там?

  2. Здравствуйте. Вопрос такой после сборки устройства перед прошивкой как то можно проверить работоспособность устройства? Какой нибудь светодиод загорится или никак?

    1. Никак. Более того, и после прошивки светодиоды не загорятся, пока не реализована поддержка в прошивке.

      1. Когда будет функция светодиода в прошивке? Что вы сейчас используете для флешки?

        1. Как автор прошивки найдет свободное время, так и появится поддержка светодиодов.

  3. вроде как есть несоответствие схемы и платы. в части R2C5 R1C4. На схеме конденсаторы «справа» от резисторов, а если смотреть плату, то должны быть левее резисторов

    1. Нет никакой связи между тем как они расположены на схеме и на плате.

  4. Здравствуйте, как мне лучше припаять сс2538 + сс2592 к плате? На снимках это выглядит так хорошо припаяно. Есть ли инструменты для этого?

    1. Никаких секретов нет, обильно смазать контакты флюс-гелем и паять. После промыть хорошо.

  5. Здравствуйте!
    Можно ли скачать файлы платы для самостоятельного изготовления ? ( печати трафаретов

    1. Это зависит от прошивки, изначально они небыли задействованы. В этой прошивке они используются частично, отображая наличие сети и пакеты.

      1. Спасибо за ответ, а еще такой вопрос, я прошил и запустил на прошивке из статьи, а те прошивки что вы привели по ссылке, кроме индикации чем-то отличаются? Стоит ли перепрошить?

        1. Стоит попробовать, улучшено качество связи. Я обновил статью, добавил линк в нее на новую версию.

          1. Cпасибо, прошился, диоды загорелись)

  6. Подскажите, пожалуйста, где почитать о настройке стика v3 в Home Assistant?

  7. Подскажите, какая наиболее актуальная на данный момент прошивка для вашего стика V3?

    1. В статье есть две ссылки на github с прошивками, смотрите даты и увидите какая последняя.

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

    Итак. У микроконтроллера CC2538 есть такая штука как backdoor bootloader, который позволяет прошиться через uart. Эта возможность включается специальным битом в прошивке, и если вы покупаете свежий чип с завода этот бит установлен. По умолчанию в любой прошивке этот бит снимается, так что как только вы вливаете какую либо прошивку больше по uart вы прошиваться не сможете, и тогда придется таки раскошелиться на jtag программатор.

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

    Последовательность действий для прошивки по uart такая.
    1) сперва нужно подготовить саму прошивку — нужно включить тот самый бит. В принципе можно и не готовить, но как я уже сказал тогда получиться прошиться только один раз.

    Для этого качаем любую прошивку из упомянутых в статье. Я себе прошивал https://github.com/reverieline/CC2538-CC2592-ZNP/blob/master/MODKAMRU_V3/MODKAMRU_V3_USB.hex

    Далее мотаем в самый конец и видим строку
    :0CFFD400FFFFFFEF000000000000200015
    Ее нужно поменять на
    :0CFFD400FFFFFFF700000000000020000D

    Может показаться что это магия, но тут все просто. Формат строки можно прочитать на википедии в статье intel hex. Нас же интересует байт 0xEF, который стал 0xF7. Описание этого байта можно найти в документе CC2538/CC26x0/CC26x2 Serial Bootloader Interface от TI.

    Краткое описание битов в этом байте:
    — биты 0-2 отвечают за выбор ноги, которая будет выбирать входить в бутлоадер или нет. Ноги выбираются из диапазона PA0-PA7. Я выбрал PA7 — она в стике не задействована, и проверив тестером выглядит как будто подтянута к питанию. Я ее и задействовал. Соответственно биты 0-2 нужно установить в 1 (они и так уже в 1)
    — бит 3 выбирает по какому уровню на выбранной ноге входить в бутлоадер. Я буду входить только тогда, когда нога будет прижата к земле — ставим в этом бите 0
    — бит 4 — он, собственно, и отвечает за включение backdoor bootloader. включим этот бит.

    Последний байт это контрольная сумма. Поскольку мы к 0xEF добавили 8, чтобы получить 0xF7, то это же значение нужно отнять от контрольной суммы — 0x15-8=0x0d

    Вот и вся магия

    2) Подключаем USB-UART.

    Тут все как обычно: подключаем VCC, GND, TX к RX, а RX к TX
    Нужно только не забыть переключить USB-UART переходник в режим 3.3В, иначе спалите стик.

    3) Я нашел как минимум 2 прошивальщика
    https://github.com/1248/cc2538-prog
    https://github.com/JelmerT/cc2538-bsl

    Я прошивался первым, зато второй позволяет верифицировать прошивку. Я думаю без разницы каким шиться

    4) мне показалось не очень удобным (скажу больше жутко геморройным) закорачивать пинцетом ногу PA7 на землю, чтобы войти в бутлоадер. Поэтому я приколхозил небольшую кнопочку на суперклей (возле разъема USB как раз есть свободный пятачок), и припаял ее тоненькими проводками куда нужно.

    Вот и все. Можно шиться хоть каждую неделю теперь. Нужно только не забывать делать битовую магию из шага 1, иначе дверка прикроется.

    Выражаю благодарность автору стика за предоставленные схемы, гербера и STL. Тут разве что исходников прошивки для полного комплекта не хватает. Также буду благодарен, если глубокоуважаемый Jager запостит это отдельным постом на сайт — вдруг кому нибудь пригодиться.

    1. Жаль что я не знал о такой возможности раньше, но программатор все равно пригодится 🙂 Спасибо что поделились!

    2. Здравствуйте. Большое спасибо автору проекта @Jager и Вам @Александр Маслюченко за труд и полезный совет. Хотел попросить есть ли возможность сделать альтернативную версию gerber файлов для печати с кнопкой для входа в бутлоадер (закорачивать ногу PA7 на землю)?
      Зарание спасибо!

  9. Качество разводки немного смущает, особенно проводники под ВЧ частью и антенной. Почему не используете «заливку полигоном земли»? DipTrace это легко умеет делать.

    1. Если смущает, то никто не мешает вам развести так как вам нравится 🙂
      Про возможности DipTrace я в курсе, более того я уже ушел от него.

      1. Самому это же время, а у вас вроде как серьезный проект, хочется видеть серьезный подход. В сторону чего ушли, если не секрет?

    2. Ой кошмар! Человек сделал доброе дело, на халяву раздал и ещё его упрекает. Сам бери и рисуй, тем более когда уже и схема и прошивка есть.

  10. Подскажите, в чем может быть проблема.
    Работал стик нормально. Я захотел добавить новое устройство, запустил на стике режим обнаружения (как обычно), зажал кнопку на подключаемом устройстве — и ничего не находит. Пробовал разные устройства подключить — не нашло ни одного.
    В системе ничего не менял. Отчего такое может быть?

  11. Прошивку » роутер» стоит ждать под данный девайс?Понимаю «жирновато » ,но всё же

  12. Вопрос по восстановлению сети после перезагрузки по питанию либо его отключения. Сколько времени должна приходить в себя сеть ( у меня не менее 30 минут) ?

    Устройства появляются на карте с хорошими сигналами при этом не реагируют на команты. В частности розетка туевская(бизвульф) появляется и начинает отвечать на комнаты только после нажатия на кнопку в режиме джойн.
    До нее по прямой 1.5м. и она не спит, а данные передает раз в 10 секунд.

    Это я что то делаю не так или это так и должно быть?

    1. Вообще то у Коена лежит прошивка написанная @reverieline специально для этого стика 🙂 Линк на нее есть в статье.

  13. Здравствуйте, плата работает отлично.
    Разрешено ли вам продавать устройство на коммерческой основе, чтобы больше людей могли получить к нему доступ?
    Большой привет

  14. добрый день
    а нет у модуля возможности отладки какой-то?
    я спаял его, работает. мишные датчики цепляются нормально
    а вот головы для радиатора (siterwell) вообще никак.
    в логе zigbee2mqtt пусто(
    при этом, взяв старый стик на базе сс2530 — подключается за пару секунд
    пробовал и разные помещения, и рядом со стиком. и отпаял внешнюю и включил внутреннюю антенну.
    уже плюнул, на второй малине развернул пустой НА, поставил брокер и аддон з2м — все точно так же(

    1. ради интереса поменял канал на 15 и сразу сконнектилось.
      два дня мучений, а ответ лежал рядом

  15. По данной инструкции собрал устройство, загрузил прошивку от Koenkk. С Zigbee2mqtt Все работает, но качество сигнала очень плохое, метрах в 5 уже показывает значения близкие к 0 lqi. Пробовал две антенны, резисто припаян верно. В чем может быть проблема?

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

      1. Спасибо за направление! В моем случае разъемы подходят — папа-мама, но вот центральный контакт не соединяется, не «прозванивается».

      2. Напаял немного припоя на центральный контакт на плате, контакт появился. Попозже посмотрю как изменилось качество.

        1. Качество связи немного улучшилось после моих манипуляций, но все равно хуже, чем на LAUNCHXL-CC26X2R1, у которого нет усилителя и внешней антенны

          1. антенну внутреннюю пробовали? резистор двинуть типа.
            у меня внешняя тоже печально работает. в итоге оставил внутрянку, она тупо лучше.

          2. В общем пробовал я и внешнюю и внутреннюю антенну все равно качество связи не очень хорошее. Работает конечно, но купил zzh! (CC2652 Stick) из Великобритании, с ним качество связи процентов на 30 выше.

  16. А почему были выбран разъём SMA «мама»? На всех роутерах, что я видел, разъём на устройстве «папа» (и «мама» на антенне), получается, народ антенну от старого роутера без переходника или куска провода поставить не может…

      1. Да это понятно. Просто интересно, почему такой выбор. Случайность?

  17. можно ли дать команду прошивке выключить все светодиоды? ночью довольно ярко!

  18. Подскажите пожалуйста, какую лучше версию шить на сегодня? Глаза разбегаются ) чтобы потом запустить под Home Assistant ?
    Возможно ли шить через Arduino? координатор с Али шил именно так.
    Спасибо!

    1. та же проблема, много версий, некоторые не работают, сложно выбрать

    1. Наберите в поиске «zig-a-zig-ah! (CC2652 Stick) — Electrolama» или «CC2652 ZigBee coordinator or OpenThread router». Можно купить из Великобритании.

  19. Здравствуйте, какая прошивка самая новая / лучшая? Я сейчас вижу в вашем посте 3 разные версии.
    Большое спасибо

  20. Удано прошил указанной версией с помощью SmartRFtmFlash под Windows10 через USB-UART переходник. При заземлении PA7 во время включения — виден для перепрошивки.

  21. Кто ещё будет заказывать модули, имейте в виду, что существуют партии с браком: на них установлены не высокочастотные индуктивности, подробнее тут:
    https://github.com/Koenkk/zigbee2mqtt/discussions/1568?spm=a2g0s.imconversation.0.0.34b53e5fDrHJoj#discussioncomment-237188

    Я получил три заказа по 10 штук с такой проблемой. Связался с продавцом (Shenzhen Xunlong Software CO.,Limited), тот сразу признал проблему и предложил или выслать за свой счёт «правильные» индуктивности, или дать мне адрес посредника в России (это наш коллега с ZigБЕРУ), которому я вышлю модули, как только тот их получит (в России) — продавец вышлет мне замену.
    Паять мелочь не хотелось, терять время на замену тоже. Я предложил вернуть деньги, продавец согласился. Отправил 30 модулей посреднику, тот получил и подтвердил продавцу. После ещё недолгой переписки получил возврат на PayPal. И, признаться, удивлён ответственностью продавца.

    Имейте в виду.

  22. Спасибо автору. Получилось сделать стик V3 самостоятельно. Помучился конечно, изрядно. Пайка мелких деталей требует опыта и сноровки которых еще не много. Залил прошивку со светодиодами. Радовался ровно 25 минут. Потом понял. что моргание раздражает. Появилась идея: Нельзя ли вместо светодиодов, запилить прошивку с подключением вместо них простых датчиков. Температуры(DS18b20), датчика освещенности, датчика движения и т.п?

    1. если без выпендрежа, то любые можно ставить.хоть электролиты

  23. Прошу помощи, хотел прошить новую прошивку, но при заземлении РА7 стик не виден в системе и ни один прошивальщик не видит… Как еще можно прошить без программатора, например Ардуиной?

    1. Добрый день ! У вас какая версия Координатора с UART на борту или без ? Ардуиной думаю не сможете для прошивки самого чипа нужен JTAG либо программатор либо он есть на Малине (интерфейс этот). но данный вариант через JTAG нужен только если в чипе нет BSL. Если он там есть то можно прошить через UART

  24. Здравствуйте, к сожалению, похоже, что старые платы CC2538 больше не выпускаются? Я перепробовал многих поставщиков, но они всегда присылают новую версию. Это очень раздражает, потому что я уже припаял все остальное.

  25. Громадное спасибо автору за субж. Наконец, нашёл время и силы запилить себе стик CC2538 (rev.1.8u). Версию 4 пока не рассматривал, ибо все комплектующие уже были доступны, оставалось только собрать. Разумеется, старался сразу учесть все нюансы, описанные выше, в том числе и чтоб разъём на стике был совместим с WiFi-антенной от роутеров.
    По прошивке: ZigStarGW-MT почему-то упорно не хочет читать/писать стик, хоть он и определяется. В результате прошился программой от TI (Flash Programmer 2 v1.8.2), указав чип CC2538xF53, очищать ничего не пришлось, чип был нулёвый. Во многих местах пишут, что для старта прошивки необходимо вставить стик в USB, удерживая кнопку Flash, и не отпускать её до начала записи… это не так, — достаточно просто вставить стик в USB при нажатой кнопке Flash, после чего стик перейдёт в режим BSL, и кнопку Flash можно уже отпускать. Мало того, в режим BSL можно войти и не вынимая стик из USB, — достаточно просто нажать Flash и, не отпуская — Reset, затем отпустить обе кнопки. Для выхода из режима BSL достаточно нажать Reset.

Добавить комментарий