Có thể flash USB CC2531 chỉ dùng RPi, không cần CC Debugger. Làm được điều này chúng ta luôn luôn có thể cập nhật firmware Z-Stack (coordinator hay router) mới nhất cho CC2531.
Thiết bị cần dùng
- RPi
- USB CC2531
- Cáp 2 đầu cái: 4 sợi
- Kềm
Vì các pin trên CC2531 nhỏ và khít nhau nên không thể cắm cáp thông thường vào được, tôi phải bẻ nghiêng các pin cần dùng để có khoảng cách với các pin còn lại.
Một đầu cáp cái được dùng kềm bấm để lỏi đồng bên trong ép sát lại mới có thể tiếp xúc với pin kích thước nhỏ trên CC2531.
Nối cáp
Nối các pin của CC2531 với các pin GPIO của RPi theo sơ đồ. Trong giai đoạn này USB chưa được cấp điện nên rất an toàn. Sau khi cắm cáp, kiểm tra lại các cáp đúng theo sơ đồ.
RPi CC2531
GND GND
Pin 38 DD
Pin 36 DC
Pin 35 RST
Cắm USB CC2531 vào cổng USB của RPi
Tải phần mềm
git clone https://github.com/jmichault/flash_cc2531.git
cd flash_cc2531
./cc_chipid
Sau lệnh kiểm tra chipid, kết quả trả về phải là ID=b524, nếu không thì kiểm tra lại dây cáp.
Sau đây là cách flash firmware coordinator (tương tự với firmware router)
Tải firmware về
sudo apt-get install zip unzip
wget https://github.com/Koenkk/Z-Stack-firmware/archive/master.zip
unzip master.zip
cd Z-Stack-firmware-master/coordinator/Z-Stack_Home_1.2/bin/default/
unzip CC2531_DEFAULT_<<yyyymmdd>>.zip
- <yyyymmdd> là ngày release của firmware, tùy theo phiên bản tải về.
- Nếu mạng có nhiều hơn 30 thiết bị, dùng firmware Z-Stack_Home_1.2 /bin/source_routing thay cho Z-Stack_Home_1.2 /bin/default
Flash firmware
./cc_erase
./cc_write /path/to/CC2531ZNP-Prod.hex
Trên màn hình hiện tiến trình %. Flash mất khoảng 2 phút.
Cuối cùng, tháo USB CC2531 ra và khởi động lại RPi.