Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Questions pour faire des relevés de température et pression
#1

Bonsoir à tous.

Déjà, j'espère avoir écrit dans le bon forum.
Alors voilà, c'est fait, je m'y suis jeté tout à l'heure...
Comme je l'avais dit dans ma présentation, je suis très loin d'être un as de l'électronique/électricité, mais toutes les possibilités offertes par le RPi, les GPIO et tous les petits "gadgets" électroniques sont très stimulants.

Du coup, comme je le voulais, j'ai commencé par une des choses à mon avis les plus simples, du moins les plus répandues maintenant sur un RPi : une gestion des données météorologiques (températures, humidité, pression atmosphérique).
Pour cela, j'ai acquis diverses choses : des sondes BMP085 pour la pression entre autre (je ne suis pas trop certain de la fiabilité de l'altitude retournée...), des DHT22 et enfin des DS18B20 étanches.

A l'heure actuelle, ayant oublié les résistances de 4,7kohms :/ , je n'ai connecté que le BMP085. Il fonctionne parfaitement avec la librairie Python récupérée sur le site Adafruit. Il ne me reste plus qu'à mettre en place un script pour écrire ces relevés dans une BDD MySQL (oui, je souhaite tous stocker en BDD et ensuite exploiter en PHP) et un cron pour l'exécuter automatiquement toutes les 5 minutes par exemple.

