Devenir membre
Devenir Membre

ou
Continuer avec Google
Connexion
Se connecter

ou
Se connecter avec Google

Tutoriel : Mettre à jour le firmware depuis un PC Windows

Par Maïs Dévisse le 18/08/2019 - (Confirmé)
Agrandir
Ajouter ce produit à
  • Mon ancien matos
  • Mon matos actuel
  • Mon futur matos
Alpes Machines Matrix Ctrlr
Photos
1/17
Alpes Machines Matrix Ctrlr
< Tous les tutoriels & astuces

Le coeur du Matrix Ctrlr est une carte de type Arduino sur laquelle s'exécute un logiciel (ou firmware) qui permet de gérer toute la logique de la machine.

Ce logiciel est open source, c'est à dire libre d'accès et de modifications sans payer de licence commerciale. Il est disponible sur le site d'Alpes Machines mais également sur Github.

voir le lien: https://www.alpesmachines.net/index.php/matrix_ctrlr/building/update-firmware

La procédure de mise à jour est décrite sur le site depuis un MAC mais pas pour PC (l'outil Xloader est obsolète).

Il convient d'être attentif sur cette procédure de mise à jour du firmware, sous peine d'écraser le bootloader de l'Arduino (le bootloader c'est le logiciel dans l'arduino qui permet d'y téléverser le firmware). Votre serviteur ayant pu en faire la regretable expérience - n'utilisez PAS https://github.com/twinearthsoftware/ArduinoSketchUploader par exemple).

 

Voici une une procédure détaillée "à partir de zéro" pour ceux qui ne sont pas familier avec les Arduinos. On supposera tout de même que l'utilisateur est familier avec l'utilisation de Windows. C'est un peu technique, mais cela vous garantit une mise à jour du firmware avec les outils Arduino à jour qui sont fait pour.

A l'issue de ce tuto vous serez un maître Jedi du téléversement de firmware sur Arduino ;)

 

Les cartes Arduino

Les cartes Arduino sont de différents modèles (voir arduino.cc). L'entreprise Arduino fabrique les modèles originaux. Comme les Arduinos sont open-hardware (c'est à dire les schéma sont mis à disposition gratuitement sans licences commerciales), il existe de nombreux clones. Ces clones sont la plupart du temps nettement mois chers, avec quelquefois certaines limitations, notamment sur les drivers permettant leur connexion à un PC ou un MAC).

 

L'Arduino fourni avec le Matrix Ctrlr est un clone d'Arduino Mega 2560 R3. Le fabricant est GreenTech.

https://www.geeetech.com/wiki/index.php/Iduino_MEGA_R3

 

Faire reconnaitre l'Arduino par son PC

Cette opération n'est nécessaire que la première fois.

Un Arduino se branche sur un PC via son port USB. Dans la plupart des cas, l'Arduino est reconnu comme un port série  (ou port "COM") et il apparait dans le gestionnaire de périphérique de Windows.

 

Capture.JPG

 

 

Si ce n'est pas le cas, L'Arduino n'est pas reconnu (cela a été mon cas sur Windows 8.1) Il apparait alors en haut du gestionnaire de périphérique avec un point d'exclamation jaune à côté.

Pour récupérer les drivers, le plus simple est d'installer l'environnement de dévelopement (IDE) Arduino qui contient la plupart des drivers.

voir sur cette page https://www.arduino.cc/en/main/software.

Une fois l'IDE installé, sélectionner dans le gestionnaire de périphérique l'icône de l'Arduino non reconnu, et faire une installation manuelle du driver en choissisant comme répertoire le répertoire "drivers" de l'IDE Arduino (bouton droit, "rechercher un pilote", puis "rechercher un pilot sur l'ordinateur").

Capture2.JPG

 

Votre Arduino est normalement reconnu après cette procédure.

 

Mettre à jour le firmware

