Bonjour,
Je me suis amusé avec les NRF en début d’année. C’est tombé en marche au bout de plusieurs essais.
Voici quelques notes en vrac:
Source: http://electroniqueamateur.blogspot.com/2017/02/communication-entre-raspberry-pi-et.html
Installer les prérequis pour Python
Source:// https://tmrh20.github.io/RF24/Python.html
$ sudo apt-get install python-dev libboost-python-dev
$ sudo apt-get install python-setuptools
- Procédure d’installation de la bibliothèque
Source: http://tmrh20.github.io/RF24/Linux.html
$ cd /tmp
$ wget http://tmrh20.github.io/RF24Installer/RPi/install.sh
$ chmod +x install.sh
$ ./install.sh
$ cd rf24libs/RF24/PyRF24
$ chmod +x setup.py
$ ./setup.py build
$ sudo ./setup.py install
NOTE: Il a été nécessaire d’allouer un espace de swap plus grand le temps de la compilation
$ sudo dphys-swapfile swapoff
$ sudo vi /etc/dphys-swapfile
# # changer la valeur de CONF_SWAPSIZE=100 -> 1024
$ sudo dphys-swapfile setup
$ sudo dphys-swapfile swapon
$ free -h
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Réception de données par le Rasbperry Pi.
# Module nRF24L01
# Fonctionne avec le script Arduino NRF24L01_Transmitter
#
from RF24 import *
# Numéro du port GPIO
radio = RF24(25, 0)
addr = "00001"
print('Réception de données')
radio.begin()
print('Prêt a recevoir les données...')
radio.openReadingPipe(0,addr)
radio.startListening()
radio.printDetails()
# forever loop
while 1:
if radio.available():
while radio.available():
message = radio.read(32)
print('Message reçu = {} '.format(message))
En cas de problème de communication comparer les données de ‹ ‹ printDetails › › entre l’Arduino et le Raspberry.
Il faut que:
- RX_ADDR_P0-1 du PI et TX_ADDR de l’arduino soient identiques
- RF_CH soit le même
- Data Rate soit le même
Bonne bidouilles.
A+