Zigbee2mqtt. Прошивка CC2531 через Raspberry Pi

Простой способ прошивки стика CC2531 если нет дебаггера, но есть raspberry.


CC2531 можно купить тут: https://ru.aliexpress.com/item/32954698530.html


Все делал по инструкции, в разделе о малине.

Должна стоять wiringPi, затем качаем flash_cc2531 командой:

git clone https://github.com/jmichault/flash_cc2531.git

Подключаем CC2531 через дебаг кабель к Raspberry по следующей схеме:

  • pin 1 (GND) –> pin 39 (GND)
  • pin 7 (reset) –> pin 35 (GPIO24, BCM19)
  • pin 3 (DC) –> pin 36 (GPIO27, BCM16)
  • pin 4 (DD) –> pin 38 (GPIO28, BCM20)

 


Если дебаг кабеля нет, можно аккуратно припаять провода к колодке на самом сс2531, распиновка аналогичная:


 

Вставляем стик в raspberry и тестируем:

cd flash_cc2531
./cc_chipid

В ответ должны получить:

ID = b524.

Скачиваем последнюю прошивку вот отсюда: https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_Home_1.2/bin

wget https://github.com/Koenkk/Z-Stack-firmware/raw/master/coordinator/Z-Stack_Home_1.2/bin/default/CC2531_DEFAULT_20190608.zip

На момент написания это CC2531_DEFAULT_20190608.zip

Распаковываем CC2531ZNP-Prod.hex в каталог прошивальщика flash_cc2531

unzip CC2531_DEFAULT_20190608.zip

и прошиваем, предварительно выполнив очистку:

./cc_erase
./cc_write CC2531ZNP-Prod.hex

Очистка идет быстро. Прошивка минуты 3. После прошивки запустилась верификация, но очень долгая, я ее отменил.

Прошивка CC2530 через Raspberry Pi описана тут:

Прошивка CC2530 через Raspberry Pi

P.S

С некоторыми cc2531 бывают проблемы распознавания утилитой flash_cc2531. Вместо ID = b524 ответ 0088, 0000 или ffff. В комментариях отписались о решении проблемы, решение тут: https://github.com/jmichault/flash_cc2531/issues/9#issuecomment-557893592

 

Поделитесь с друзьями
Подписаться
Уведомить о
guest

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

53 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Сергей
Сергей
5 лет назад