Vous avez deux options:

  • compiler vous même le code source (voir le lien sur le site d'Alpes Machines) avec l'IDE en exécutable (un fichier .ino.hex) , puis le téléverser avec l'IDE. Pour compiler le code il faut avoir installé dans son IDE les librairies utilisées à jour ce qui n'est pas forcément trivial, la liste et les versions n'étant pas détaillées (j'ai laissé tombé au bout de 20 minutes).
  • téléverser directement l'exécutable fournit sur le site d'Alpes Machine (il se trouve également dans Github).

On détaille ici la deuxième option.

 

Il n'y a pas directement une fonction dans l'IDE permettant de téléverser un fichier .ino.hex sur un Arduino. Par contre, à chaque fois que vous compilez et exécutez un sketch (un code source) c'est ce que fait l'IDE en ligne de commande. L'astuce est de récupérer une ligne de commande et d'y remplacer le chemin du fichier .ino.hex à téléverser.

 

Récupérer la ligne de  commande :

Lancez l'IDE Arduino. Assurez-vous dans le menu "Tools" de bien sélectionner le port COM correspondant à votre Arduino, et de sélectionner le modèle d'Arduino correspondant.

 

  •  
  • Sans titre 2

 

 

 

 

 

 

 

 

Sans titre 4

 

 

Chargez ensuite le sketch "Blink" depuis les exemples (Fichier/Exemples/01.Basics Blink). Ce sketch est un exemple qui fait clignoter une led de l'Arduino. On va téléverser ce sketch dans l'Arduino pour récupérer la ligne de commande qu'on réutilisera ensuite pour téléverser la mise à jour du Matrix-Ctrlr (vous suivez ?) ;)

Allez dans les les préférences de l'IDE et activez les traces.

 

traces.JPG

 

Puis Televerser "Blink" dans l'arduino (Icone "=>") dans le menu.

Vous allez voir plein de messages dans la partie basse de l'IDE qui se termine normalement en rouge par

...

avrdude: verifying ...
avrdude: 1460 bytes of flash verified

avrdude done. Thank you.

...

 

