Arduino Python Multi-Capteur 2.4Ghz : Différence entre versions

(convert properties for internationnalized Wikifab)
(Cette version a été marquée pour être traduite)
Ligne 5 : Ligne 5 :
 
|Type=Creation
 
|Type=Creation
 
|Area=Electronics
 
|Area=Electronics
|Description=<translate>Capteurs de températures, de pression, d'humidité sur un Arduino et envoyés par émetteur 2.4Ghz</translate>
+
|Description=<translate><!--T:26--> Capteurs de températures, de pression, d'humidité sur un Arduino et envoyés par émetteur 2.4Ghz</translate>
 
|Difficulty=Medium
 
|Difficulty=Medium
 
|Cost=20
 
|Cost=20
Ligne 15 : Ligne 15 :
 
}}
 
}}
 
{{ {{tntn|Introduction}}
 
{{ {{tntn|Introduction}}
|Introduction=<translate>Avec ce tutoriel vous apprendrez à utiliser Arduino et des capteurs (température, pression et humidité) plus émission/réception en 2.4Ghz. Et en plus la réception sur un Raspberry pi en Python. L’idée m’est venue en voulant ajouter la pression et l’humidité à mon capteur de température extérieur.
+
|Introduction=<translate><!--T:27-->
 +
Avec ce tutoriel vous apprendrez à utiliser Arduino et des capteurs (température, pression et humidité) plus émission/réception en 2.4Ghz. Et en plus la réception sur un Raspberry pi en Python. L’idée m’est venue en voulant ajouter la pression et l’humidité à mon capteur de température extérieur.
 
Pour en savoir plus sur mes projets, [https://www.blog-de-michel.fr visitez mon site].</translate>
 
Pour en savoir plus sur mes projets, [https://www.blog-de-michel.fr visitez mon site].</translate>
 
}}
 
}}
 
{{ {{tntn|Materials}}
 
{{ {{tntn|Materials}}
|Material=<translate>* Un Raspberry moi c’est un PI Model B.  
+
|Material=<translate><!--T:28-->
 +
* Un Raspberry moi c’est un PI Model B.  
 
* Un Arduino uno  
 
* Un Arduino uno  
 
* 2 émetteurs/récepteurs en 2.4Ghz
 
* 2 émetteurs/récepteurs en 2.4Ghz
Ligne 36 : Ligne 38 :
 
{{Separator}}
 
{{Separator}}
 
{{ {{tntn|Tuto Step}}
 
{{ {{tntn|Tuto Step}}
|Step_Title=<translate>Le montage</translate>
+
|Step_Title=<translate><!--T:29--> Le montage</translate>
|Step_Content=<translate>Un capteur de température intérieur, un capteur de température extérieur, un capteur d’humidité et un capteur de pression le tout connecté à un Arduino et les valeurs transférées par un émetteur en 2.4Ghz. Et pour la réception Raspberry, récepteur 2.4Ghz et du python. Voilà l’objet de ce petit tuto.
+
|Step_Content=<translate><!--T:30-->
 +
Un capteur de température intérieur, un capteur de température extérieur, un capteur d’humidité et un capteur de pression le tout connecté à un Arduino et les valeurs transférées par un émetteur en 2.4Ghz. Et pour la réception Raspberry, récepteur 2.4Ghz et du python. Voilà l’objet de ce petit tuto.
  
 +
<!--T:31-->
 
Pour le montage de l’émetteur voici le schéma. Rien de très compliqué mais il y a beaucoup de fil…
 
Pour le montage de l’émetteur voici le schéma. Rien de très compliqué mais il y a beaucoup de fil…
  
 +
<!--T:32-->
 
Bien penser aux résistances de 4.7K sur le récepteur de température et d’humidité. Et surtout attention l’émetteur 2.4Ghz fonctionne sous 3.3V.</translate>
 
Bien penser aux résistances de 4.7K sur le récepteur de température et d’humidité. Et surtout attention l’émetteur 2.4Ghz fonctionne sous 3.3V.</translate>
 
|Step_Picture_00=Schema multi capteur bb.jpg
 
|Step_Picture_00=Schema multi capteur bb.jpg
 
}}
 
}}
 
{{ {{tntn|Tuto Step}}
 
{{ {{tntn|Tuto Step}}
|Step_Title=<translate>Programmation Arduino</translate>
+
|Step_Title=<translate><!--T:33--> Programmation Arduino</translate>
|Step_Content=<translate>Pour la programmation de l’Arduino il faut quelques biblio :
+
|Step_Content=<translate><!--T:34-->
 +
Pour la programmation de l’Arduino il faut quelques biblio :
  
 +
<!--T:35-->
 
Le capteur de pression : Barometer, SPI et Wire  . Je vous ajoute tous les liens sur mon [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github] :
 
Le capteur de pression : Barometer, SPI et Wire  . Je vous ajoute tous les liens sur mon [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github] :
 
* Le capteur d’humidité : DHT22
 
* Le capteur d’humidité : DHT22
Ligne 53 : Ligne 60 :
 
* L’émetteur 2.4Ghz : RF24
 
* L’émetteur 2.4Ghz : RF24
  
 +
<!--T:36-->
 
Pour le programme de l’Arduino je vais pas le mettre ici en intégral mais vous pouvez le trouver sur mon [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github].
 
Pour le programme de l’Arduino je vais pas le mettre ici en intégral mais vous pouvez le trouver sur mon [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github].
  
 +
<!--T:37-->
 
Par contre quelques informations sur son fonctionnement. Les données à envoyer sont préparées avant l’envoie dans un tableau de char de cette façon :
 
Par contre quelques informations sur son fonctionnement. Les données à envoyer sont préparées avant l’envoie dans un tableau de char de cette façon :
  
 +
<!--T:38-->
 
On crée le char avec une valeur de départ :
 
On crée le char avec une valeur de départ :
 
char SendPayload[32] = “RS1 :”;
 
char SendPayload[32] = “RS1 :”;
  
 +
<!--T:39-->
 
Ensuite on ajoute le valeurs. Chaque valeur est précédé et suivie d’une lettre permettant à la réception son repérage. Par exemple pour la température :
 
Ensuite on ajoute le valeurs. Chaque valeur est précédé et suivie d’une lettre permettant à la réception son repérage. Par exemple pour la température :
  
 +
<!--T:40-->
 
strcat(SendPayload, “T”);
 
strcat(SendPayload, “T”);
 
dtostrf(txbuffer[0],2,2,tempstr);
 
dtostrf(txbuffer[0],2,2,tempstr);
Ligne 67 : Ligne 79 :
 
strcat(SendPayload, “T”);
 
strcat(SendPayload, “T”);
  
 +
<!--T:41-->
 
Et ensuite le char complet est envoyé :
 
Et ensuite le char complet est envoyé :
 
bool ok = radio.write(&SendPayload,sizeof(SendPayload));
 
bool ok = radio.write(&SendPayload,sizeof(SendPayload));
  
 +
<!--T:42-->
 
Mais comme il y a trop de donnée et que le nombre de caractère est au maximum de 32 il faut faire deux char envoyés à la suite. Chaque char sera repéré à la réception par son numéro “RS1” et “RS2”.</translate>
 
Mais comme il y a trop de donnée et que le nombre de caractère est au maximum de 32 il faut faire deux char envoyés à la suite. Chaque char sera repéré à la réception par son numéro “RS1” et “RS2”.</translate>
 
}}
 
}}
 
{{ {{tntn|Tuto Step}}
 
{{ {{tntn|Tuto Step}}
|Step_Title=<translate>La réception</translate>
+
|Step_Title=<translate><!--T:43--> La réception</translate>
|Step_Content=<translate>Pour la réception nous avons un montage plus simple. Un raspberry pi et un récepteur en 2.4Ghz.
+
|Step_Content=<translate><!--T:44-->
 +
Pour la réception nous avons un montage plus simple. Un raspberry pi et un récepteur en 2.4Ghz.
 
Il faut configurer le Raspberry Pi pour le récepteur tout est dans ce fichier pdf ci-joint : Config Raspberry et Récepteur 2.4Ghz.pdf
 
Il faut configurer le Raspberry Pi pour le récepteur tout est dans ce fichier pdf ci-joint : Config Raspberry et Récepteur 2.4Ghz.pdf
  
 +
<!--T:45-->
 
Et pour finir un fichier en Python pour la réception et l’enregistrement des données dans une base de données.
 
Et pour finir un fichier en Python pour la réception et l’enregistrement des données dans une base de données.
  
 +
<!--T:46-->
 
Pour la réception je lui fait faire deux boucles pour avoir mes deux char qui sont décortiqués pour à la fin des deux boucles avoir toutes le données qui sont, pour finir envoyer dans la base.
 
Pour la réception je lui fait faire deux boucles pour avoir mes deux char qui sont décortiqués pour à la fin des deux boucles avoir toutes le données qui sont, pour finir envoyer dans la base.
  
 +
<!--T:47-->
 
Le programme en Python : multi_capteurs-NF24.py. Pour fonctionner il lui faut un programme de config en xlm pour les données de connxion à la base : config
 
Le programme en Python : multi_capteurs-NF24.py. Pour fonctionner il lui faut un programme de config en xlm pour les données de connxion à la base : config
  
 +
<!--T:48-->
 
Et le sql pour créer la table dans votre base de donnée : Table SQL
 
Et le sql pour créer la table dans votre base de donnée : Table SQL
  
 +
<!--T:49-->
 
Voilà. Bon bricolage. La suite sera un affichage sur mon DashScreen des données collectées.
 
Voilà. Bon bricolage. La suite sera un affichage sur mon DashScreen des données collectées.
  
 +
<!--T:50-->
 
Vous trouverez tous les documents et codes sur [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github].
 
Vous trouverez tous les documents et codes sur [https://github.com/Michelgard/Multi-capteur-Arduino-avec-emetteur-2.4Ghz Github].
 
Et d’autre info sur mon blog : [https://www.blog-de-michel.fr www.blog-de-michel.fr]</translate>
 
Et d’autre info sur mon blog : [https://www.blog-de-michel.fr www.blog-de-michel.fr]</translate>

Version du 11 août 2017 à 12:42

Auteur avatarMichelGard | Dernière modification 9/12/2019 par Clementflipo

Vumontage.jpg
Capteurs de températures, de pression, d'humidité sur un Arduino et envoyés par émetteur 2.4Ghz
Difficulté
Moyen
Durée
1 heure(s)
Catégories
Électronique
Coût
20 EUR (€)
Autres langues :
français
Licence : Attribution-ShareAlike (CC BY-SA)

Introduction

Avec ce tutoriel vous apprendrez à utiliser Arduino et des capteurs (température, pression et humidité) plus émission/réception en 2.4Ghz. Et en plus la réception sur un Raspberry pi en Python. L’idée m’est venue en voulant ajouter la pression et l’humidité à mon capteur de température extérieur.

Pour en savoir plus sur mes projets, visitez mon site.

Matériaux

  • Un Raspberry moi c’est un PI Model B.
  • Un Arduino uno
  • 2 émetteurs/récepteurs en 2.4Ghz
  • Un capteur pour la température extérieur : DS18B20
  • Un capteur d’humidité (il fait aussi température) : DHT22
  • Un capteur de pression (il faut aussi la température) : BMP180

Outils

  • Un ordinateur pour la programmation Arduino
  • Plaque d'essai et fil de connexion.

Étape 1 - Le montage

Un capteur de température intérieur, un capteur de température extérieur, un capteur d’humidité et un capteur de pression le tout connecté à un Arduino et les valeurs transférées par un émetteur en 2.4Ghz. Et pour la réception Raspberry, récepteur 2.4Ghz et du python. Voilà l’objet de ce petit tuto.

Pour le montage de l’émetteur voici le schéma. Rien de très compliqué mais il y a beaucoup de fil…

Bien penser aux résistances de 4.7K sur le récepteur de température et d’humidité. Et surtout attention l’émetteur 2.4Ghz fonctionne sous 3.3V.




Étape 2 - Programmation Arduino

Pour la programmation de l’Arduino il faut quelques biblio :

Le capteur de pression : Barometer, SPI et Wire . Je vous ajoute tous les liens sur mon Github :

  • Le capteur d’humidité : DHT22
  • Le capteur de température : DS18D20
  • L’émetteur 2.4Ghz : RF24

Pour le programme de l’Arduino je vais pas le mettre ici en intégral mais vous pouvez le trouver sur mon Github.

Par contre quelques informations sur son fonctionnement. Les données à envoyer sont préparées avant l’envoie dans un tableau de char de cette façon :

On crée le char avec une valeur de départ : char SendPayload[32] = “RS1 :”;

Ensuite on ajoute le valeurs. Chaque valeur est précédé et suivie d’une lettre permettant à la réception son repérage. Par exemple pour la température :

strcat(SendPayload, “T”); dtostrf(txbuffer[0],2,2,tempstr); strcat(SendPayload,tempstr); strcat(SendPayload, “T”);

Et ensuite le char complet est envoyé : bool ok = radio.write(&SendPayload,sizeof(SendPayload));

Mais comme il y a trop de donnée et que le nombre de caractère est au maximum de 32 il faut faire deux char envoyés à la suite. Chaque char sera repéré à la réception par son numéro “RS1” et “RS2”.

Étape 3 - La réception

Pour la réception nous avons un montage plus simple. Un raspberry pi et un récepteur en 2.4Ghz. Il faut configurer le Raspberry Pi pour le récepteur tout est dans ce fichier pdf ci-joint : Config Raspberry et Récepteur 2.4Ghz.pdf

Et pour finir un fichier en Python pour la réception et l’enregistrement des données dans une base de données.

Pour la réception je lui fait faire deux boucles pour avoir mes deux char qui sont décortiqués pour à la fin des deux boucles avoir toutes le données qui sont, pour finir envoyer dans la base.

Le programme en Python : multi_capteurs-NF24.py. Pour fonctionner il lui faut un programme de config en xlm pour les données de connxion à la base : config

Et le sql pour créer la table dans votre base de donnée : Table SQL

Voilà. Bon bricolage. La suite sera un affichage sur mon DashScreen des données collectées.

Vous trouverez tous les documents et codes sur Github. Et d’autre info sur mon blog : www.blog-de-michel.fr




Commentaires

Yes