Не мог понять почему выдается ID = 0000 , прочитал здесь (https://www.zigbee2mqtt.io/information/alternative_flashing_methods.html) подключите 2 pin на cc2531 к 1-му pin на rasspberry (это 3.3 v) тогда все норм можно шить

Сергей
Сергей
5 лет назад
Ответить на  kvv

Ох, спасибо я как-то пропустил это в статье, всё ищу сложные пути 🙂

Дмитрий
Дмитрий
5 лет назад

Не совсем догоняю, так надо приобрести шлейф-кабель или достаточно просто вставить стик в USB малины?

Ruslan
Ruslan
5 лет назад
Ответить на  Дмитрий

можно и проводки припаять

pavuk
5 лет назад
Ответить на  kvv

Вот бы еще понять распиновку проводов напрямую к колодке на cc2531…

pavuk
5 лет назад
Ответить на  kvv

Спасибо. Но ведь можно тогда не паять, а соединить с помощью Dupont мама-мама? Для чего тогда вообще нужна эта дебаг плата с проводами?

Анатолий
Анатолий
5 лет назад

Добрый вечер, уважаемый kvv.
Прошил координатор на базе СС2531. Все работает. Я использую Hass.io c add-on ZigBee2Mqtt

Решил добавить еще роутер СС2531. Прошивка router-cc2531-diag.hex от 04/02/2019 установилась нормально и прошла верификация. Однако спаривание координатора с маршрутизатором не происходит. Короткие быстрые мигания (один раз в секунду) горит красный светодиод, что означает что всетаки маршрутизатор пытается подключается к сети. Подскажите пожалуйста в чем может быть причина?

А пока буду пытаться ставить другую прошивку router-cc2531-diag-usb.hex и смотреть что же он шлет.

Михаил Иванов
Михаил Иванов
5 лет назад

Не совсем ясно как скачать прошивку в Raspberry

Михаил Иванов
Михаил Иванов
5 лет назад
Ответить на  kvv

Спасибо. Сейчас буду пробовать прошивать.

Лео
Лео
5 лет назад
Ответить на  Михаил Иванов

Как с прошивкой?

Лео
Лео
5 лет назад
Ответить на  Лео

Прошил через Arduino nano, выше инструкция не работает(проблемы с wiringPi)

Лео
Лео
5 лет назад
Ответить на  kvv

При сопряжении устройства стик и малина, соответственно при отсутствие питания «000» а при включение «fff» пробовали и отделено 3.3v подавать, и на прямую с усб входа. Проверял таблицы соответствия, все совпадает как в инструкциях. Пробовал ставить разные версии wiringPi так так программа больше не поддерживается. Ешо пробовали подключать по плану «б» (где то в инструкциях есть описание), такой-же результат. Грешил на малинку, поменяли малину, такая-же проблемам.

ACROWA
ACROWA
5 лет назад
Ответить на  Лео

Проблема ещё есть, но не с wiringPi, а с flash_cc2531.
Вот решение:
https://github.com/jmichault/flash_cc2531/issues/9#issuecomment-557893592
У меня на Rpi2 заработало с:
cc_delay_mult=80
Модуль новый из китая без бутлоадера.

Виктор
Виктор
4 лет назад
Ответить на  ACROWA

After cloning the repo, edit CCDebugger.c, modify the line 177

А как её редактировать?

Ренат Ибрагимов
Ренат Ибрагимов
4 лет назад
Ответить на  kvv

а как найти этот CCDebugger.c и как редачить? хелп новичку

Сергей
Сергей
5 лет назад

Пробую прошить по вашей методике. Прошивку сначала пробовал из вашей ссылки. Вариант 1 — на стике загорается светодиод (в произвольной время в процессе уже прошивки), прошивка просто останавливается. Вариант 2 — прошивка проходит, во время верификации показывает кучу ошибок. При попытке прошить https://github.com/kirovilya/ioBroker.zigbee получаем:
root@raspberrypi:~/flash_cc2531# ./cc_write CC2531ZNP-Pro-Secure_LinkKeyJoin_mod.hex
ID = b524.
incorrect hex file ( : missing)
Подскажете — в каком направлении двигаться?

Сергей
Сергей
5 лет назад
Ответить на  kvv

А что скажете про прошивку iobrokrer.zigbee? Там есть «обычная» (для прошивки через Дебаггер) и мод для прошивки через Ардуино, я пробовал обе, результат одинаковый, как у меня в посте… получаем: и т.д. Действительно надо какую-то модифицированную прошивку для Малины?

Дмитрий
Дмитрий
5 лет назад

Застрял на распаковке, не хочет распаковывать. Файл скачен, sudo пробовал, аппарат Pi 3B+. Распаковал и залил на гитхаб .bin и .hex файл, скачал на малину по отдельности те 2 файла, пробую прошиться и опять мимо. pi@raspberrypi:~/flash_cc2531 $ dir CC2531_DEFAULT_20190608.zip CCDebugger.c cc_erase.c cc_write Makefile cc_chipid CCDebugger.h cc_read cc_write.c README.md cc_chipid.c cc_erase cc_read.c LICENSE pi@raspberrypi:~/flash_cc2531 $ unzip CC2531_DEFAULT_20190608.zip Archive: CC2531_DEFAULT_20190608.zip End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one disk of a multi-part archive. In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive. unzip: cannot… Подробнее »

Дмитрий
Дмитрий
5 лет назад
Ответить на  Дмитрий

Ошибся, малина 2B, не уж то из-за второй версии у меня все работает не как у людей

Александр
Александр
4 лет назад
Ответить на  Дмитрий

Такая же проблема с 3B+, не распаковывает и все, ошибка и все.
Пробовал через 7z, также безрезультатно…как исправить, так и не понял.

Александр
Александр
4 лет назад
Ответить на  kvv

плюнул на это. Подключился через winscp, кинул туда распакованные файлы из архива и все прошилось) 5 мин и готово)

