Go Down

Topic: Aidez nous ! Projet - Gestion domotique (Read 153482 times) previous topic - next topic

Skuzmitoo

Oui c'est vrai j'ai oublié de supprimer les deux autres LED de visualisation qui ne servent plus a rien.

Je laisse tombé l'EJP alors (maintenant tu peux le lire sur l'arduino et actionner en fonction de l'EJP)

Une dernière question concernant ce montage avant que je fasse le typon, tu peux mettre un lien sur le type d'interrupteur que tu utilises s'il te plait.
Pour les condensateurs du régulateur, ce sont des chimiques ?

Brisebee


Une dernière question concernant ce montage avant que je fasse le typon, tu peux mettre un lien sur le type d'interrupteur que tu utilises s'il te plait.


Pour le switch c'est le modèle DPDT On-Off-On  1MD3T1B5M1QE
sur la page http://fr.farnell.com/jsp/level5/module.jsp?moduleId=fr/311897.xml


Pour les condensateurs du régulateur, ce sont des chimiques ?


Le condensateur avant le régulateur est un chimique et celui après un tantale goutte.

Brisebee

Bon, maintenant que nous  avons bien avancé sur l'aspect matériel du pilotage d'un chauffage électrique, nous pouvons passer à autre chose !

Pour moi, se posent des tas de questions, je vais essayer de les ordonner et de ne pas toutes les poser en même temps, je commence par les deux qui me préoccupent le plus et qui conditionnent la suite.

1) Je veux pouvoir faire fonctionner mon chauffage (mais, c'est aussi vrai pour d'autres fonctions : arrosage, éclairage ?, …) selon des plages horaires déterminées, par exemple.
a) pour les zones 1,2 et 4 :
- les lundi, mardi, mercredi, jeudi et vendredi selon : de HH1:MM1 à  HH2:MM2 et de HH3:MM3 à HH4:MM4
- les samedi et dimanche selon : HH5 :MM5 à   HH6:MM6 et de HH7:MM7 à HH8:MM8
b) pour les zones 3 et 5 :
les lundi, mardi, jeudi et vendredi selon : de HH9:MM9 à  HH10:MM10 et de HH11:MM11 à HH12:MM12
- les mercredi, samedi et dimanche selon : HH13 :MM13 à   HH14:MM14 et de HH15:MM15 à HH16:MM16

C'est vraiment un exemple, il faut que cela soit le plus souple et malgré tout le plus simple possible !

J'ai une horloge temps réel DS1307 connectée sur mon arduino.

Ma question : Où est-il le plus pratique de stocker les différentes données des plages horaires ?
Dans l'arduino, en mémoire flash ? Toutes ou celles de la journée en cours ?
Si c'est uniquement celles de la journée en cours => les autres données sont stockées sur le serveur web.

2) Ma deuxième question concerne le serveur web : il en a déjà été question dans des contributions  précédentes de ce même sujet, des avis ont été donnés mais il n'y a pas d'option choisie.
- J'ai une carte Ethernet shield W5100 avec lecteur SD, mais j'ai aussi une carte Ethernet shield ENC28J60.
- J'ai également un disque dur NAS (Iomega Home Media) qui tourne en permanence et est branché le réseau local, avec lequel je crois pouvoir faire un serveur web.
- J'ai également un (petit) espace hébergé avec un nom de domaine.

J'ai donc plusieurs possibilités :
1) utiliser uniquement l'arduino Mega 2560 avec Ethernet Shield, s'il est possible de stocker une partie des données et des images sur la carte SD.
- Avantage : l'accès aux données est facile (si ce n'est que je n'ai pas trouvé comment stocker et lire sur la carte SD).
- Inconvénients : espace de stockage limité (sauf si SD fonctionnelle), accès par le web ?
2) essayer d'utiliser le serveur du disque dur NAS (je ne sais pas si cela est possible).
- Avantage : accès facile depuis réseau local ?
- Inconvénient : pb si NAS HS
3) utiliser un espace hébergé.
- Avantage : accès facile depuis le web
- Inconvénient : ne marche pas si pas de connexion ADSL ou si hébergeur inaccessible (rare).

