Harap maklum: halaman ini telah diterjemahkan secara automatik. Sekiranya boleh, anda mesti membacanya dalam salah satu bahasa berikut:

Perkara utama

flash_cc2531

flash_cc2531 Membolehkan anda untuk memprogramkan batang USB CC2531 anda Raspberry, tanpa memerlukan Arduino atau A CC Debugger.

Prasyarat

Anda memerlukan Raspberry atau Odroid-c2.
Anda memerlukan apa yang menghubungkan port debug kunci ke port GPIO Raspberry, misalnya satu kabel CC dan empat baris Dupont (lihat lebih jauh).
WiringPi mesti dipasang (jika tidak dipasang sebelumnya, anda biasanya boleh memasangnya dengan sudo apt install wiringpi), jika tidak, lihat tapak Gordon atau tapak alternatif ini ).
Akhirnya anda memerlukan program:

Saya mengunjurkan flash_cc2531 pada Raspberry Pi 3 dengan raspbian, tetapi pengaturcaraan yang berjaya dilaporkan pada model lain:

Bersedia

Muat turun flash_cc2531 ke raspberry :

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

Sambungkan pin berikut Port Ungu ke Port GPO:

Susun atur pin raspberry boleh didapati di sini: https://pinout.xyz/

Kemudian masukkan kekunci USB ke pelabuhan.

Muat turun kabel CC dan 4 baris Dupont Perempuan ke perempuan adalah sempurna untuk tujuan ini: Foto kekunci dan raspberry ](https://github.com/jmichault/files/raw/master/Raspberry-CC2531.jpg) Ini adalah pilihan kegemaran saya, tetapi jika anda tidak mempunyai kabel CC Anda juga boleh secara langsung melepaskan kabel Dupont pada kunci: lihat contohnya tapak [ lemariva.com notenoughtech.com

cuba ini:

cd flash_cc2531
./cc_chipid

Ia mesti kembali:

  ID = b524.

(nilainya mungkin berbeza jika versi perkakasan kunci anda tidak sama dengan kunci milik saya).
Jika anda melihat 0000 atau FFFF sesuatu yang salah:

penggunaan

Untuk menyimpan kandungan memori flash ke fail save.hex:

./cc_read save.hex

(mengambil masa kira-kira 2 minit).

Untuk memadam memori kilat:

./cc_erase

Catatan: Anda mesti hapus sebelum menulis (kecuali anda benar-benar tahu apa yang akan anda lakukan).

Untuk program fail CC2531ZNP-Prod.hex pada kekunci CC2531:

./cc_write CC2531ZNP-Prod.hex

(berlangsung sekitar 3 minit).

Gunakan pin lain

semua arahan menerima hujah berikut:

penomboran pin yang digunakan ialah wiringPi. Gunakan gpio readall untuk mempunyai susun atur di ruangan Raspberry ( wPi ).

Contohnya, jika anda ingin menggunakan pin 3, 11 dan 13:
Sambungkan pin pin yang berikut untuk port GPIO:

  1. pin 1 ( GND ) -> pin 14 ( GND )

  2. pin 7 ( reset ) -> pin 3 ( wPi 8, BCM2 )

  3. pin 3 ( DC ) -> pin 11 ( wPi 0, BCM17 )

  4. pin 4 ( DD ) -> pin 13 ( wPi 2, BCM27 )

Dan sekarang anda boleh membaca pengenal, menyimpan, memadam dan menulis memori kilat dengan arahan berikut:

./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

bagaimana jika ia tidak berfungsi?

  1. hentikan semua program lain.

  2. tetapkan kelajuan pemproses sebelum pengaturcaraan. Contoh:

    sudo echo performance >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    
  3. gunakan pilihan -m untuk meningkatkan had masa yang digunakan. Contoh:

    ./cc_write -m 300 CC2531ZNP-Prod.hex
    
  4. menyusun semula program dengan make.

  5. cari jalan penyelesaian dalam soalan yang sudah diajukan di github

  6. Kemukakan soalan anda sendiri mengenai github.

  7. Semak blok pemakanan anda

    grep Under /var/log/kern.log
    

    Sekiranya anda mendapat banyak baris maka anda perlu menukar blok pemakanan.

Saya mahu menyambung lebih daripada 15 pinggir

Kami membaca di pelbagai tempat yang kunci CC2531 hanya boleh mengendalikan 15 peranti maksimum.
Malah, had untuk CC2531 jauh lebih tinggi.
Juga ambil perhatian bahawa protokol zigbee menghadkan bilangan pautan langsung ke 32.

Kuncinya mempunyai LED merah yang menerangi.

Ia berlaku bahawa deprogram utama, sama ada disebabkan oleh persekitaran yang dimuatkan oleh parasit atau disebabkan oleh pemakanan yang kurang baik.

  1. Semak blok pemakanan anda

    grep Under /var/log/kern.log
    

    Sekiranya anda mendapat banyak baris maka anda perlu menukar blok pemakanan.

  2. Dapatkan kunci untuk mengganggu bahan: Pembesar suara, Wi-Fi Router, …

  3. Reprogram kekunci

Lesen

Projek ini dilesenkan di bawah GPL v3 ( lihat COPYING ).