最主要的
flash_cc2531
flash_cc2531 flash_cc2531 ,您可以将您的CC2531 USB棒 Raspberry_编程,无需 _Arduino 或 CC Debugger。
先决条件
您需要 Raspberry 或 Odroid-c2。
您需要将钥匙的调试端口连接到 Raspberry_的端口 _GPIO 的工具,例如一根电缆 CC 和四根线 Dupont ()。如果未预先安装
WiringPi (,通常可以将其安装为 sudo apt install wiringpi
),否则请参见 的位置 Gordon 或 这个替代位置 )。
最后,您需要程序:
-
通常协调器 zigbee : 版本1.2 (推荐) 或 版本3.0
-
或路由器 zigbee : 路由器 zigbee 1.2
我将 Raspberry Pi 3 与 raspbian_投影在 _flash_cc2531 上,但在其他型号上报告了成功的编程:
-
在pi 4上,您将需要2.52版 wiringpi : 安装 wiringPi 2.52版 Gordon 网站
-
在pi 1和pi 2上,您需要 使用其他引脚。
准备好的
将 flash_cc2531 下载到您的 raspberry :
git clone https://github.com/jmichault/flash_cc2531.git
将紫色端口的以下引脚连接到GPO端口:
此处提供 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 notenoughtech.com notenoughtech.com
试试这个:
cd flash_cc2531
./cc_chipid
它必须返回:
ID = b524.
如果钥匙的硬件版本与我的钥匙)不同,则(值可能会不同。
如果看到0000或ffff,某些东西不正确:
-
首先检查您的接线。
-
然后尝试更高的基准时间,例如
./cc_chipid -m 100
或./cc_chipid -m 160
或./cc_chipid -m 300
。 -
如果这些都不起作用,请尝试使用
make
重新编译。
用法
要将闪存的内容保存到save.hex文件:
./cc_read save.hex
(大约需要2分钟)。
删除闪电记忆:
./cc_erase
注: 除非 (,否则 必须 删除,除非您真的知道要做什么)。
在键 CC2531_上编程文件 _CC2531ZNP-Prod.hex :
./cc_write CC2531ZNP-Prod.hex
(持续约3分钟)。
使用其他别针
所有命令均接受以下参数:
-
-c 插针:默认情况下更改插针 DC (27)
-
-d 插针:默认情况下更改插针 DD (28)
-
-r 插针:默认情况下更改插针 reset (24)
-
-m :更改延迟倍数,因此默认更改基准时间 (:自动调整)
使用的针脚编号是 wiringPi。使用 gpio readall
将布局放在 Raspberry (列 wPi )中。
例如,如果要使用引脚3、11和13:
将净化端口的以下引脚连接到端口 GPIO:
-
针1 ( GND ) -> 针14 ( GND )
-
引脚7 ( reset ) -> 引脚3 ( wPi 8, BCM2 )
-
引脚3 ( DC ) -> 引脚11 ( wPi 0, BCM17 )
-
针脚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
如果不起作用怎么办?
-
停止所有其他程序。
-
在编程之前设置处理器速度。示例:
sudo echo performance >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
-
使用-m选项可以增加使用的时间限制。示例:
./cc_write -m 300 CC2531ZNP-Prod.hex
-
用
make
重新编译程序。 -
在github](https://github.com/jmichault/flash_cc2531/issues?q=is%3Aissue)已经提出的问题中寻找解决方案 [
-
询问关于 github的问题。
-
检查营养块
grep Under /var/log/kern.log
如果你得到很多线,那么你必须改变营养块。
我想连接超过15个外围
我们在各个地方阅读,键 CC2531 只能处理15个最大设备。
实际上, CC2531 的极限要高得多。
另请注意,协议 zigbee 限制直接链接到第32个。
我的钥匙是它的红色LED,亮起。
它恰好是由于寄生虫装载的环境或由于营养不良而导致的关键常量。
-
检查营养块
grep Under /var/log/kern.log
如果你得到很多线,那么你必须改变营养块。
-
逃离令人不安的材料的关键:扬声器,Wi-Fi路由器,…
-
重新编程键
执照
此项目已获得GPL v3许可 ( ,请参见 COPYING )。