Page 3 sur 8

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

Posté : lun. 23 mars 2015 21:34
par guillaume9344
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.
@+

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

Posté : lun. 30 mars 2015 13:03
par lawfix
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 ^^

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

Posté : lun. 30 mars 2015 17:46
par guillaume9344
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.
@+

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

Posté : jeu. 2 avr. 2015 14:24
par lawfix
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...

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

Posté : jeu. 2 avr. 2015 19:42
par guillaume9344
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 .
@+

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

Posté : jeu. 2 avr. 2015 23:48
par lawfix
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 !

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

Posté : ven. 3 avr. 2015 13:23
par guillaume9344
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.
@+

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

Posté : ven. 3 avr. 2015 14:12
par lawfix
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 ! ^^

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

Posté : ven. 3 avr. 2015 14:16
par Manfraid
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

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

Posté : ven. 3 avr. 2015 16:37
par guillaume9344
pareil pour le C.