dimanche 27 avril 2014

Communiquer avec un nRF24L01+ sur Raspberry Pi


Dans cet article je vais rapidement décrire comment faire communiquer un Arduino avec un Raspberry Pi à l'aide de deux nRF24L01+. Le Arduino sera configuré comme un émetteur de données et le Raspberry comme le récepteur.


Liste du matériel

  • Un Arduino Uno
  • Un RaspberryPi
  • 2 nRF24L01p
  • 16 cable de prototypage mâle-femelle
  • 2 plaque de prototypage(optionel)
  • 20 câble de prototypage mâle-mâle (optionel)
  • La bibliothèque RF24 (stanleyeow)

Récupération de la bibliothèque


Dans un premier temps nous allons récupérer la bibliothèque RF24 sur github. Il vous en faudra un exemplaire pour le Raspberry Pi et un autre pour votre plateforme de développement Arduino. (Notez que la version de la bibliothèque RF24 n'est pas la même que celle présenté dans l'article précédent, qui ne contenait pas de code pour le RaspberryPi. Cette version reste compatible avec la précédente mais une différence existe au niveau de la gestion de la consommation qui nous obligera à appeler explicitement la fonction PowerDown après chaque écriture sur un pipe si on veux éteindre le transmetteur en deux utilisations.

Pour récupérer RF24 vous avez deux possibilités :
  1. Cliquer sur "Download ZIP" sur la page Github du projet
  2. Cloner le projet avec Git
Si vous voulez cloner le projet avec Git vous pouvez procéder ainsi :

Installez Git en tapant dans une console
Placez vous dans le répertoire où vous voulez installer RF24 puis tapez.

Activation du SPI sur Raspberry


Si comme moi vous utilisez Raspbian sur votre Raspberry il se peut que le mode SPI soit désactivé. Pour l'activer ouvrez le fichier

    /etc/modprobe.d/raspi-blacklist.conf

puis commentez la ligne

    blacklist spi-bcm2708

en plaçant un '#' devant.


Côté Raspberry Pi


Schema




Code


Côté Arduino


Schema




Code