Dans le cadre d'un projet, j'ai pour objectif de mettre en réseau plusieurs arduinos (transmetteur) avec une arduino (base réceptrice).
J'aimerai pouvoir choisir le canal de communication que je souhaite ouvrir à partir de la base, en temps réel à l'aide d'une saisie du canal voulu sur clavier.
Cependant dans tout ce que j'ai pu voir, le canal de communication est initialisé avant l'entrée en boucle loop et bloque donc la base sur un canal particulier.
Savez vous, ou pensez vous que je peux détourner cela afin de réaliser la sélection manuellement comme je le voudrai, et donc une initialisation du module recepteur en boucle loop?
et vous rentrez aussi la même info sur les clients ?
si vous regardez un de mes petits tuto, le nom est effectivement câblé en dur mais rien n'empêcherait dans le setup de lire l'info avant d'initialiser les pipes
// On ouvre un pipe de lecture et un d'écriture avec des noms opposés en fonction du rôle
// comme ça un parle sur "pipe0" et l'autre écoute sur "pipe0"
// et l'autre parle sur "pipe1" tandisque Le premier écoute sur "pipe1"
radio.openWritingPipe(adresses[role]); // role doit être 0 ou 1
radio.openReadingPipe(1, adresses[1 - role]); // 1 - role = l'autre adresse
Oui en effet chaque client serait préalablement paramétré pour envoyer de l'information sur son propre canal fixe (information envoyée que la communication avec la base soit établie ou non), et la base viens chercher l'information sur demande.
Parfait alors, j'avais des doutes sur le fait de pouvoir initialiser l'écoute sur un pipe une fois dans le setup, mais du coup je vais partir sur ça.