Forum 2005-2010 (read only) > Français

Arduino Mega2560 : domotique et alarme

(1/5) > >>

kafifi:
Bonsoir,
J'étudie la mise en oeuvre d'un système alarme/domotique sur base Arduino.

Au départ, je pensais piloter l'ensemble de la maison via 1 Arduino Mega2560 et un bus I2C (capteurs DS1820, electrovannes, etc...). Du fait des risques d'instabilité (longueur du bus I2C) je pars maintenant sur :
- une carte Mega2560 par pièce (gestion capteurs et relais de la pièce).
- l'ensemble des Mega2560 connectées entre elles.
- une des cartes Mega2560 connectée à mon PC.
- paramétrage et monitoring via le PC, plus tard peut-être un clavier + LCD dans chaque pièce

Choix du réseau.
1) Ethernet
http://www.watterott.com/en/Arduino-Ethernet-Shield
33 ? pour cet Arduino Ethernet-Shield
Carte compatible Mega2560
Utilisation de la librairie standard Ethernet

2)RS485
http://www.dfrobot.com/index.php?route=product/product&path=35_39&product_id=264
15? environ
ou
http://www.futurlec.com/Mini_RS422.shtml
4? pour cette mini board
Utilisation de la librairie standard serial

=> Est-il vrai que le bus RS485 se pilote via la librairie serial ?
=> Si oui, peut-on adresser chaque carte facilement ?
=> Quel est l'avantage de l'Ethernet vs RS485 en utilisation locale ?

Interface avec le PC
=> Via qu'elle interface puis-je connecter Arduino à mon PC ?
=> Quel langage utiliser pour créer un écran de visu / paramétrage sympa ?

Interruptions
Pour la partie alarme, j'ai tendance à vouloir traiter l'intrusion par interruption.
=> Est-ce possible avec le langage Arduino ?

D'avance merci pour vos retours.

PS : Bien sûr, toutes vos remarques et retours d'expériences sont les bienvenues !

kafifi:
Up !...

Gromain59:

--- Quote ---
=> Est-il vrai que le bus RS485 se pilote via la librairie serial ?

--- End quote ---


à priori oui. Un exemple: http://gdallaire.net/blog/?p=39


--- Quote ---
=> Si oui, peut-on adresser chaque carte facilement ?

--- End quote ---


j'imagine que oui ?


--- Quote ---=> Quel est l'avantage de l'Ethernet vs RS485 en utilisation locale ?
--- End quote ---


mon avis:

RS485: c'est pas cher, les données à échanger ne doivent pas être importante, il y a qu'1 maitre et des esclaves (pour que 2 esclaves communique entre eux, c'est le maitre qui joue les intermédiaires), le bus oblige à faire passer un réseau en "série".

Ethernet: c'est plus cher, c'est plus flexible, plus ouvert, plus évolutif (cf. xPL/xAP pour la domotique), ça nécessite un routeur au delà de 2 devices sur le réseau (qui du coup sera en étoile), chaque arduino peut embarquer son propre webserver pour la config par exemple.

Pour ma part, j'ai fait le choix du réseau Ethernet. Pour 15?, tu peux trouver des shields ethernet à base de ENC28J60.


--- Quote ---=> Via qu'elle interface puis-je connecter Arduino à mon PC ?
--- End quote ---

USB pour le programmer.


--- Quote ---=> Quel langage utiliser pour créer un écran de visu / paramétrage sympa ?
--- End quote ---

ça dépend ce que tu veux faire en fait. Tu peux utiliser des pages web via un serveur php ou directement embarqué dans l'arduino, ou bien un logiciel plus orienté domotique (domogik par ex)...


--- Quote ---Pour la partie alarme, j'ai tendance à vouloir traiter l'intrusion par interruption.
=> Est-ce possible avec le langage Arduino ?
--- End quote ---

oui, tout est possible avec arduino. Mais quel est l'intérêt ? tu n'as que quelques interruptions matériels disponibles.

Gromain

kafifi:
RS485 avec lib serial
OK. Il reste que je ne vois pas bien comment on définit l'ID de chaque carte, et comment on n'adresse que la carte correspondant à l'ID... Je vais continuer à chercher.

Ethernet vs RS485
Effectivement, au-delà de 2 cartes, il faut un hub ou un switch (pas un routeur). Aïe, je crains que mes gaines encastrées correspondent à une topologie série, donc RS485 obligatoire... Je revérifie, d'autant que j'ai déjà du câble torsadé 3 paires de passé ... Le coût serait plus élevé en Ethernet ici cause shield V2 obligatoire (seul Arduino Mega2560 compatible) mais je suis prêt à investir, y compris dans xPL.

Dialogue Arduino <> PC
Je parle hors programmation, pour le dialogue continu PC <> carte. Ne vaut-il pas mieux une une liaison RS232 (ou RS485) pour être bien "séparé" de la partie programmation via USB ? (Pas bien clair pour moi en fait).

Langage pour programmer l'interface.
Je veux pouvoir disposer de plusieurs formaulaires pour afficher :
- Statuts capteurs et électrovannes
- Températures et courbes (24h, 1 semaine...)
- Les plages de consigne
etc...
Je pourrais le faire en VB, mais je suppose qu'il y a ... mieux (nb : je suis débutant/intermédiaire en prog).

Gestion par interruption
Je me suis mal exprimé. Je voulais parler de l'interruption RTI qui permet de lancer une routine à intervalle régulier. C'est de cette manière que ma carte à 68HB912 scrutait le statut des entrées (domotique et alarme).

PS : super sympa ce forum  ;)

kafifi:
Vérification faite, je suis forcé d'oublier le mode Ethernet à cause d'un câblage série.

Si tu dis qu'en RS485 il faut 1 maitre et n esclaves, je ne vois pas comment implémenter ma fonction "alarme". En effet, en cas d'intrusion sur l'entrée d'une carte esclave, comment cette dernière pourra-t-elle remonter l'info vers la carte maitre ? Et si je demande à la carte maitre d'interroger régulièrement toutes les cartes esclave, je vais saturer le réseau.

Comment faire  :o

Navigation

[0] Message Index

[#] Next page

Go to full version