nRF24L01 et B+ [tuto en fin de topic]
Modérateurs : Francois, smba38
-
- Raspinaute
- Messages : 629
- Enregistré le : mar. 6 janv. 2015 19:44
- Localisation : finistere
Re: nRF24L01 et B+ [tuto en fin de topic]
point mort, depuis mon accident de sauvegarde. je suis sur un autre projet , un peu de mini mécanique pour la construction d'un anémomètre , qui transmettra évidement par ....nrf24l01.
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
Re: nRF24L01 et B+ [tuto en fin de topic]
C'est déjà bien de persévérer ! Par contre j'espère que t'as trouvé une solution sans réécrire toute la librairie... déjà que j'ai du mal à capter l'originale, je ne me vois pas la réécrire !
Re: nRF24L01 et B+ [tuto en fin de topic]
Humm après quelques recherches sur internet, la fonction ftoa n'est pas intégrée dans la librairie de l'arduino.
Pour autant même en cherchant sur le net, il n'y a pas vraiment de fonction ftoa, la seule que j'ai trouvé qui s'en approche c'est dtostrf mais qui me provoque des erreurs.
Ce soir je test ce bout de code on verra bien :
Le bout de code est passé au débug, mais après ça ne veut rien dire.. et j'ai pas mon arduino ni mon pi à la pause midi ^^
Pour autant même en cherchant sur le net, il n'y a pas vraiment de fonction ftoa, la seule que j'ai trouvé qui s'en approche c'est dtostrf mais qui me provoque des erreurs.
Ce soir je test ce bout de code on verra bien :
Code : Tout sélectionner
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWire(2);
DallasTemperature sensors(&oneWire);
// ce,csn pins
RF24 radio(9,10);
char valTexte[21] = ""; //Variable texte
void setup(void)
{
sensors.begin();
Serial.begin(57600);
Serial.println("**************V1 Send Sensor Data***********");
radio.begin();
radio.setPALevel(RF24_PA_LOW);
radio.setChannel(0x4c);
// open pipe for writing
radio.openWritingPipe(0xF0F0F0F0E1LL);
radio.enableDynamicPayloads();
radio.setAutoAck(true);
radio.powerUp();
Serial.println("...Sending");
}
void loop(void) {
sensors.begin(); //demarrage du capteur de temperature
sensors.requestTemperatures(); // demmande mesure de temperature
float temp = sensors.getTempCByIndex(0); // Lecture de la temperature
dtostrf(temp,14,8,valTexte); //Convertit temp en texte
radio.write(&temp,4);
// print and increment the counter
Serial.print("Temperature sent: ");
Serial.println(temp);
// pause a second
delay(500);
}
-
- Raspinaute
- Messages : 629
- Enregistré le : mar. 6 janv. 2015 19:44
- Localisation : finistere
Re: nRF24L01 et B+ [tuto en fin de topic]
http://c.developpez.com/faq/?page=Les-c ... S_strtonum
C est un petit rappel sur les chaines de caracteres, il y a aussi un paragraphe sur
la convertion des nombres en chaine.
Autant pour moi ftoa n est pas un standard du C , on peut utiliser des derivés de
printf ( tout est dans le lien).
Pour dtostrf, je connais pas , je dirai decimal to string, il y a peut etre une fonction ftostrf , float to string?
@+
C est un petit rappel sur les chaines de caracteres, il y a aussi un paragraphe sur
la convertion des nombres en chaine.
Autant pour moi ftoa n est pas un standard du C , on peut utiliser des derivés de
printf ( tout est dans le lien).
Pour dtostrf, je connais pas , je dirai decimal to string, il y a peut etre une fonction ftostrf , float to string?
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
Re: nRF24L01 et B+ [tuto en fin de topic]
Je regarde ce soir sans faute !
je persévère, et avec tes conseils je vais bien y arriver quand même...
je persévère, et avec tes conseils je vais bien y arriver quand même...
-
- Raspinaute
- Messages : 629
- Enregistré le : mar. 6 janv. 2015 19:44
- Localisation : finistere
Re: nRF24L01 et B+ [tuto en fin de topic]
c'est toujours un plaisir.
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
-
- Administrateur
- Messages : 3233
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Re: nRF24L01 et B+ [tuto en fin de topic]
Salut,
Bon après 2 soirées , j'ai enfin réussi hier soir à faire dialoguer un Rpi B+ avec un Arduino Nano via nRF24L01.
Mon premier test :
Rpi en tant que demandeur, Arduino en tant qu'exécuteur d'allumage, d’extinction, ou de renvoi de l'état d'une led.
Test à venir :
Mon but est d'avoir des petits montages autonomes répartis à différents endroits, me permettant soit d'allumer quelque chose (un relais remplacera la Led), soit d'avoir des capteurs de température/humidité (type DHT 11 ou 22) qui permettrons au Rpi de consulter leurs informations.
Afin de comprendre le fonctionnement, je me suis inspiré de beaucoup d'informations trouvées sur le Net. Aucune n'a fonctionné réellement, j'ai donc fait un condensé des différentes informations. Ayant pas mal "bidouillé" avant d'y arriver, je vais retenter l'expérience sur une Raspbian toute neuve, je ferai ensuite un petit retour de mes différentes installations et configurations nécessaires pour faire fonctionner cet ensemble.
Cdt,
Domi
Bon après 2 soirées , j'ai enfin réussi hier soir à faire dialoguer un Rpi B+ avec un Arduino Nano via nRF24L01.
Mon premier test :
Rpi en tant que demandeur, Arduino en tant qu'exécuteur d'allumage, d’extinction, ou de renvoi de l'état d'une led.
Test à venir :
- Réinstallation sur une Raspbian "propre"
- Demander au Nano via Rpi de lui retourner une température ainsi que le taux d'humidité
- Allumage de la LED
- Le Rpi envoi une chaine JSON pour demander l'allumage de la led au Nano (envoi N° id attribué au nRF24L01 du Nano + commande "on").
- Le Nano allume la LED, lit l'état de la Led, et retourne sont état au Rpi.
- Le Rpi reçoit l'état de la LED (chaine JSON comprend la validation de commande du Nano (true ou false) ainsi que l'état de la Led (on ou off))
- Extinction de la LED
- Idem ci dessus, mais envoi d'une commande "off"
- Demander l'état de la LED
- Le Rpi envoi une chaine JSON pour demander au Nano quel est l'état de la led (envoi N° id attribué au nRF24L01 du Nano + commande "get").
- Le Nano lit l'état de la Led, et le retourne au Rpi.
- Le Rpi reçoit l'état de la LED (chaine JSON comprend la validation de commande du Nano (true ou false) ainsi que l'état de la Led (on ou off))
Mon but est d'avoir des petits montages autonomes répartis à différents endroits, me permettant soit d'allumer quelque chose (un relais remplacera la Led), soit d'avoir des capteurs de température/humidité (type DHT 11 ou 22) qui permettrons au Rpi de consulter leurs informations.
Afin de comprendre le fonctionnement, je me suis inspiré de beaucoup d'informations trouvées sur le Net. Aucune n'a fonctionné réellement, j'ai donc fait un condensé des différentes informations. Ayant pas mal "bidouillé" avant d'y arriver, je vais retenter l'expérience sur une Raspbian toute neuve, je ferai ensuite un petit retour de mes différentes installations et configurations nécessaires pour faire fonctionner cet ensemble.
Cdt,
Domi
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
-
- Raspinaute
- Messages : 629
- Enregistré le : mar. 6 janv. 2015 19:44
- Localisation : finistere
Re: nRF24L01 et B+ [tuto en fin de topic]
C est bien tous ca!
Pour info , j ai fait communiquer 2 rpi avec les esemples de la biblioteque Rf24 , sans problemes .
j ai remarquer aussi quˋil faut un peut de distance entre deux nrf pour que ca fonctionne mieu.
Deux metres semble une distance correct pour des essais, je n ai pas essayé de baisser le niveau rf pour mes essais
en proximité, ca peut aider aussi.
@+
Pour info , j ai fait communiquer 2 rpi avec les esemples de la biblioteque Rf24 , sans problemes .
j ai remarquer aussi quˋil faut un peut de distance entre deux nrf pour que ca fonctionne mieu.
Deux metres semble une distance correct pour des essais, je n ai pas essayé de baisser le niveau rf pour mes essais
en proximité, ca peut aider aussi.
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
-
- Administrateur
- Messages : 3233
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Re: nRF24L01 et B+ [tuto en fin de topic]
Salut,
Je viens d'y passer toute ma soirée à mettre en forme sur le forum,
Le tuto pour connexion d'un Raspberry avec un Arduino via nRF24L01 est dispo ici.
Bonne lecture.
Domi
Je viens d'y passer toute ma soirée à mettre en forme sur le forum,
Le tuto pour connexion d'un Raspberry avec un Arduino via nRF24L01 est dispo ici.
Bonne lecture.
Domi
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
-
- Raspinaute
- Messages : 629
- Enregistré le : mar. 6 janv. 2015 19:44
- Localisation : finistere
Re: nRF24L01 et B+ [tuto en fin de topic]
Comme d'habitude , super boulot Domi.
merci .
(tu pourrais pas en faire un pour rpi et stm32 ..... )
@+
merci .
(tu pourrais pas en faire un pour rpi et stm32 ..... )
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam