Le module nRF24L01 (communication 2.4 GHz)
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:
- Deux led RGB :
- Un bouton :
- Une sonde DHT22 :
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 :
- GND du nRF24L01 : au GND de l'Arduino
- VCC du nRF24L01 : au 3.3v de l'Arduino
- CE du nRF24L01 : au pin 7 de l'Arduino
- CSN du nRF24L01 : au pin 8 de l'Arduino
- SCK du nRF24L01 : au pin 13 de l'Arduino
- MOSI du nRF24L01: au pin 11 de l'Arduino
- MISO du nRF24L01: au pin 12 de l'Arduino
voici le montage :
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 :
Puis
Puis pour vérifier, on tape:
ls -l /dev/spi*
Comme ceci :
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 :
- GND du nRF24L01 : au GND du Raspberry Pi
- VCC du nRF24L01 : au 3.3v du Raspberry Pi
- CE du nRF24L01 : au GPIO22 du Raspberry Pi
- CSN du nRF24L01 : au GPIO8 du Raspberry Pi
- SCK du nRF24L01 : au SCKL du Raspberry Pi
- MOSI du nRF24L01: au MOSI du Raspberry Pi
- MISO du nRF24L01: au MISO du Raspberry Pi
voici le montage :
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 :
Et dans la com série de l'Arduino ceci:
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:
Et coté Raspberry on reçoit le message et vous devriez avoir ceci :
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