Communication PC=>USB=>NRF24L01+ <=> NRF24L01+ => Arduino

Bonjour à tous,

J'ai un projet de robot, ainsi qu'un quadricoptère en cours de construction (sur base de multiwii), et j'aimerai pouvoir uploader sans fil des sketchs dans mon arduino pro mini, et aussi récupérer la télémétrie de du quadricoptère via le NRF24L01.

C'est possible via bluetooth, ou avec des xBee, mais j'aimerai ne pas utiliser xBee pour des raisons de cout, et pas bluetooth pour des raisons de portée.

En plus j'ai déjà quelques modules NRF24L01+ qui ne me servent plus à rien.

Mais je n'ai rien trouvé de concret sur la manière d'utiliser 2 de ces modules en simple remplacement du cable USB entre le PC et l'arduino. J'ai lu plusieurs fois que c'était possible, mais sans plus de détails.

Avez vous quelques informations / avis sur la question ?

Merci à vous,

Seb

Salut Seb,

L'interface du NRF24L01+ est du SPI (série synchrone) alors que le bootloader demande un liaison asynchrone.
Donc pas faisable avec le bootloader standard. Il faudrait un bootloader spécialisé.

Bonjour,

seb2501:
J'ai un projet de robot, ainsi qu'un quadricoptère en cours de construction (sur base de multiwii), et j'aimerai pouvoir uploader sans fil des sketchs dans mon arduino pro mini, et aussi récupérer la télémétrie de du quadricoptère via le NRF24L01.
(...)
Mais je n'ai rien trouvé de concret sur la manière d'utiliser 2 de ces modules en simple remplacement du cable USB entre le PC et l'arduino. J'ai lu plusieurs fois que c'était possible, mais sans plus de détails.

Une liaison PC -> nRF24L01 ~~ nRF24L01 -> arduino n'est possible que sous plusieurs conditions :

  • côte PC doit ce trouver un microcontrôleur faisant le lien entre l'usb et le nRF24L01, cela peut être une carte arduino ou une carte spécialisé (dispo chez sparkfun par exemple)
  • côté arduino tu doit avoir un sketch utilisant la librairie Mirf pour communiquer en SPI avec le nRF24L01 et faisant le lien avec ton application

Pour utiliser un nRF24L01 comme moyen de communication au boot, il faudrait concevoir un bootloader spécifique.
Cela demande énormément de temps et des compétences trés poussé en programmation avr-c.
Ce qui est sur c'est qu'aucun bootloader "tout prêt" n'existe.

Effectivement, il faudrait que le NRF24 communique via une liaison série TTL (UART) et non SPI pour que l'on puisse uploader des sketchs.

J'ai lu plusieurs fois que c'était possible, mais sans plus de détails.

J'aimerais bien que tu me partages les liens où tu as vu ça stp.

Bonne journée :slight_smile:


Stéphane.

Tiens je songeais à ce genre de trip, pas avec des nrf, mais avec ça :
http://www.coolcomponents.co.uk/catalog/rfd21733-24gz-transceiver-p-265.html

B@tto:
Tiens je songeais à ce genre de trip, pas avec des nrf, mais avec ça :
http://www.coolcomponents.co.uk/catalog/rfd21733-24gz-transceiver-p-265.html

Avec ce genre de CI ça doit être possible, ils sont conçu pour faire des ponts "Serial over 2.4GHz".

Par contre il n'est pas fait mention du temps de latence, c'est un point important pour une utilisation avec un bootloader.
Un temps de latence trop élevé rendrait impossible le bon fonctionnement du bootloader.