Communication entre Raspberry et Arduino

Le module nRF24L01 (communication 2.4 GHz)

image non disponible

Ce tutoriel est un récapitulatif et un mix de ces 2 tutoriels :

communication entre 2 Raspberry:
http://electroniqueamateur.blogspot.fr/2017/02/communication-entre-raspberry-pi-et.html

communication entre 2 Arduino:
http://electroniqueamateur.blogspot.fr/2017/02/communication-par-nrf24l01-entre-deux.html

Dans ce tutoriel l'Arduino va lire une sonde DHT22 et envoyer le résultat au Raspberry.

Il vous faudra:

Partie émission avec un Arduino

Il faut au préalable installer la librairie RF24

https://github.com/nRF24/RF24.git

Puis la dézipper et déplacer le dossier dans votre dossier librairie du dossier Arduino

On le branche ainsi :

image non disponible

voici le montage :

image non disponible

Et le programme à copier dans l'IDE de l'Arduino:

emetteur.ino

Partie réception avec un Raspberry pi

Il faut activer le module SPI du Raspberry pi, pour cela taper dans le terminal (raccourci: Ctrl + Alt + t) ou par ssh :

sudo raspi-config

Onglet 5 :

image non disponible

Puis

image non disponible

Puis pour vérifier, on tape:

ls -l /dev/spi*

Comme ceci :

image non disponible

On a besoin de la librairie RF24, on va déjà installé "git" si ce n'est pas déjà fait et les outils python.

sudo apt-get install git python-dev libboost-python-dev python-setuptools -y

Puis on télécharge la librairie :

git clone https://github.com/TMRh20/RF24.git

On se rend dans le dossier

cd RF24

On installe la librairie

sudo make install -B

Une fois terminé, on change de dossier

cd pyRF24

Puis

./setup.py build

Et enfin

sudo ./setup.py install

On le branche ainsi :

image non disponible

voici le montage :

image non disponible

Et le programme :

nano recepteur.py

Copier le fichier ci-dessous et coller le:

recepteur.py

Une fois le fichier copié, appuyez sur Ctrl + X pour fermer et enregistrer le fichier.

Fonctionnement

une fois que tout est en place, on va lancer le programme du Raspberry , donc dans le terminal du pi on tape:

sudo python recepteur.py

Vous devriez avoir ceci :

image non disponible

Et dans la com série de l'Arduino ceci:

image non disponible

Maintenant si on appuie sur le bouton, l'Arduino va lire la sonde et envoyer les valeurs au Raspberry

Il va également écrire dans la com série de l' Arduino l'état du bouton et les valeurs de la sonde

En fonction de la température la LED RGB associée à l'Arduino s'allumera rouge vert ou bleu

On obtient ceci dans la com série de l'Arduino:

image non disponible

Et coté Raspberry on reçoit le message et vous devriez avoir ceci :

image non disponible

Le programme du raspberry traite le message et en fonction de la température, la LED RGB associée s'allumera rouge vert ou bleu