Riproprogrammez le firmware du dongle USB CC2531 via Raspberry Pi et sans CC Debugger

3 minutes de lecture
BUTS DE PROJET:
  • Riproéditer le firmware d'un Clé USB CC2531 (Dans l'exemple, nous utiliserons la version requise pour être utilisée avec zigbee2mqtt)
  • Niveau de difficulté: basso
CONCEPTS FACE:
  • Riprogrammation du firmware
COMPOSANTS LOGICIELS UTILISÉS:
DISPOSITIFS PHYSIQUES UTILISÉS:
PROJET LE PLUS INDIQUÉ POUR:

Tous les environnements

Notes et avertissement
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata ed realizzata SOLO da personale qualificato;
  • tout changement mis en œuvre dans proavant est un prola responsabilité personnelle, ainsi que propremier risque et danger (le contenu de la présente page est purement pédagogique);
  • tout changement mis en œuvre dans proavant un appareil, il annule la garantie, les approbations de qualité et les certifications.
Avis de conduite: 1.1

Abstrait

Chaque appareil électronique contient largement un petit logicielAppelé firmware, qui détermine ses fonctions et son comportement. Notre voiture est équipée d'un firmware différent; il y en a un, la machine à laver, notre télécommande, même un radio-réveil a un propremier firmware.

Il Clé USB CC2531 est un composant petit et peu coûteux qui permet, combiné avec le logiciel zigbee2mqtt, pour définir un BRIDGE/Gateway ZigBee↔︎MQTT utile pour administrer un réseau ZigBee dans propremière domotique personnelle (et donc accessoires basés sur cette norme); malheureusement, le composant n'est pas prone pas utiliser (autrement dit, d’autres composants similaires comme le ConBeecoûtant toutefois plus cher) mais prévoit, en amont, uneprogrammation de son firmware pour le rendre opérationnel.

Ce guide illustre une des manières de réprogrammation à travers un Raspberry Pi support (tout modèle) et sans avoir besoin de périphériques de connexion tels que le Débogueur CC et le Câble de téléchargement pour CC2531. Dans le cas où vous possédez ces composants - ou préférez cette autre technique, car vous n'avez pas de Raspberry Pi - le guide appropriata è cette.

Le guide est évidemment utilisable aussi avec d'autres firmware compatible avec CC2531.

Il commence

description proprocédure

La proprocédure c'est vraiment beaucoup, très simple. Il suffit en effet de connecter quatre contacts présents sur le Clé USB CC2531 avec autant de quatre présents sur le Raspberry Pi (n'importe quel modèle, même Pi Zero), puis connectez le dongle à l'un des ports USB du Raspberry Pi et enfin exécuter une commande spécifique.

Ce que vous devez avoir, c'est:

Connexions physiques

Tout d'abord, il est nécessaire de connecter les deux appareils respectant le schéma suivant:

PIN CC2531avecPIN Raspberry Pi
GNDGND
RST35
DC36
DD38

Contacts à interconnecter via des câbles Dupont sont les suivants:

ATTENZIONE: le schéma de Raspberry Pi rapporte celle du Raspberry 2 / 3 / 4, mais le brochage est le même même sur Raspberry Pi Zero.

Une fois les broches connectées ensemble insérer le dongle USB CC2531 à l'un des Ports USB framboise, après ça se connecter via SSH à propremière framboise. Au cas où il serait éteint, provoir pour l'allumer.

Riproming

VÉRIFICATION WIRINGPI

Il faut tout d'abord vérifier la présence du logiciel CâblagePi. Pour effectuer cette vérification, à partir du terminal (une fois connecté au Raspberry via SSH), exécutez la commande suivante:

gpio -v

Qui devrait fournir une réponse semblable au suivant:

gpio version: 2.50
Copyright (c) 2012-2018 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

une fois cette réponse obtenue, vous avez la confirmation que vous disposez du logiciel nécessaire à bord.
Au lieu de cela obtenir une erreur, il faudra alors installer le logiciel à l'aide de la commande:

sudo apt-get install wiringpi
INSTALLER flash_cc2531

Vous devez maintenant installer le logiciel flash_cc2531 en utilisant la commande:

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

Une fois la brève installation terminée, accédez au "flash_cc2531”Et exécutez la commande de vérification:

cd flash_cc2531
./cc_chipid

En réponse, la commande doit fournir l'ID "b524». S'il est différent, vérifiez les connexions.

TELECHARGER LE FIRMWARE

À ce stade, il est nécessaire de télécharger le firmware que nous souhaitons installer sur le dongle USB C2531. Dans l'exemple ci-dessous, nous allons installer le firmware Z-Stack (le plus compatible et stable avec zigbee2mqtt), disponible ici. Le fichier qui nous intéresse commence par le préfixe "CC2531_DEFAULT_», Alors que le préfixe varie en fonction de la date de compilation.

Exécutez ensuite:

cd ~/flash_cc2531
wget https://github.com/Koenkk/Z-Stack-firmware/raw/master/coordinator/Z-Stack_Home_1.2/bin/CC2531_DEFAULT_XXXXXXXX.zip

en prenant soin d'ajuster la commande en fonction du nom du fichier disponible sur le référentiel

Exemple: avec un nom de fichier "CC2531_DEFAULT_20190608.zip", La commande finale est:

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

Enfin, exécutez la décompression:

unzip CC2531_DEFAULT_20190608.zip

jamais l'adaptation le nom du fichier.

RIPROming

Maintenant, nous pouvons exécuter les deux commandes nécessaires pour le riprogrammation, la première pour effacer la mémoire du dongle et la seconde pour la réécrireproprogramme:

./cc_erase
./cc_write CC2531ZNP-Prod.hex

Fini le procedura, le dongle USB CC2531 sera pronà utiliser avec zigbee2mqtt.

DISCONNECT

Pour terminer le procedura, déconnectez le dongle du port USB puis déconnectez les câbles Dupont.

Chaîne de télégramme inDomus