(les nombres peuvent changer). Si vous avez laissé l'Arduino branché sur le Matrix Ctrlr, tout l'affichage se fige (forcément, on vient d'écraser le logiciel par notre exemple). Pas de panique, c'est normal.

 

Remonter dans la trace de l'IDE jusqu'a trouver la dernière ligne blanche. Vous devrier avoir quelquechose du style:

...

global variables use 9 bytes (0%) of dynamic memory, leaving 8183 bytes for local variables. Maximum is 8192 bytes.
D:\appz\arduino-1.8.9\hardware\tools\avr/bin/avrdude -CD:\appz\arduino-1.8.9\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cwiring -PCOM4 -b115200 -D -Uflash:w:C:\Users\linux\AppData\Local\Temp\arduino_build_186497/Blink.ino.hex:i

...

 

Cette ligne de commande est celle qui téléverse le fichier exécutable du sktech "Blink" (Blink.ino.Hex) dans l'arduino.

Il suffit alors d'ouvrir une ligne de commande, d'y recopier cette ligne de commande en changeant le chemin du fichier Blink.ino.hex par celui du firmware du Matrix Ctrlr. Prenez bien le fichier qui se termine par "ino.with_bootloader.mega.hex", sinon vous ne pourrez plus faire de mise à jour depuis l'IDE.

Changez uniquement le chemin du fichier .hex, ne modifiez rien d'autre.

 

ex:

D:\appz\arduino-1.8.9\hardware\tools\avr/bin/avrdude -CD:\appz\arduino-1.8.9\hardware\tools\avr/etc/avrdude.conf -v -patmega2560 -cwiring -PCOM4 -b115200 -D -Uflash:w:D:\incoming\téléchargement\Matrix_Ctrlr_firmware\Matrix_Ctrlr_v1.07a\Matrix_Ctrlr_v1.07a.ino.with_bootloader.mega.hex:i

Validez ensuite, vous devriez voir une trace similaire à cette précédemment et votre Matrix-Cltr qui revient à la vie avec le nouveau firmware.

 

Example pendant le téléversement:

Capture3.JPG

 

...qui se termine par:

....

Reading | ################################################## | 100% 12.27s

avrdude: verifying ...
avrdude: 261406 bytes of flash verified

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as D8
avrdude: safemode: efuse reads as FF
avrdude: safemode: Fuses OK (E:FF, H:D8, L:FF)

avrdude done. Thank you.

 

Cette procédure peut être reprise pour n'importe quel type d'Arduino et de firmware.

 

Soyez le premier à réagir à ce tutoriel

    Vous souhaitez réagir à cet tutoriel ?

    Se connecter
    Devenir membre
    cookies
    Nous utilisons les cookies !

    Oui, Audiofanzine utilise des cookies. Et comme la dernière chose que nous voudrions serait de perturber votre alimentation avec des choses trop grasses ou trop sucrées, sachez que ces derniers sont fait maison avec des produits frais, bio, équitables et dans des justes proportions nutritives. Ce que cela veut dire, c’est que les infos que nous y stockons ne visent qu’à simplifier votre usage du site comme à améliorer votre expérience sur nos pages (en savoir plus). Pour personnaliser vos cookies, merci de cliquer ici.

    Nous tenons à préciser qu’Audiofanzine n’a pas attendu qu’une loi nous y oblige pour respecter la vie privée de nos membres et visiteurs. Les cookies que nous utilisons ont en commun leur unique objectif qui est d’améliorer votre expérience utilisateur.

    Tous nos cookies
    Cookies non soumis à consentement
    Il s'agit de cookies qui garantissent le bon fonctionnement du site Audiofanzine et permettent son optimisation. Le site Web ne peut pas fonctionner correctement sans ces cookies.
    Préférences du site
    Nous retenons vos préférences afin que vous n’ayez pas à effectuer les mêmes actions chaque fois que vous revenez (options forums, mode sombre ou clair, filtres petites annonces, choix onglets news ou buzz, popups newsletters...).
    Connexion
    C'est grâce à cela que vous n’avez pas à vous reconnecter à chaque fois que vous venez sur Audiofanzine.
    Analytics
    Ces données nous permettent de comprendre l’utilisation que nos visiteurs font de notre site pour tenter de l’améliorer.
    Publicités
    Ces informations nous permettent de vous afficher des publicités qui vous concernent grâce auxquelles Audiofanzine est financé. En décochant cette case vous aurez toujours des publicités mais elles risquent d’être moins intéressantes :)

    Nous tenons à préciser qu’Audiofanzine n’a pas attendu qu’une loi nous y oblige pour respecter la vie privée de nos membres et visiteurs. Les cookies que nous utilisons ont en commun leur unique objectif qui est d’améliorer votre expérience utilisateur.

    Tous nos cookies
    Cookies non soumis à consentement

    Il s'agit de cookies qui garantissent le bon fonctionnement du site Audiofanzine et permettent son optimisation. Le site Web ne peut pas fonctionner correctement sans ces cookies.

    Préférences du site

    Nous retenons vos préférences afin que vous n’ayez pas à effectuer les mêmes actions chaque fois que vous revenez (options forums, mode sombre ou clair, filtres petites annonces, choix onglets news ou buzz, popups newsletters...).

    Connexion

    C'est grâce à cela que vous n’avez pas à vous reconnecter à chaque fois que vous venez sur Audiofanzine.

    Analytics

    Ces données nous permettent de comprendre l’utilisation que nos visiteurs font de notre site pour tenter de l’améliorer.

    Publicités

    Ces informations nous permettent de vous afficher des publicités qui vous concernent grâce auxquelles Audiofanzine est financé. En décochant cette case vous aurez toujours des publicités mais elles risquent d’être moins intéressantes :)


    Vous pouvez trouver plus de détails sur la proctection des données dans la politique de confidentialité.