nRF24L01 et B+ [tuto en fin de topic]

Un lieu pour discuter des composants et de leur utilisation. Un passage obligé si vous devez interfacer votre Raspberry Pi avec le monde extérieur. On y trouvera aussi les cartes type commande de moteur pas à pas, continu, servo...

Modérateurs : Francois, smba38

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: nRF24L01 et B+ [tuto en fin de topic]

Message par guillaume9344 » lun. 23 mars 2015 21:34

Bonsoir,
pour moi cela fais 13jours que j ai recu mais nrf, n etant pas satisfais de la lib RF24, j ai entrepri
de coder mon interface moi meme. J en suis a un petit programme en C++ qui lit les differents registres,
sois juste celui qu on demande ,soit tous les registres. J ai encore quelques pb pour l ecriture.
Quand je metriserai bien ces fonctions je me lanserai dans les essais " on air".
Si mes codes vous interessent, je partage sans pb.
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

lawfix
Messages : 66
Enregistré le : mer. 24 sept. 2014 10:02

Re: nRF24L01 et B+ [tuto en fin de topic]

Message par lawfix » lun. 30 mars 2015 13:03

Hello,

moi ça m'intéresse énormément, surtout la manière dont tu procèdes une fois que t'as codé ton fichier cpp pour le rendre exécutable :\

Merci d'avance ^^

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: nRF24L01 et B+ [tuto en fin de topic]

Message par guillaume9344 » lun. 30 mars 2015 17:46

Bonjour,
j' ai mis les fichiers en pièces jointes.
pour la compilation , au début quand j avais q'un seul fichier c++, j'ai modifié un fichier makefile pour l adapter à mon fichier et placé dans le même dossier puis dans un terminal se placer dans le dossier et taper make.
Mai au fur et mesure j 'ai utilisé plusieurs fichiers, j ai donc cherché a faire de la compilation croisé, mais j ai rien trouvé de valable. Au final j utilise code::blocks directement sur le pi (autraver d'un server vnc pour moi). le fichier généré et situé sous: ../nrf20l01/nrf24l01/bin/debug , pour l exécuter, dans un terminal , ce placer dans le répertoire puis effectuer la commande : sudo ./nrf24l01.
Sous un environnement graphique double cliquer sur le fichier nrf24l01 situé toujours dans le même dossier et choisir exécuter dans un terminal.
Bien sure le fichier exécutable peut être déplacé où l'on veut (enfin je croie?) .
Les sources ne sont encore pas trop commentées mais j ai essayé d’être claire dans le code, n hésitez pas à ma poser des questions en cas d'incompréhensions.
@+
Fichiers joints
nrf24l01.rar
(113.08 Kio) Téléchargé 187 fois
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

lawfix
Messages : 66
Enregistré le : mer. 24 sept. 2014 10:02

Re: nRF24L01 et B+ [tuto en fin de topic]

Message par lawfix » jeu. 2 avr. 2015 14:24

Hello !!

Merci pour tes fichiers.

J'espère que ça va me permettre de mieux comprendre le fonctionnement de ces émetteurs récepteurs.

En fait, ton makefile peut il fonctionner pour d'autres programme ou pas du tout ?

Je galère un peu à faire tourner mes programmes et pas ceux des exemples...

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: nRF24L01 et B+ [tuto en fin de topic]

Message par guillaume9344 » jeu. 2 avr. 2015 19:42

Oui le makefile peut fonctionner avec d'autre fichiers.
celui que j ai transmit peut ne plus fonctionner avec les fichiers joints , je l 'ai mis pour donner une base de travail, mais les fichiers sources ont été recompilés par la suite avec codes::blocks.
Pour le faire fonctionner avec ton fichier, il suffit de remplacer dans la ligne 26 le nom du fichier final dans ce cas ci , le nom du fichier compiler doit être égal au fichier source sans l’extension :
source :spi.cpp
nom programme :spi
cela est du ici à la syntaxe utilisée pour définir les source :

Code : Tout sélectionner

PROGRAMS = spi
SOURCES = ${PROGRAMS:=.cpp}


Attention aussi si tes fichiers sont écrit en C modifier "${PROGRAMS:=.cpp}" par "${PROGRAMS:=.c}" j ai pas testé avec plusieurs sources , mais ça doit être possible.
Mes fichiers sources font appels à la librairie bcm2835 pour la getion du spi , avec code::blocks j ai rajouté les source manuellement , mais j avais aussi installé la librairie sur la pi ,
du coup je sais pas trop comment la compilation se fait.
http://www.airspayce.com/mikem/bcm2835/index.html

A quel niveau tes programmes ne fonctionnent pas?
As tu essayé de partir des fichiers des exemples de rf24 et de les recompiler? si ca marche tu peux après modifier peu à peu le code pour l 'adapter .
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

lawfix
Messages : 66
Enregistré le : mer. 24 sept. 2014 10:02

Re: nRF24L01 et B+ [tuto en fin de topic]

Message par lawfix » jeu. 2 avr. 2015 23:48

En fait mon soucis, c'est quelque soit le code que j'essaie de faire tourner, que ce soit python ou c++ ça ne marche mais alors pas du tout...

Pourtant, les exemples fonctionnent eux parfaitement (gettingstarted etc... en pong out et back sans soucis ).

Mais dès que j'essaie de faire un truc pour lire la sonde depuis l'arduino c'est le drame !

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: nRF24L01 et B+ [tuto en fin de topic]

Message par guillaume9344 » ven. 3 avr. 2015 13:23

Je comprend pas trop? C est le programme dans l ardino qui fonctionne pas?
Pour un programme sur le rpi, partez des fichiers d exemples (les sources en .c ou .cpp)
Et de les compiler vous meme.si ca marche, commencer par des petites modifications.
il faut faire attention aussi au adresses entre les deux nrf24l01 .
Je ne connais pas la programmation sur ardino ,mais si c est du .C je devrai comprendre un peu.
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

lawfix
Messages : 66
Enregistré le : mer. 24 sept. 2014 10:02

Re: nRF24L01 et B+ [tuto en fin de topic]

Message par lawfix » ven. 3 avr. 2015 14:12

Re,

Merci de l'aide apportée !

Alors non c'est bien côté pi que ça ne passe pas ( l'arduino ne gère pas le python ).

Le programme côté arduino fonctionne bien, pas de soucis.

C'est côté Pi ou le programme quelqu'il soit génère des erreurs lors de la compilation (quand c'est du C) ou alors entraine des erreurs lorsque c'est du pyhthon.

Pour le coup les exemples j'essaie de m'en inspirer mais ils sont tous basés sur du ping pong role.

Moi le but c'est juste de récupérer l'info de l'arduino et ensuite de l'intégrer dans une base SQL.

Mais avant le SQL, j'aimerai juste réussir à récupérer la valeur envoyée depuis l'arduino ! ^^

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: nRF24L01 et B+ [tuto en fin de topic]

Message par Manfraid » ven. 3 avr. 2015 14:16

sous quel forme les données sont envoyer, et autre question quand tu le fait en python pourrais tu mettre l'erreur ici pour t'aiguiller
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

guillaume9344
Raspinaute
Messages : 629
Enregistré le : mar. 6 janv. 2015 19:44
Localisation : finistere

Re: nRF24L01 et B+ [tuto en fin de topic]

Message par guillaume9344 » ven. 3 avr. 2015 16:37

pareil pour le C.
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam

Répondre

Retourner vers « L'électronique et le Raspberry Pi »