Pour documenter quelques infos utiles pour l’utilisation des Raspberry Pico dans le contexte du montage de détection présenté plus haut…
J’ai opté pour la version la plus basique du Pico qui soit: Raspberry Pi 2MB SC0917 Pico H 32 bit. Il existe des versions plus sophistiquées (avec Wifi, BlueTooth etc) mais c’est inutile pour le montage décrit plus haut. Le prix de la version basique est vraiment modique: £4 la pièce, disons €5 ! Disponibles via de nombreux marchands en ligne ou sur le site de Raspberry directement.
En branchant le Pico au PC pour la 1ere fois avec un câble micro-USB, il est reconnu comme un périphérique par Win11 (avec la notification sonore caractéristique) mais il n’apparait pas dans l’explorateur pour autant (comme apparaitrait une clé USB par exemple). Il y a un certain nombre de choses a savoir et à faire avant de pouvoir lui téléverser un code a exécuter.
Ce site m’a été très utile pour comprendre ces étapes préliminaires:
How to Program Raspberry Pi Pico With the Arduino IDE
Replying to my own post again (sorry). Still continuing the saga, trying to get Debian on Raspberry Pi v3 to load the Linux package that gets the Arduino IDE to support Raspberry Pico development.
Donc, en suivant ces instructions, on installera ce package pour Windows mis a disposition par la fondation Raspberry:
Puis, on suivra les étapes décrites pour que l’Arduino IDE puisse reconnaitre le Pico. Il faut notamment installer le package “Raspberry Pi Pico/RP2040/RP2350” de Earle F. Philhower via le “Board Manager” de l’Arduino IDE. Une fois ce package installé, avec le Pico branché sur le cable micro-USB, on pourra sélectionner le port COM et la bonne carte dans l’Arduino IDE pour y téléverser quelque chose.
Mais attention ! Il est important de savoir que pour le 1er téléversement sur le Pico, il faut au préalable le brancher via la prise micro-USB tout en maintenant le bouton “BOOT SEL” appuyé. Un disque USB nommé RPI-RP2 se “monte” - et est donc visible dans l’explorateur Windows - et le fichier résultant de la compilation, un fichier “.uf2” est copié sur le disque du Pico. C’est comme cela que le flashage s’effectue. Il n’est nécessaire de faire cette manip que pour le 1er flashage (téléversement du code). Ce n’est plus requis ensuite, on peut téléverser directement. Si on ne sait pas cela, on peut passer pas mal de temps a tourner en rond…oui, j’ai pas mal tourné en rond et je ne pense pas être le seul
Pour les microcontrôleurs type ESP32, même logique: il sera également nécessaire d’installer au préalable un pilote adéquat et de télécharger les packages “Arduino ESP32 Boards” et “esp32” via le “Board Manager” de l’Arduino IDE avant que celui-ci ne puisse reconnaisse la carte et y téléverser quelque chose. J’ai téléchargé mes pilotes ici:
Attention: il faut aussi savoir que les microcontrôleurs ESP32 existent en version 30 ou 38 broches (“broches”=“pins”). Les différents montages proposés par Christophe emploient tantôt les uns, tantôt les autres. Et il peut également y avoir des variations dans les broches de sorties selon les fabricants (donc 2 ESP 38 broches, apparemment identiques, ne le seront pas forcemment). Cela importe pour l’allocation des broches dans le code pour les flux entrants/sortants…je recommande de se procurer le schéma complet des broches pour les microcontrôleurs que l’on a acheté, ce qui permettra de vérifier les allocations définies dans le code, si besoin. Cela peut etre une source de non-fonctionnement d’un montage.
Enfin, pour que le code de communication CAN crée par Christophe puisse être compilé correctement, il faudra au préalable télécharger les bibliothèques CAN disponibles dans le “Library manager” de l’Arduino IDE. Notamment la bibliothèque ACAN2515 de Pierre Molinaro. Dans l’Arduino IDE, j’ai téléchargé plus de bibliothèques CAN que nécessaires je pense. Elles sont disponibles gratuitement, et se télechargent en quelques secondes.
Voilà, j’espère que ces petites infos feront gagner du temps a ceux qui veulent explorer la chose comme moi. Probablement une succession d’évidences pour les pro de l’Arduino, mais certainement pas évident pour ceux qui partent de 0. Il ne faut pas se voiler la face, c’est une “logique très informatique”: je jette la pierre a celui qui n’a pas souri devant cette logique implacable de devoir appuyer sur le bouton “Démarrer” pour “Arrêter” son PC sous Windows ! Et, soyons clair, “l’a peu près” n’est pas toléré dans ce genre de projet.
Mais tous ces préliminaires logistiques ne sont qu’à effectuer qu’une fois. Dès que l’Arduino IDE est équipé pour interagir avec les Pico et ESP32, et que toutes les bibliothèques CAN nécessaires sont chargées dans l’Arduino IDE, là, cela devient réellement passionnant : on pénètre dans les entrailles du système CAN de Märklin et les possibilités semblent infinies ! Lorsque je trouve un peu de temps, je vais recommencer à 0 avec ce fil didactique qu’a proposé Christophe:
J’ai pris le train en marche avec le CAN, ce qui n’est pas la bonne approche, j’ai l’impression d’apprendre à rebours.
Enfin, il faut insister sur cette chance inouï d’avoir Christophe parmis nous, un passionné incroyablement compétent, pointu et efficace. “Les chercheurs qui cherchent, on en trouve, les chercheurs qui trouvent, on en cherche”. Je peux l’affirmer, il est dans la 2ieme catégorie et on ne l’a meme pas cherché: il est venu vers nous !