Александр
Александр
4 лет назад
Ответить на  kvv

проверил эту ссылку, все отлично распаковалось. Можно добавить в шапку). Спасибо.

Gladius
Gladius
5 лет назад

При вводе команды :
./cc_chipid
у меня выдаёт
./cc_chipid: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
хотя
git clone https://github.com/jmichault/flash_cc2531.git
устоновлено и переход делаю
cd flash_cc2531
Может кто помочь ?

Артем
Артем
2 лет назад
Ответить на  kvv

выше написал, что wiringPI встал, команда gpio -v работает, посоветуйте куда смотреть чтоб заработало, спасибо!

Артем
Артем
2 лет назад
Ответить на  Gladius

Здравствуйте! та же самая проблема, wiringPI встал, команда gpio -v работает, как Вы в итоге решили проблему?

Ник
Ник
4 лет назад

Друзья! Кто будет шиться через raspberry pi 4b, после установки wiringPi обновите до версии 2.52 через команду
cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb

Иначе при проверке cd flash_cc2531 будет всегда писать id=0000

Из за этого перепаивал 3 раза, думал провода плохие достались и раз 10 перепроверял подключение по схеме.

Ник
Ник
4 лет назад
Ответить на  kvv

Забыл добавить ссыль откуда взял инфу: http://wiringpi.com/wiringpi-updated-to-2-52-for-the-raspberry-pi-4b/

gena
gena
4 лет назад
Ответить на  kvv

pin 3 (DC) –> pin 36 (GPIO27, BCM16) а на схеме выше это GPIO16 и.т.д чему верить то

Denis
Denis
4 лет назад

А можно ли использовать Raspberry pi 2012 b ?

Denis
Denis
4 лет назад
Ответить на  kvv

для raspberry pi1b распиновка на картинке, но понять как ее использовать опыта не хватает ((

Raspberry-Pi-1-Model-B-1.png
Alexey
Alexey
4 лет назад
Ответить на  Denis

Не нашли решения с этой версией Pi? На моей тоже только 26 пинов

SergeyN
SergeyN
4 лет назад
Ответить на  Denis

Согласно сайту https://github.com/jmichault/flash_cc2531 можно переопределить используемые пины с помощью параметров при запуске. Надо помнить, что у wPI своя нумерация которую можно посмотреть командой «gpio readall» или на сайте https://pinout.xyz/ (по наведению мыши на пин). Итого, чтобы использовать пины 3, 11, 13 и 14 получаем. pin 1 (GND) —> pin 14 (GND) pin 7 (reset) —> pin 3 (wPi 8, BCM2) pin 3 (DC) —> pin 11 (wPi 0, BCM17) pin 4 (DD) —> pin 13 (wPi 2, BCM27) ./cc_chipid -r 8 -c 0 -d 2 ./cc_read -r 8 -c 0 -d 2 save.hex ./cc_erase -r 8 -c 0 -d 2… Подробнее »

QQQQ
QQQQ
4 лет назад

Здраствуйте
Raspberry pi 4b. cc2531 стик
При подключении GND (1пин стика — 39 пин малины) вырубает малину. Если подключать к другим пинам на малине с GND — id = 0000
Не подскажете в чем проблема?

Vit
Vit
4 лет назад

Представляете, нет у меня малины. Прошил через 2 долларовую ESP32 (NodeMCU на основе CH340), по видео китайца ( https://youtu.be/lgxIWimKf_4 ) было проще и почти все файлы в одном месте тут https://sumju.net/?p=1862 . Заняло пару минут.

Beria
Beria
3 лет назад
Ответить на  Vit

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

akrashenin
akrashenin
1 год назад
Последний раз редактировалось 1 год назад akrashenin ем