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

[Projet] Supervision d'une piscine [en stand by]
#1

Bonjour Big Grin
Je publie ici mon projet de supervision d'une piscine avec diffusion des informations sur une interface web.

Ce topic permet également une prise de notes. C'est pourquoi il peut y avoir des posts "bizarre" et à la chaine !

Il permet d'avoir une surveillance de la piscine et de ses équipements technique (pompe, filtres, ...) et de pouvoir gérer automatique les périodes de filtrations
Ce projet ne porte pas sur les vannes (une électrovanne normal et 6 voies coûtant assez cher !).
Pour cela, j'utilise une Raspberry Pi.

MAJ 15 juillet 2014 ; le projet est à l'arrêt, même la Raspberry dédiée au projet est décâblée ! Je n'ai plus le temps de m'en occuper. Mais je n'oublie pas ce projet et, pourquoi pas, j'essayerai de le remettre en route avec une nouvelle version.

MAJ 13 mars 2014 : La partie Arduino ne sera finalement pas intégrée au projet ! Du coup, les leds et l'écran LCD seront peut être géré (j'ai bien dit peut être) géré par la Raspberry Pi directement mais ce ne sera pas pour tout de suite.

Schéma :
[Image: 230037img.png]

A suivre Wink

[h]Avancement du projet de la version V1 :[/h]

A faire - En cours - Fait

Partie matérielle Raspberry Pi (capteurs et autres) :
NB : la récupération se fait en Python (via les GPIO)
  • Récupérer la température de l'eau via la sonde étanche
  • Récupérer la pression du filtre à sable
  • Récupérer l'état de la filtration (marche ou arrêt)
  • Récupérer la vitesse de la pompe
  • Récupérer le niveau de l'eau
  • Récupérer l'état des projecteurs (marche ou arrêt)
  • Récupérer l'état de l'alimentation secteur (230V)
  • Etendre les ports GPIO avec une puce MCP23008
  • Liaison Wifi

Partie traitement et stockage :
  • Logiciel Python pour récupérer les informations et les stocker dans la base (capteurs DHT11)
  • Démarrer les programmes via une tâche CRON
  • Créer la base de données
  • Déterminer la plage de fonctionnement de la filtration

Partie surveillance du système :
  • Contrôle de l'humidité des coffrets (capteurs 5/5)
  • Test de la connexion locale (ping)


Partie interface web :
  • Réaliser la partie web (HTML/CSS/PHP/MySQL)
  • Lier la partie web avec la base de données
  • Processus d'effacement des enregistrements supérieur à un laps de temps donné (une semaine par exemple)

Partie matérielle :
  • Réalisation des coffrets (mise en place des cartes, relais, raccordement, ...)
  • Raccordement du réseau électrique et au coffret de la piscine
  • Alimentation électrique des cartes câble USB type B)

[h]Pièces :[/h]

A commander - En commande / En attente - Reçu / Ok

Cartes et micro contrôleurs :
  • 1 Raspberry Pi type B
  • Platine de prototypage à souder (Protobread Glass Fiber)

Capteurs :
  • 1 capteur de température DS18B20 étanche
  • 1 capteur de pression BMP085
  • 1 capteur ultra son HC-SR04
  • 1 capteur de courant (pour la vitesse de la pompe)
  • 3 capteurs d'humidité pour la surveillance des boîtiers

Relais :
  • 3 relais 230 V
  • 2 relais 5 V (sorties)

Composants :
  • 5 résistances 560 ohms
  • Résistances de 330 ohms
  • Résistances de 470 ohms
  • Puce MCP23008
  • Câbles M/M - M/F
  • Diodes