J'ai voulu relever la température extérieure, mais vu la longueur des câbles GPIO <-> sonde (environ 15cm), j'ai rencontré plusieurs problèmes :
- il a fallu que je sorte mon montage entier dehors à la porte (ouverte évidemment à cause de l'alim...) et... ça caille vraiment dehors ! Rolleyes :8
- le RPi s'est "bloqué" au bout de quelques minutes : j'en ai déduit que si la sonde peut relever des températures négatives, lui n'apprécie visiblement pas quand il fait un peu trop frais (~2°C) ; une fois revenu à l'intérieur et un redémarrage, tout est revenu à la normale. C'est déjà arrivé à certains d'entre vous ? Vous confirmez ?

Pour une réalisation efficace, il me semble que l'idéal est de multiplier les sondes (dans mon cas 3 ou 4 dans la maisons et 2 à l'extérieure - à l'air et dans un bassin). Pour cela, il va falloir que je rallonge un peu les câbles...

Mes questions sont donc les suivantes :
  1. pour relier mes sondes, est-ce qu'utiliser du câble réseau RJ conviendrait ? en effet, j'en ai quelques dizaines de mètres à disposition et à raison de 4 câbles par sonde, je pourrais mettre 2 équipements par sortie de câble. Enfin, à environ 1€/m, je peux en rajouter quasi autant que je le souhaite. Je suis tenté de dire que ça fonctionne, mais je préférerais avoir vos avis avant de passer les gaines/goulottes dans le jardin et la maison.
  2. apparemment, on peut gérer plusieurs sondes DHT22 ou DS18B20 sur un même montage (j'entends par là 1 seul RPi et seulement 3 ports GPIO utilisés pour l'ensemble des sondes comme ici). En est-il de même pour les BMP085 ?
  3. peut-on faire cohabiter une sonde BMP085 et des sondes thermiques sur le même montage ? (je crois que c'est en cours pour le projet de supervision de la piscine, non ?)


Merci d'avance à ceux qui pourront m'éclairer sur ces points "basiques" pour beaucoup, mais pas pour moi Wink
Répondre
#2

Bonjour,

Pour ce qui est de la température, le RPi n'a aucune raison de ce bloquer à 2°C, à mon avis, tu créverais de froid avant lui Smile

Pour le montage, je suis loin d'être un fan de filaire.
Pour mon projet domotique DIY, on passe par les ondes radio, afin de transmettre les informations au Raspberry Pi qui s'occupe alors de logger les informations et met à disposition un site pour les consulter.
C'est beaucoup plus pratique et flexible qu'un réseau filaire qui une fois en place est indéplacable !

Pour ce qui est de chainer les DS18B20, c'est en effet tout à fait possible !

Pour la précision de l'altitude, il faut l'étalonner afin de le calibrer.

Serial Organisateur d'aPIro
Bloggeur Bidouilleur
Ydle, domotique DIY basée sur un raspberry pi
Répondre
#3

Salut,

Pour les sondes de températures et de pression, ainsi que pour l'acquisition des mesures (MySQL, CRON et PHP), tu peux aller jeter un coup d'oeil sur mon projet sur le forum. Wink

Anciennement vodkaorange Wink
Forum français et communauté sur les caméras embarqués et dashcam : Dashcam-France.fr
Blog notes - Github
Répondre
#4

Pour l'altitude, je crois qu'elle est "calculée" en fonction de la pression.. (et non mesurée)..? ce qui j'imagine explique l'imprécision.
http://en.wikipedia.org/wiki/Barometric_..._variation

Comme confirmé par Yaug, tu peux chainer les DS18B20 (une seule résistance) mais je crois qu'il y a quand meme une limite, genre 256 etc.. (a vérifier)
Attention aussi a la longueur si tu utilises des cables.. je crois qu'il y a aussi une longueur après laquelle ca fonctionne moins bien. (Donc argument supplémentaire pour du "sans fil" )

Tu peux faire cohabiter les DS18B20 et le BMP085 vu qu'ils n'utilisent pas les mêmes GPIOs.
Répondre
#5

C'est le bus qui limite le nombre de DS18B20 au nombre de 127.

Anciennement vodkaorange Wink
Forum français et communauté sur les caméras embarqués et dashcam : Dashcam-France.fr
Blog notes - Github
Répondre
#6

Merci à tous pour vos réponses Smile

Je vais donc me replonger dans ta supervision de piscine vodkaorange pour revoir ce que tu as fait pour les sauvegardes des datas.

Pour le sans-fil, effectivement, c'est aussi une solution. Disons que le câble reste la solution "fiable et sécurisée" de base, et surtout la plus simple à mettre en oeuvre (mis à part les contraintes initiales de pose, mais si on pense bien l'emplacement, pas de souci après).
Je suis pourtant habitué aux réseaux sans-fil (j'en gère d'assez conséquents (wifi) au niveau professionnel), et c'est peut-être justement ce qui me "freine". Je m'y replongerai quand même le moment venu. Wink

Je vais également regarder cette histoire d'altitude, non pas que ce soit vital pour moi, mais c'est une option que la sonde offre alors autant en profiter.

Pour le moment, ma priorité, c'est de faire fonctionner quelque chose, même de manière basique, et de le comprendre.

Je m'y remets et je pense que vous allez me revoir bientôt Wink
Répondre
#7

Hawkeye a écrit :mis à part les contraintes initiales de pose, mais si on pense bien l'emplacement, pas de souci après
Sauf en cas de déménagement. Wink
Répondre
#8

Hawkeye a écrit :Je vais également regarder cette histoire d'altitude, non pas que ce soit vital pour moi, mais c'est une option que la sonde offre alors autant en profiter.

A ma connaissance, ce n'est pas une option de la sonde.
La sonde donne la pression,
L'altitude est juste une formule mathématique dérivée de la pression.

Code :
[== Indéfini ==]
  def readAltitude(self, seaLevelPressure=101325):
    "Calculates the altitude in meters"
    altitude = 0.0
    pressure = float(self.readPressure())
    altitude = 44330.0 * (1.0 - pow(pressure / seaLevelPressure, 0.1903))
    if (self.debug):
      print "DBG: Altitude = %d" % (altitude)
    return altitude
Répondre
#9

@chevelu : c'est vrai, mais à priori, ce n'est pas pour tout de suite, donc d'ici là, j'aurais eu le temps d'améliorer tout le dispositif pour mon éventuelle future nouvelle habitation.
Et puis, mon métier fait que j'aime mettre des câbles partout dans tous les sens (mais de manière organisée quand même... OSmile )

@Uggy : merci pour ces informations. Effectivement, ça semble uniquement mathématique, donc à part chercher à affiner la formule... mais pour l'instant le jeu n'en vaut pas la chandelle. Je verrai le jour où j'aurais un projet qui nécessitera cette fonctionnalité (ballon, drône...).
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)