Vers quelle solution me conseilleriez-vous de m'orienter, en sachant que je ne suis pas du tout un spécialiste des réseaux et de la programmation web ?

Artouste




J'ai une horloge temps réel DS1307 connectée sur mon arduino.

Ma question : Où est-il le plus pratique de stocker les différentes données des plages horaires ?
Dans l'arduino, en mémoire flash ? Toutes ou celles de la journée en cours ?
Si c'est uniquement celles de la journée en cours => les autres données sont stockées sur le serveur web.

reflexion rapide
data en demi dur pour un scenario de "reveil" de l'arduino  en eeprom,
je prévoirais au moins 2 jours J et J+1 de sequençage, en pratique (mais voir occupation de l'eeprom) un certain idéal serait d'avoir une semaine (7 jours) de sequençage, en cas de gros probleme de MAJ , ça permet de tourner sur le cycle des 7 jours precedant la derniere MAJ
Accessoirement en regardant un produit évoqué sur une autre topic, je suis tombé sur ça shield RS485 (en half)
http://www.robotshop.com/eu/rs485-shield-arduino-3.html




Brisebee


data en demi dur pour un scenario de "reveil" de l'arduino  en eeprom,
je prévoirais au moins 2 jours J et J+1 de sequençage, en pratique (mais voir occupation de l'eeprom) un certain idéal serait d'avoir une semaine (7 jours) de sequençage, en cas de gros probleme de MAJ , ça permet de tourner sur le cycle des 7 jours precedant la derniere MAJ


C'est vrai qu'il faut voir ce que cela donne : une plage horaire de HH1:MM1 à HH2:MM2 peut être stockée sur 4 octets,
je vais avoir au maximum : 7 zones de chauffage + 10 zones d'arrosage + 10 zones d'éclairage + 5 zones pour les volets (je ne sais pas encore si les volets suivront des plages horaires) mais mettons !
soit 32 zones avec au maximum 3 plages horaires => 96 plages horaires de 4 octets
=> 384 octets/jour ce qui fait au total 2688 octets ce qui est jouable sur une Mega 2560 (si je n'ai pas fait d'erreur !)


Accessoirement en regardant un produit évoqué sur une autre topic, je suis tombé sur ça shield RS485 (en half)
http://www.robotshop.com/eu/rs485-shield-arduino-3.html


C'est pas mal, mais j'ai ça http://www.goodluckbuy.com/arduino-io-expansion-shield-v5-xbee-sensor-shield-rs485.html en commande.
Je pense que c'est pareil avec des choses en plus.

osaka

#185
Dec 13, 2011, 01:51 pm Last Edit: Dec 13, 2011, 04:27 pm by osaka Reason: 1
Yop Artouste,
j'avais déjà vu ce shield et je me posais la question de savoir à quoi servait le bss123 (q1) que je vois dans son schéma, sélection "automatique" entre transmission/réception, enfin surtout pour la transmission ?

Skuzmitoo

Quote
2) essayer d'utiliser le serveur du disque dur NAS (je ne sais pas si cela est possible).
- Avantage : accès facile depuis réseau local ?
- Inconvénient : pb si NAS HS


Moi j'opterais bien pour cette solution avec un produit de ce type : Synology Disk Station DS110j 500 Go, si vous connaissez moins cher je suis preneur du tuyaux, car je le trouve un peu cher quand même.

Maintenant pour le problème du NAS HS, c'est vrai cela peu arriver, mais bien protéger avec un onduleur, je trouve que cela est la solution la plus fiable. Le serveur web ne sera pas toujours joignable (j'ai de gros problème avec celui de mon fournisseur), l'espace de stockage de l'arduino est trop limitée et il ne gère ni le PHP, ni le sql (moins pratique pour le stockage et l'utilisation des données).

Donc pour commencer mes essais, je vais commencer par le serveur web sur internet pour migrer par la suite vers une solution de ce type si je ne suis pas satisfait de l'hébergement en ligne.



osaka

#187
Dec 13, 2011, 07:03 pm Last Edit: Dec 13, 2011, 07:08 pm by osaka Reason: 1
Comme je l'ai déjà spécifié moi je compte sur un arduino contrôleur uniquement dédié au scénario, plage horaire, ...
Il enverrait la/les trame(s) trame correspondante préfixé selon horaire ou autre conditions.
Maintenant la solution web est pas plus mal, pour cette solution je verrais bien la proposition du nas ou plutôt encore plus minime mais largement suffisant, quelque chose comme ça, simple, pas chère (entre 60-70€ sur baybay, 20-30€ sans l'écran tactil) http://www.pobot.org/Rapide-presentation-de-la-carte.html avec openWrt d'installer.

zoroastre

#188
Dec 13, 2011, 07:49 pm Last Edit: Dec 13, 2011, 07:53 pm by zoroastre Reason: 1
Yep!

Je rejoins osaka dans sa reflexion, je préfère que ce soit l'arduino qui s'occupe de la gestion des plages horaires.
Utiliser un serveur ou une mini-board revient en définitive à déporter le cerveau sur un équipement de ce genre. Donc, à priori, l'arduino maître est mort ?

Une autre option qui me plairait plus serait de séparer l'applicatif du contexte hardware, l'applicatif dans mon sens ne doit pas piloter les cartes, il sert à ajuster les paramètres et prendre compte des anomalies. Un historique des manipulations diverses peut être sauvegardé sur celui-ci, ce n'est pas vraiment un problème. Mais le cerveau doit être le plus embarqué possible dans la partie hardware et ne doit pas souffrir d'une multitude d'applicatif ou de contexte trop différent. Openwrt ou consors, reviendrait à ajouter une tâche supplémentaire à un projet en plein essors. Linux est un monde à lui seul.
Ce que l'on recherche en définitive est que l'installation soit la plus autonome possible. Naturellement, un sîte web est bien jolie. Mais ce n'est qu'une option possible.

Pour évoluer en terme d'espace de stockage, la solution la plus simple est d'ajouter une eeprom. Il existe des eeprom de 512K bus I2C à des tarifs raisonnables.


@+

Zoroastre.
Gné! ;)

Brisebee

@osaka, elle a l'air sympa cette carte !

Est ce qu'on peut imaginer dupliquer le site automatiquement avec rafraichissement régulier (toutes les x heures), par exemple chez un hébergeur et sur le NAS (ou carte serveur web) et faire en sorte que l'arduino se connecte sur l'un et s'il n'arrive pas à se connecter, il va chercher les infos sur l'autre site ?

Brisebee


Une autre option qui me plairait plus serait de séparer l'applicatif du contexte hardware, l'applicatif dans mon sens ne doit pas piloter les cartes, il sert à ajuster les paramètres et prendre compte des anomalies. Un historique des manipulations diverses peut être sauvegardé sur celui-ci, ce n'est pas vraiment un problème. Mais le cerveau doit être le plus embarqué possible dans la partie hardware et ne doit pas souffrir d'une multitude d'applicatif ou de contexte trop différent. Openwrt ou consors, reviendrait à ajouter une tâche supplémentaire à un projet en plein essors. Linux est un monde à lui seul.


Je ne comprends pas tout ce que tu écris là, comme je l'ai déjà expliqué, je ne suis pas familier des technologies réseau.
Pourrais-tu stp développer un peu ?
Merci

Skuzmitoo

Quote
Donc, à priori, l'arduino maître est mort ?


Non pas du tout bien au contraire, il est le coeur du système.

Pour moi le serveur servira a recueillir et stocker les données de l'arduino, températures, consommation, etc... et a activer les modules en fonction d'ambiances par exemple. L'interface web me permettra aussi de programmer les plages horaires des différents modules, maintenant en aucun cas elles seront stocker sur le web le serveur les enverra sur l'arduino et ira chercher les valeurs sur l'arduino, maintenant si il y a une panne sur le serveur l'arduino sera complètement autonome et c'est cela qu'il faut.

Maintenant pour le stockage des données horaires etc j'avais envisager l'emploi de la SD card en y créant des fichers txt. L'arduino est tout a fait capable de gérer un fichier texte en faisant du parsing. Il y aurait un fichier texte pour le chauffage, un pour l'arrosage etc... et dans le fichiers texte il y aurait par exemple :
$[LUNDI][MARCHE][08:00][ARRET][10:00]
$[LUNDI][MARCHE][20:00][ARRET][22:00]
$[MARDI][.......]
$[MERCREDI]....
.....
et cela serait ces données qui seront écrites par le serveur web et c'est également ces données que le serveur irait lire.



zoroastre

#192
Dec 13, 2011, 08:17 pm Last Edit: Dec 13, 2011, 08:21 pm by zoroastre Reason: 1
Yep!

Quote
Est ce qu'on peut imaginer dupliquer le site automatiquement avec rafraichissement régulier (toutes les x heures), par exemple chez un hébergeur et sur le NAS (ou carte serveur web) et faire en sorte que l'arduino se connecte sur l'un et s'il n'arrive pas à se connecter, il va chercher les infos sur l'autre site ?


Je réponds à la place d'osaka, car j'ai déjà réalisé ce type d'opération. Et je répondrais "oui".
La seule réserve que l'on peut apporter se trouve au niveau des données à synchroniser, si elles sont importantes en terme de taille, il y risque que le site en cours de synchro soit inactif ou difficilement joignable. Mais bon, si on programme la synchro à 2 heure du mat, c'est quasi-transparent. (rsync fait çà trés bien, par exemple.)
Le second petit bémôl est que les hebergeurs utilisent le protocole ftp pour nourrir l'espace d'hebergement. C'est pas trés "secure".

Quote
...
Pourrais-tu stp développer un peu ?


Je voulais simplement appuyer le fait que le développement logiciel était une chose, mais que l'objectif principal est de proposer une solution hardware AUTONOME. En définitive, dés le moment où la carte arduino a la faculté de communiquer avec l'exterieur, nous ne devrions pas nous occuper de se qui se passe à l'autre bout. Dés le moment où la carte est programmée, il n'y plus d'intervention humaine ou trés peu.

EDIT1: La carte Sd me plait bien aussi, mais dans mes précedents essais, j'ai eu des résultats peu concluants. En plus, les librairies sont lourdes.

@+

Zoroastre.
Gné! ;)

Brisebee

Merci pour vos réponses.
Les choses se mettent petit à petit en place.
Il y a encore beaucoup de travail, mais c'est super interessant.

osaka

#194
Dec 13, 2011, 09:22 pm Last Edit: Dec 13, 2011, 09:24 pm by osaka Reason: 1

Ce que l'on recherche en définitive est que l'installation soit la plus autonome possible. Naturellement, un sîte web est bien jolie. Mais ce n'est qu'une option possible.


Tu résumes parfaitement le côté le plus intéressant du projet, autonomie, optionnel.  :)
Quelque soit la solution choisie par chacun, pas de problème pour donner un coup de main en tout cas. (chacun a ses propre compétences)  ;)  

Pour la synchro comme le dit zoroastre en choisissant le bon moment ça devrait pas posé de problème.
Pour l'eeprom ou sd je peux pas vraiment conseillé comme jamais testé, mais comme le dit zoroaste  j'ai souvent constaté sur le forum des problèmes (carte hs, perte de données, ...) avec la sd ainsi qu'une lib plutôt lourde (apparemment il y en a une plus performante que l'officiel dont je sais plus le nom) :smiley-zipper: .

Go Up