Coffrets :
  • 1 coffret électrique IPXX de XX x XX x XX (principal)
  • 1 coffret électrique IPXX de XX x XX x XX (acquisition de la pression)
  • 1 coffret électrique IPXX de XX x XX x XX (acquisition du niveau d'eau)

Communication
  • Dongle Wifi

Alimentation :
  • Câble micro USB pour alimentation de la Raspberry Pi


[h]Contraintes :[/h]
Le système a plusieurs contraintes liés à son environnement :
  • Le local technique :
    Le coffret contenant la Raspberry et l'Arduino se situe dans le local technique de la piscine. La pompe, le filtre à sable, les vannes et les tuyaux peuvent être amener à fuir et de l'eau est souvent présent dans le local. De plus, l'air ambiant est assez humide. Il faut donc partir du principe que l'eau peut représenter un danger sur les cartes et les coffrets doivent donc être étanche. [/*]
  • Réseau :
    Comme il n'est pas possible de raccorder le dispositif au réseau local via une connexion filaire (Ethernet), une solution sans fil doit être utilisée comme le Wifi ou le CPL. La solution retenue est le Wifi[/*]

Il n'y a pas de contraintes de vitesse d'exécution, de mémoire limitée ou encore d'exactitude des mesures car les mesures sont purement informatives. Le calcul des plages de filtration n'est pas critique.


Cette partie est développée en Python et fonctionne à intervalles réguliers via une tâche CRON du système d'exploitation.
Un programme Python permettant d'activer ou de désactiver la filtration est lancé aux heures définis par le système.

[h]Idées et améliorations :[/h]
  • Surveillance de la température et de l'humidité interne des coffrets où se situe les cartes Fait
  • Intégrer des prises DB9 afin de brancher les sondes sans ouvrir le boitier Fait
  • Raccordement de l'alarme de la piscine au projet
  • Raccordement d'une station météo "maison" (futur projet basé sur Rpi ou Arduino) pour optimiser davantage la filtration et affichage sur l'interface graphique
  • Test de connexion entre le coffret et la box (alarme sur le boitier si perte de la connexion) Fait


Mise à jour : 27 mars 2014

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

Cool !

Je vais suivre cela de près ! Peut-être que j'arriverai même à le "vendre" à mes parents !
Répondre
#3

Bonjour !

Je suis en train de regardé pour l'acquisition de la pression du filtre à sable.
Comme je n'ai pas trouvé un manomètre électronique, j'ai pensé utilisé un capteur BMP085 relié à un tube lui même relié au filtre à sable via un T.
Le tuyau serai relié au capteur de cette manière :
[Image: BMP85_01.jpg]

edit : je viens de voir qu'il va de 0,3 à 1,1 bar alors que mon filtre à sable monte jusqu'a 1,5 bar facile (mais la pression normale est de 1 bar). Existe - t - il un capteur compatible arduino montant jusqu'a 1,5 ou 2 bars ?
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

Salut,
Connais-tu les capteurs de pression Freescale ? : http://www.freescale.com/webapp/sps/site...6990368716
Ca répond peut-être à ton problème... Et tu peux même en commander un en sample (échantillon gratuit) pour faire tes tests.
Répondre
#5

Compatible Arduino / Raspberry ?

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

Euh, oui et non... ;o)

En fait, la sortie de ces capteurs est une tension analogique, dont la valeur est fonction de la pression.

Il n'y a pas d'entrée analogique sur le raspberry, la seule solution est donc d'en ajouter, par exemple en utilisant un ADC externe sur bus SPI, tel que le MCP3008 : http://www.microchip.com/wwwproducts/Dev...e=en010530 (dispo en sample également).

Il y a plusieurs entrées analogiques sur l'arduino, le capteur doit donc être utilisable tel quel.
Répondre
#7

Merci Wink
Par contre, impossible de s'y retrouver dans le tableau sur le site que tu m'a donné !

edit : mise à jour du post sur mon blog Wink http://www.serveurathome.fr/index.php?pa...ne-piscine

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

C'est vrai, il faut son permis... ;o)

Les colonnes intéressantes sont :
- type : absolute, gauge, differential. Absolute, tu mesures la pression ambiante, comme pour un baromètre. Gauge, tu mesures la pression dans un tuyau relié au capteur. Differential, tu mesures la différence de pression entre 2 tuyaux reliés au capteur (ouvre le datasheet du mpx5700 (http://cache.freescale.com/files/sensors...PX5700.pdf), il y a un dessin de chaque type de capteur qui devrait t'aider à comprendre).
- pressure max en kpa : 100 kpa = 1 bar, il te fait donc au moins 200kpa.
- package : type de boîtier physique (cf datasheet pour voir les boîtiers)
- pressure range : gamme de pression : il te faut un 0 - 200 au moins

Dans les références disponibles en sample (ces composants coûtent un bras), je pense que le mpx5700 qui peut monter à 7 bars doit faire l'affaire. Alimenté en 5V, tu auras environ 4.5V en sortie pour 7 bars.
Répondre
#9

Honnêtement, le MPX5700 ne coûte pas si cher que ça, moins de 8 $ !

Il me faut donc un Gauge 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
#10

Bonjour Big Grin

Une idée à creuser mais qui ne sera faite plus tard Big Grin
Pour les piscines équipées de clapet anti retour car le groupe filtration est plus haut que la piscine (ces clapets empêchent que la pompe se désamorce), il est possible de savoir si la pompe est désamorcé ou non. En gros, si la pompe est en marche et si les clapets ne sont pas ouvert, il y a un souci.
Comment détecter si le clapet est ouvert ou non ? Le tout sans y toucher. Je pensais à un couple émetteur / récepteur IR.

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

Bonjour Smile
Le projet est un peu en stand by car j'ai déménagé et je n'avais pas internet depuis !
Maintenant la raspberry tourne mais il y a encore des soucis au niveau de ma box Wink

Je vais me commander une nouvelle Rpi spécialement dédié au projet !

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

Cool Smile.
Répondre
#13

La Rpi est accessible Wink
Le capteur de pression est arrivé Smile
Un tuto pour lire le capteur sur la Rpi ?

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

tu n'as que le capteur ? ou tu as un ADC à connecter au raspi ?
Répondre
#15

Pas besoin, la Rpi peut lire facilement le capteur Wink
http://www.manuel-esteban.com/lire-une-s...pberry-pi/

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

Bonjour !

J'ai posté une question sur la rubrique Arduino pour recevoir une trame de type string via le bus I2C Wink
Je suis en train de bosser sur la partie écran LCD, de ce côté là tout baigne. Je suis en train de m'occuper de la communication Raspberry => Arduino via I2C.

Le blog hébergé sur ma Rpi va être supprimé et sera remplacé par un serveur SVN et Redmine pour la gestion de projet d'équipe.

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

Un redmine sur un Rpi ?

Sans vouloir troller, c'est codé en ruby, ça demande plus de ressources processeur qu'un autre langage. C'est élégant à écrire, j'ai bien aimé tester ce langage, mais voilà, ça tête un brin plus qu'un autre. En particulier, j'ai jamais réussi à faire fonctionner redmine sur un vieux serveur quand il marchait nickel sur une machine plus récente. Essaie, mais j'ai un peu peur des perfs.
Répondre
#18

De toute façon SVN et Redmine font à peu près la même chose non ?
(Au passage, ce ne sera pas utilisé pour ce projet là mais pour d'autres projets de développement collaboratif avec deux amis)

Premier post mis à jour Cool Il regroupe toutes les informations du projet et de son avancement.

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

Boh, un Redmine tiendra largement la charge sur un Rpi je pense hein Smile.

Tant que vous êtes pas 15 dessus en même temps ^^.

En revanche, SVN et Redmine sont 2 choses totalement différentes, mais complémentaires :
  • SVN est un gestionnaire de versions, qui te permettera de versionner ton code.
  • Redmine te permet de mettre en place un bug tracker, avec support de SVN, pour lier notamment des tickets de Redmine à des commits SVN
Répondre
#20

On sera au maximum 3 dessus :lol: mais hébergé sur une ligne ADSL :/

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

Pour la charge, ça tiendra.

En revanche, pour ta connexion ADSL, ça pourrait être un peu plus lent...
Répondre
#22

On fait avec ce qu'on a Rolleyes

Je viens de me demander :
N'est ce pas mieux de laisser l'Arduino effectuer les acquisitions et la Raspberry permet la diffusion sur l'interface web et actionner les relais ?

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

Premier post mis à jour Wink
J'ai écrit le code pour extraire les données de la trame reçue par la Raspberry.

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

Carte Raspberry Pi spécialement dédié au projet reçu Big Grin
Travaux en cours sur les 5 Leds et le bouton poussoir !

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

Je me demandais, à quoi sert l'arduino dans ton projet ? Pourquoi ne pas se limiter au Raspberry ?
Répondre


Atteindre :


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