Обратите внимание: эта страница была переведена автоматически. Если можете, прочтите его на одном из этих языков:

Главное

flash_cc2531

flash_cc2531 позволяет запрограммировать ваш USB-накопитель CC2531 Raspberry_без необходимости _Arduino или CC Debugger.

Предпосылка

Вам нужно либо Raspberry , либо Odroid-c2.
Вам нужно, что подключить порт отладки ключа к портам GPIO из Raspberry, например один кабель CC и четыре линии Dupont (см. Далее).
WiringPi должен быть установлен (, если он не установлен предварительно, вы обычно можете установить его с помощью sudo apt install wiringpi), в противном случае см. место Gordon или это альтернативное место ).
Наконец, вам нужна программа:

Я проецировал flash_cc2531 на Raspberry Pi 3 с помощью raspbian, но сообщалось об успешном программировании на других моделях:

Подготовлено

Загрузите flash_cc2531 в ваш raspberry :

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

Подключите следующие контакты фиолетового порта к порту ГПО:

.

Расположение выводов raspberry доступно здесь: https://pinout.xyz/

Затем введите USB-ключ в порт.

Скачать кабель CC и 4 строки Dupont Женщина для женщин идеально подходит для этой цели: Фотография ключа и raspberry ](https://github.com/jmichault/files/raw/master/Raspberry-CC2531.jpg) Это мой любимый вариант, но если у вас нет кабеля CC , вы также можете напрямую отпустить кабели Dupont на клавише: см. Например, сайт lemariva.com или notenoughtech.com

попробуйте это:

cd flash_cc2531
./cc_chipid

Он должен вернуться:

  ID = b524.

(значение может быть другим, если аппаратная версия вашего ключа не такая же, как у меня).
Если вы видите 0000 или FFFF, что-то неверно:

Применение

Чтобы сохранить содержимое флэш-памяти в файл save.hex:

./cc_read save.hex

(занимает около 2 минут).

Чтобы удалить молнию памяти:

./cc_erase

Примечание: Вы должны удалить перед записью (, если вы действительно не знаете, что собираетесь делать).

Чтобы запрограммировать файл CC2531ZNP-Prod.hex на клавише CC2531:

./cc_write CC2531ZNP-Prod.hex

(длится около 3 минут).

Используйте другие булавки

все команды принимают следующие аргументы:

используется нумерация штифтов wiringPi. Используйте gpio readall , чтобы разместить макет в столбце Raspberry ( wPi ).

Например, если вы хотите использовать контакты 3, 11 и 13:
Подключите следующие контакты очистки порта для порта GPIO:

  1. штифт 1 ( GND ) -> штифт 14 ( GND )

  2. штифт 7 ( reset ) -> штифт 3 ( wPi 8, BCM2 )

  3. штифт 3 ( DC ) -> штифт 11 ( wPi 0, BCM17 )

  4. штифт 4 ( DD ) -> штифт 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
./cc_write -r 8 -c 0 -d 2 CC2531ZNP-Prod.hex

что если это не сработает?

  1. остановите все другие программы.

  2. перед программированием установите скорость процессора. Пример:

    sudo echo performance >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    
  3. используйте опцию -m, чтобы увеличить используемые временные ограничения. Пример:

    ./cc_write -m 300 CC2531ZNP-Prod.hex
    
  4. перекомпилируйте программу с make.

  5. ищите решение в уже заданных вопросах на github

  6. Задайте свой вопрос о github.

  7. Проверьте свой блок питания

    grep Under /var/log/kern.log
    

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

Я хочу подключить более 15 периферию

Мы читаем в разных местах, что ключ CC2531 может обрабатывать только 15 максимальных устройств.
На самом деле предел для CC2531 намного выше.
Также обратите внимание, что протокол zigbee ограничивает количество прямых ссылок на 32-е место.

Мой ключ имеет красный светодиод, который освещает.

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

  1. Проверьте свой блок питания

    grep Under /var/log/kern.log
    

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

  2. Утешите ключ к нарушению материалов: динамики, Wi-Fi маршрутизатор, …

  3. Перепрограммировать ключ

Лицензия

Этот проект находится под лицензией GPL v3 ( см. COPYING ).