Marc Silanus

Projet : Contrôle Domotique

Projet SIN : Contrôle Domotique

MindMap Preview

Télécharger au format PDF

1. Introduction. 3

1.1. La domotique. 3

1.1.1. Le confort domestique. 3

1.1.2. Les économies d’énergie. 3

1.1.3. La protection. 3

1.2. Le projet 4

1.2.1. But 4

1.2.2. Description fonctionnelle. 4

1.2.3. La carte de contrôle. 6

1.2.4. Affectation des
entrées-sorties sur la carte de contrôle. 7

2. Surveillance. 8

2.1. Caméra IP motorisée. 8

2.2. Production de l'IHM.. 8

3. Chauffage. 9

3.1. Chauffer 9

3.1.1. Convecteurs. 9

3.1.2. Production de l'IHM.. 9

3.2. Mesurer la température. 9

3.2.1. Capteur de température. 9

3.2.2. Production de l'IHM.. 9

4. Refroidissement 10

4.1. Ventiler 10

4.1.1. Ventilateur 10

4.1.2. Production de l'IHM.. 10

4.2. Mesurer la température. 10

4.2.1. Capteur de température. 10

4.2.2. Production de l'IHM.. 10

5. Éclairage extérieur 11

5.1. Éclairer 11

5.1.1. Applique extérieure. 11

5.1.2. Production de l'IHM.. 11

5.2. Mesurer la luminosité extérieure. 11

5.2.1. LDR+comparateur 11

5.2.2. Production de l'IHM.. 11

6. Volets roulants. 12

6.1. Actionner les volets. 12

6.1.1. Motorisation. 12

6.1.2. Production de l'IHM.. 12

6.2. Déterminer la position du volet 12

6.2.1. Capteurs de fin de course. 12

6.2.2. Production de l'IHM.. 12

7. Arrosage automatique. 13

7.1. Arroser 13

7.1.1. Electrovanne. 13

7.1.2. Production de l'IHM.. 13

7.2. Mesurer l'humidité du sol 13

7.2.1. Capteur d'humidité. 13

7.2.2. Production de l'IHM.. 13

8. Installation électrique

8.1. La protection différentielle 30mA. 14

8.2. Les circuits de protections : 14

8.2.1. Les circuits lumière. 14

8.2.2. Les points lumineux : 15

8.3. Les circuits prises. 15

8.3.1. Nombre de prises de courants : 15

8.4. Les circuits spécialisés. 16

9. Interface de puissance

10. Calendrier 17



1. Introduction

1.1. La domotique

maison-domotique.jpg

La domotique est l’ensemble des techniques de l'électronique, de physique du bâtiment, d'automatisme, de l'informatique et des télécommunications utilisées dans les bâtiments. La domotique vise à apporter des fonctions de confort (gestion d'énergie, optimisation de l'éclairage et du chauffage), de sécurité (alarme) et de communication (commandes à distance, signaux visuels ou sonores, etc.) que l'on peut retrouver dans les maisons, les hôtels, les lieux publics, etc.

Source : Wikipédia

1.1.1. Le confort domestique

Manœuvrer ses volets roulants ou battants en pressant un bouton est devenu chose courante.

De même qu’ouvrir le portail ou la porte du garage depuis sa voiture. Plus globalement, tout ce qui se fait avec un interrupteur ou une poignée peut être automatisé et piloté à partir d’un poste fixe, ou à distance via une télécommande, un ordinateur, un téléphone.

1.1.2. Les économies d’énergie

Le but est d’éviter le gaspillage en supprimant les dépenses inutiles. Les systèmes de régulation permettent de maîtriser la consommation d’électricité, de gérer le chauffage et la production d’eau chaude sanitaire avec un niveau de confort optimal. Un détecteur de présence placé dans chaque pièce commande instantanément l’allumage ou l’extinction des éclairages, la mise en route ou l’arrêt de la climatisation...
Au jardin, l’arrosage s’automatise, tandis qu’un détecteur crépusculaire se charge d’allumer et d’éteindre les lumières dès la tombée du jour.

1.1.3. La protection

En liaison avec des prestataires extérieurs, la domotique permet le suivi des personnes fragiles, âgées ou handicapées (télésanté). Grâce à la technologie satellitaire, elle favorise également le désenclavement sanitaire. En matière de sécurité domestique, rien n’est laissé au hasard. Alarmes, détecteurs de mouvement ou d’intrusion, interphones et portiers vidéo, simulateurs de présence… se combinent pour dissuader les visiteurs indésirables ou malintentionnés. D’autres systèmes de détection sont prévus pour surveiller les enfants, prévenir les risques d’accident (incendie, fuite de gaz…), signaler des pannes (inondation, coupure de courant…).

Source : Dossier « La domotique pour une maison intelligente »

http://www.futura-sciences.com/fr/doc/t/maison/d/domotique-maison-intelligente_1007/c3/221/p2/

1.2. Le projet

1.2.1. But

Le projet à pour but de contrôler à distance quelques fonctions classiques d'une habitation au travers d'une application web implantée dans une carte système embarqué.

Les fonctions de confort choisies sont :

· Le chauffage (radiateurs électriques)

· Le refroidissement (climatiseur ou ventilateur)

· Éclairage extérieur (applique extérieur)

· Volets roulants

· Arrosage automatique

· Vidéo surveillance

Chaque fonction fait l'objet d'une commande de type tout ou rien. La commande tient compte de la valeur d'une grandeur physique caractéristique de la fonction à commander.

L’utilisateur utilise un ordinateur, une tablette PC ou un web phone connecter au réseau pour accéder au système de contrôle par l’intermédiaire d’un simple navigateur internet.

1.2.2. Description fonctionnelle

1.2.2.1. Diagramme de cas d’utilisation



1.2.2.2. Le diagramme d’exigences

1.2.2.3. Diagramme de blocks



1.2.3. La carte de contrôle

La carte de contrôle choisie est la platine Foxboard G20 de chez Acme System.

Détail des connexions disponibles :  http://www.acmesystems.it/foxg20/doku.php?id=hw:foxg20pinout

1.2.4. Affectation des entrées-sorties sur la carte de contrôle

Les ports d’entrées-sorties de la carte Foxboard G20 sont disponibles sur les zones de prototypage J6 et J7 :

Pin #

ID

I/O
line

Type
de port

Nature

Description

J7.1 GND Signal ground
J7.2 GND Signal ground
J7.3

82

PB18 General purpose I/O Sortie Commande de l’éclairage extérieur
J7.4

83

PB19 General purpose I/O Entrée Information jour nuit
J7.5

80

PB16 General purpose I/O Entrée Information sur la température de la pièce
J7.6

81

PB17 General purpose I/O Sortie Commande du chauffage
J7.7

66

PB2 General purpose I/O Sortie Commande du refroidissement
J7.8

67

PB3 General purpose I/O Sortie Commande du volet roulant en descente
J7.9

64

PB0 General purpose I/O
J7.10

65

PB1 General purpose I/O Sortie Commande du volet roulant en monté
J6.17

85

PB21 General purpose I/O
J6.18

84

PB20 General purpose I/O Sortie Commande de l’arrosage automatique
J6.19

95

PB31 General purpose I/O
J6.20

94

PB30 General purpose I/O
J6.27

99

PC3 Analog input 3
J6.28

98

PC2 Analog input 2 Entrée Information sur la luminosité extérieure
J6.29

97

PC1 Analog input 1
J6.30

96

PC0 Analog input 0 Entrée Information sur l’humidité du sol du jardin

2. Surveillance

video-surveillance.gif

La vidéosurveillance est un dispositif qui permet de surveiller à distance des locaux que l'on souhaite protéger (biens, personnes). Pour simplifier l'étude, on se limitera à une seule zone à surveiller.

Le système de contrôle doit permettre d'accéder à l'image de la caméra, de jour comme de nuit et doit permettre l'observation à 270° au moins.

2.1. Caméra IP motorisée

ip-camera.jpg

L'équipe en charge de cette partie du projet doit faire un choix de matériel, proposer un schéma de mise en œuvre et une étude de fonctionnement (simulation ou test).

Les normes électriques en vigueur dans le bâtiment doivent être respectées (NFC15-100).

2.2. Production de l'IHM

L'IHM est écrite en langage PHP. La page correspondante à la gestion de la surveillance s'appelle "videosurveillance.php"


3. Chauffage

feu.jpg

Le chauffage permet d'assurer le confort thermique de l'habitation notamment en hivers. Pour simplifier l'étude, on se limitera à un seul radiateur électrique.

Le système de contrôle doit permettre la mise en marche automatique du chauffage en fonction de la température mesurée dans la pièce et des températures maximale et minimale de consignes fournies par l'utilisateur.

L'utilisateur doit toutefois pouvoir mettre le chauffage en marche forcée.

3.1. Chauffer

La fonction "Chauffer" est disponible à partir d'une page web du site embarqué. La page correspondante présente à l'utilisateur un formulaire permettant de saisir les températures maximale et minimale acceptables. Il comporte également un bouton de mise en marche et d'arrêt forcé.

L'utilisateur visualise l'état du chauffage (en marche ou à l'arrêt).

3.1.1. Convecteurs

L'équipe en charge de cette partie du projet doit faire un choix de matériel et proposer un schéma de mise en œuvre et une étude de fonctionnement (simulation ou test).

Les normes électriques en vigueur dans le bâtiment doivent être respectées (NFC15-100).

3.1.2. Production de l'IHM

L'IHM est écrite en langage PHP. La page correspondante à la gestion du chauffage s'appelle "chauffage.php"

La fonction "Chauffer" fera l'objet d'une page de test appelée "chauffer.php".

3.2. Mesurer la température

La fonction "Mesurer la température"  est disponible à partir de la même page web du site embarqué que celle de la fonction "Chauffer". L'utilisateur y visualise en permanence la température ambiante de la pièce à chauffer.

3.2.1. Capteur de température

L'équipe en charge de cette partie du projet doit faire un choix de matériel et proposer un schéma de mise en œuvre et une étude de fonctionnement (simulation ou test).

Les normes électriques en vigueur dans le bâtiment doivent être respectées (NFC15-100).

3.2.2. Production de l'IHM

L'IHM est écrite en langage PHP. La page correspondante à la gestion du chauffage s'appelle "chauffage.php"

La fonction "Mesurer la température" fera l'objet d'une page de test appelée "temperature.php".

4. Refroidissement

froid.jpg

Le refroidissement permet d'assurer le confort thermique de l'habitation notamment en été. Pour simplifier l'étude, on se limitera à l'utilisation d'un ventilateur électrique.

Le système de contrôle doit permettre la mise en marche automatique du refroidissement en fonction de la température mesurée dans la pièce et des températures maximale et minimale de consignes fournies par l'utilisateur.

L'utilisateur doit toutefois pouvoir mettre le refroidissement en marche forcée.

4.1. Ventiler

La fonction "Ventiler" est disponible à partir d'une page web du site embarqué. La page correspondante présente à l'utilisateur un formulaire permettant de saisir les températures maximale et minimale acceptables. Il comporte également un bouton de mise en marche et d'arrêt forcé.

L'utilisateur visualise l'état du ventilateur (en marche ou à l'arrêt).

4.1.1. Ventilateur

L'équipe en charge de cette partie du projet doit faire un choix de matériel et proposer un schéma de mise en œuvre et une étude de fonctionnement (simulation ou test).

Les normes électriques en vigueur dans le bâtiment doivent être respectées (NFC15-100).

4.1.2. Production de l'IHM

L'IHM est écrite en langage PHP. La page correspondante à la gestion du refroidissement s'appelle "refroidissement.php"

La fonction "Ventiler" fera l'objet d'une page de test appelée "ventiler.php".

4.2. Mesurer la température

La fonction "Mesurer la température"  est disponible à partir de la même page web du site embarqué que celle de la fonction "Chauffer". L'utilisateur y visualise en permanence  la température ambiante de la pièce à refroidir.

4.2.1. Capteur de température

L'équipe en charge de cette partie du projet doit faire un choix de matériel et proposer un schéma de mise en œuvre et une étude de fonctionnement (simulation ou test).

Les normes électriques en vigueur dans le bâtiment doivent être respectées (NFC15-100).

4.2.2. Production de l'IHM

L'IHM est écrite en langage PHP. La page correspondante à la gestion du refroidissement s'appelle "refroidissement.php".

La fonction "Mesurer la température" fera l'objet d'une page de test appelée "temperature.php".

5. Éclairage extérieur

éclairage.jpg

5.1. Éclairer

La fonction "Eclairer" est disponible à partir d'une page web du site embarqué. La page correspondante présente à l'utilisateur un formulaire permettant de saisir les valeurs du seuil maximal et minimal qui définissent le jour et la nuit. Il comporte également un bouton de mise en marche et d'arrêt forcé.

5.1.1. Applique extérieure

L'équipe en charge de cette partie du projet doit faire un choix de matériel et proposer un schéma de mise en œuvre et une étude de fonctionnement (simulation ou test).

Les normes électriques en vigueur dans le bâtiment doivent être respectées (NFC15-100).

5.1.2. Production de l'IHM

L'IHM est écrite en langage PHP. La page correspondante à la gestion de l'éclairage extérieur s'appelle "eclairage.php".

La fonction "Eclairer" fera l'objet d'une page de test appelée "eclairer.php".

5.2. Mesuser la luminosité extérieure

La fonction "Mesurer la luminosité extérieure"  est disponible à partir de la même page web du site embarqué que celle de la fonction "Eclairer". L'utilisateur y visualise en permanence l'état de la journée (jour ou nuit). Cette information peut être intéressante au cas l'utilisateur se trouve à l'étranger avec un décalage horaire important.

5.2.1. LDR+comparateur

L'équipe en charge de cette partie du projet doit faire un choix de matériel et proposer un schéma de mise en œuvre et une étude de fonctionnement (simulation ou test).

Les normes électriques en vigueur dans le bâtiment doivent être respectées (NFC15-100).

5.2.2. Production de l'IHM

L'IHM est écrite en langage PHP. La page correspondante à la gestion de l'éclairage extérieur s'appelle "eclairage.php".

La fonction "Mesurer la luminosité extérieure" fera l'objet d'une page de test appelée "luminosite.php".

6. Volets roulants

vollet.jpg

Les volets roulants permettent d'améliorer l'isolation thermique, d'assurer la protection contre les intrusions et d'améliorer le confort optique de l'habitation (modulation de la lumière jusqu'à l'occultation totale). Pour simplifier l'étude, on se limitera à la commande d'un seul volet roulant.

Le système de contrôle doit permettre la mise en marche automatique des volets roulants en fonction de la luminosité mesurée à l'extérieur.

6.1. Actionner les volets

La fonction "Actionner les volets"  est disponible à partir d'une page web du site embarqué. La page correspondante présente à l'utilisateur un formulaire qui comporte un bouton de type bistable pour actionner les volets.

La mise en marche automatique se fait en fonction de l'information relative à l'état de la journée (jour ou nuit) fournie par la fonction "Mesurer la luminosité extérieure".

L'utilisateur visualise en permanence sur la page web l'état de la journée (jour ou nuit).

6.1.1. Motorisation

L'équipe en charge de cette partie du projet doit faire un choix de matériel et proposer un schéma de mise en œuvre et une étude de fonctionnement (simulation ou test).

Les normes électriques en vigueur dans le bâtiment doivent être respectées (NFC15-100).

6.1.2. Production de l'IHM

L'IHM est écrite en langage PHP. La page correspondante à la gestion des volets roulants s'appelle "volets.php".

La fonction "Actionner les volets" fera l'objet d'une page de test appelée "actionnervolet.php".

6.2. Déterminer la position du volet

La fonction "Déterminer la position des volets"  est disponible à partir de la même page web du site embarqué que celle de la fonction "Actionner les volets".

L'utilisateur y visualise en permanence  l'état du volet (ouvert ou fermé).

6.2.1. Capteurs de fin de course

L'équipe en charge de cette partie du projet doit faire un choix de matériel et proposer un schéma de mise en œuvre et une étude de fonctionnement (simulation ou test).

Les normes électriques en vigueur dans le bâtiment doivent être respectées (NFC15-100).

6.2.2. Production de l'IHM

L'IHM est écrite en langage PHP. La page correspondante à la gestion des volets roulants s'appelle "volets.php".

La fonction "Déterminer la position des volets" fera l'objet d'une page de test appelée "positionvolet.php".

7. Arrosage automatique

arrosage.jpg

Un système d'arrosage automatique assure une irrigation optimale et sans effort du jardin. Il permet d'économiser du temps, de l'eau et de l'énergie (celle de celui qui arrose). Pour simplifier l'étude, il sera limiter à une seule commande par électrovanne. Le jardin n'est donc pas découper en zones d'arrosage  indépendantes.

Le système de contrôle doit permettre la mise en marche de l'arrosage automatique à deux périodes de la journée (le matin et le soir par exemple) et pour une durée déterminée (15 mn par exemple) définit par l'utilisateur et doit prendre en compte l'humidité relative du sol.
Si cette dernière est supérieure au seuil fixé par l'utilisateur, l'arrosage est désactivé.

L'utilisateur doit toutefois pouvoir mettre en marche forcée l'arrosage.

7.1. Arroser

La fonction "Arroser" est disponible à partir d'une page web du site embarqué. La page correspondante présente à l'utilisateur un formulaire permettant de saisir la fréquence de l'arrosage automatique. Il comporte également un bouton de mise en marche et d'arrêt forcé.

L'utilisateur visualise l'état de l'arrosage (en marche ou à l'arrêt).

7.1.1. Electrovanne

L'équipe en charge de cette partie du projet doit faire un choix de matériel et proposer un schéma de mise en œuvre et une étude de fonctionnement (simulation ou test).

Les normes électriques en vigueur dans le bâtiment doivent être respectées (NFC15-100).

7.1.2. Production de l'IHM

L'IHM est écrite en langage PHP. La page correspondante à la gestion de l'arrosage automatique s'appelle "arrosage.php"

La programmation du déclenchement périodique de l'arrosage utilisera le gestionnaire de tâches planifiées de linux : cron.

La fonction "Arroser" fera l'objet d'une page de test appelée "arroser.php".

7.2. Mesurer l'humidité du sol

La fonction "Mesurer l'humidité du sol"  est disponible à partir de la même page web du site embarqué que celle de la fonction "Arroser". Elle permet à
l'utilisateur de saisir le taux maximum d'humidité relative pour désactiver l'arrosage.

L'utilisateur visualise en permanence  le taux d'humidité relative.

7.2.1. Capteur d'humidité

L'équipe en charge de cette partie du projet doit faire un choix de matériel et proposer un schéma de mise en œuvre et une étude de fonctionnement (simulation ou test).

Les normes électriques en vigueur dans le bâtiment doivent être respectées (NFC15-100).

7.2.2. Production de l'IHM

L'IHM est écrite en langage PHP. La page correspondante à la gestion de l'arrosage automatique s'appelle "arrosage.php"

La fonction "Mesurer l'humidité du sol" fera l'objet d'une page de test appelée "humidite.php".


8. Installation électrique

tableau-électrique.jpg

L'installation électrique est conforme à la norme NFC15-100.

Rappel des points importants :

8.1. La protection différentielle 30mA

Tous les circuits de l'installation doivent être protégés par des différentiels. Il protège les personnes contre l'électrocution par contact direct ou indirect
grâce à un interrupteur différentiel de 30mA.

La "mise à la terre" doit être vérifiée et en adéquation avec la norme.

Surface des locaux

Inter différentiel

Type AC

Type A(2)

< = 35m²

1 x 25A

1 x 40A

Entre 35m² et 100m²

2 x 40A

1 x 40A

> = 100m²

3 x 25A(1)

1 x 40A

(1) En
cas de chauffage électrique de puissance supérieur à 8kVA, remplacer un inter
40A Type AC par un 63A Type AC.

(2) L'utilisation du différentiel de type A deviens obligatoire car certains
matériels de type lave-linge, plaques à induction intègrent des composants
électroniques susceptibles de créer des défauts "composante continue ou
alternative" que la type A vas aussi détecter.

Les circuits spécialisés cuisinière/plaque de cuisson et lave-linge seront
obligatoirement protegés par l'inter différentiel de type A.

8.2.  Les circuits de protections :

8.2.1. Les circuits lumière

Chaque circuit est protégé par un fusible 10A ou disjoncteur 16A, cablage en 1,5². 8 points d'éclairages par circuit maximum.

Dans le cas d'un logement supérieur à 35m², au moins 2 circuits lumière par disjoncteur 16A ou coupe-circuit 10A.

Pour faciliter l'évolution, le conducteur neutre doit être disponible à chaque
point de commande.



8.2.2. Les points lumineux :

Pièces

Points d'éclairage

Séjour

1 point de centre équipé DCL

Chambre

1 point de centre équipé DCL

WC

1 point au centre ou en
applique équipé DCL

Cuisine

1 point de centre équipé DCL

Escalier

Suppression de toutes zones
d'ombres par un éclairage adapté.

Point au centre ou en applique équipé DCL

Entrée

1 point d'éclairage extérieur

Extérieur

1 point lumineux par entrée.

Commande repéré par un voyant.

Eclairement mini de 20 lux en tout point du cheminement

DCL : Dispositif de Connexion de Luminaire

8.3. Les circuits prises

Socle de PC maximum par circuit

Section

Disjoncteur

Coupe circuit

5 socles de PC à 16A

1.5mm²

16A

8 socles de PC à 16A

2.5mm²

20A

16A

Circuit spécialisé 1 PC à 16A

2.5mm²

20A

16A

Circuit spécialisé 1 PC à 32A

6mm²

32A

32A

8.3.1. Nombre de prises de courants :

La norme précise le nombre minimal de prises de courant suivant le type de pièce et la surface totale.

Les ensembles de prises ont leurs équivalences en nombre de socles. Nb de postes = nb de socles

Pièces

Nombre de prise par pièce(1)

Nb de prises

Nb de socle equivalent

Séjour

1 socle par 4m² (5m² minimum)

1

1

Chambre

3 socles

2

1

Cuisine

6 socles dont 4 en plan de
travail

3

2

Autre

(> 4m² hors WC) 1 socle

4

2

(1) Hors prises commandées ou
spécialisées

8.4. Les circuits spécialisés

L'installation doit
comprendre au moins 5 circuits spécialisés :

- 1 circuit protégé par un
disjoncteur 32A dédié cuisinière/plaque de cuisson.

- 4 autres circuits au moins, protégés par un disjoncteur 20A pour
l'alimentation d'appareils du type lave-linge, lave-vaisselle, sèche-linge,
congélateur, four, etc.

- 1 circuit par chauffage +
1circuit pour le fil pilote et automate de régulation s'ils existent.

- 1 circuit par chauffe-eau électrique, chaudière, pompe a chaleur, VMC,
climatisation, alarme, domotique, piscine, portail automatiques, tout circuit
extérieur non attenant au batiment.

Il est conseillé d'utiliser une
protection par disjoncteur qui permet une identification visuelle du circuit
en défaut et une remise en route immédiate.

Si l'installation comporte un congélateur ou un équipement informatique, 1
circuit (protégé par un disjoncteur 16A différentiel 30mA type Hpi) lui sera
dédié.


9. Plan de travail

9.1. Choix des capteurs

Les capteurs ne doivent pas nécessiter la mise en œuvre de protocole de communication complexe. Sont à privilégier des capteurs de type tout ou rien, analogique ou bus 1  fil (Dallas).

On pourra par exemple s’appuyer sur le tableau d’aide au choix suivant :

Référence

Analogique

Numérique

Prix

Facilité de mise œuvre

(---,--,-,+,++,+++)

Description

Les ports d’entrées de la platine Fox Board G20 acceptent une  tension maximale de 3,3V. Il faudra donc veiller à adapter le niveau de tension en sortie du capteur.

La FOX Board G20 dispose de 4 lignes de conversion analogique/numérique d’une résolution de 10 bits directement issues de l’architecture du processeur AT91-SAM9G20 qui équipe la carte.

Les lignes A/N, apparaissent comme un simple ensemble de fichiers dans /sys/bus/platform/devices/at91_adc. Il alors de venir lire le fichier correspondant à une ligne A/N qui contient une valeur numérique comprise entre 0 et 1023 pour une tension comprise entre 0V et 3,3 V.

Ci-dessous, l’exemple d’un script an0.php qui permet d’afficher la valeur lue sur la ligne chan0 et la valeur de la tension correspondante (Van0 = N x
3,3 / 1024).

<HTML>

<HEAD>

<meta
http-equiv="Content-Type" content="text/html;
charset=utf-8" />


<TITLE>Page Test</TITLE>

</HEAD>

<BODY><center>

<?php

$erreur=0;

$filename="/sys/bus/platform/devices/at91_adc/chan0";

$fp= fopen($filename,"r");

if(!$fp)

{

echo"Erreur ouverture chan0";

$erreur=1;

}

else

{

echo "<br><h1>Tension sur J6.30 : </h1>";

$an0=fread($fp,filesize($filename));

fclose($fp);

$tension=$an0*3.3/1024;

printf("<br><h2>%.4fV</h2>",$tension);

echo "<br>N = $an0</center> ";

}

?>

</BODY>

Un capteur de type TOR sera connecté à une entrée GPIO qui va fournir dans de fichier correspondant lavaleur 0 ou 1. Ce fichier se trouve dans /sys/class/gpio/gpioxx/value. Il faudra au préalable avoir configuré la ligne xx en entrée en écrivant « in » dans le fichier direction.

Voir le script d’exemple ci-dessous :

<HTML>
<HEAD>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <TITLE>Page Test</TITLE>
</HEAD>
<BODY><center>
<?php
 $fp= @fopen("/sys/class/gpio/gpio83/direction","r+b");
if(!$fp) die("Erreur ouverture direction");
else
{
   fwrite($fp,"in");
   fclose($fp);
}
 $fp= @fopen("/sys/class/gpio/gpio83/value","r");
if($fp)
{
   echo "Valeur sur GPIO 83 : ".fgets($fp,2); //Lecture de 2 caractères
   fclose($fp);
}
 ?>
</BODY>

9.2. Interface de puissance

La platine Foxboard G20 délivre sur ses sorties un signal tout ou rien 0V/3,3VDC. Les fonctions à commander sont alimenté en 230VAC. Il
est nécessaire de produire une interface pour commuter l'énergie. On utilisera un relais modulaire associé à un circuit de commande (transistor, relais
statique, ...).

On veillera à adapter la commande du relai modulaire en fonction du type de tension attendu par sa bobine. Il serait souhaitable d’intégrer l’alimentation de la bobine du relai dans le tableau électrique (alimentation modulaire).

Le circuit de commande devra-t-être dimensionné, simuler, puis tester. Le logiciel de simulation à utiliser est Isis Proteus.

9.3. Commandes des fonctions de confort

Elles se font au moyen d’un port TOR (Tout Ou Rien) de la platine Fox Board G20. Se sont les ports GPIO dirigés en sorties qui remplissent cette fonction.

L’accès à ce type de port se fait par l’intermédiaire d’un fichier qui se trouve dans /sys/class/gpio/gpioxx/value.
Il faudra au préalable avoir configuré la ligne xx en sortie en écrivant « out » dans le fichier direction.

Voir le script d’exemple ci-dessous qui va allumer ou éteindre une LED connecté sur J7.3 (82) :

<HTML>
<HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<TITLE>LED sur J7.3</TITLE>
</HEAD>
<BODY>
<?php
if(isset($_GET["ok"]))
{
 // Configuration de la direction 
 $fp= fopen("/sys/class/gpio/gpio82/direction","r+b");
 if(!$fp) die("Erreur ouverture direction");
 else
 {
    fwrite($fp,"out");
    //J7.3en sortie
    fclose($fp);
 }
 if($_GET["J7-3"]=="ON")
 { 
    $fp= fopen("/sys/class/gpio/gpio82/value","ab");
    if($fp)
    { 
        fwrite($fp,"1");
        //Allumer la LED
        fclose($fp);
        echo "<br><br><center><h1>Led allumée</h1></center>";
    }
 }
 else
 {
     $fp= fopen("/sys/class/gpio/gpio82/value","ab");
     if($fp) 
     { 
         fwrite($fp,"0");
         //Eteindre la LED 
         fclose($fp);
         echo "<br><br><center><h1>Led éteinte</h1></center>"; 
     }
  }
}
echo '<form method="GET">';
echo '<center><h1>Contrôler la LED sur J7.3 </h1>';
echo '<input type="radio" name="J7-3" value="ON" ';
if(isset($_GET["J7-3"]))
{
   if($_GET["J7-3"]=="ON")
   echo "checked";
}
echo '> ON';
echo '<input type="radio" name="J7-3" value="OFF"';
if(isset($_GET["J7-3"])) 
{ 
   if($_GET["J7-3"]=="OFF")
   echo "checked"; 
}
echo '> OFF&nbsp;&nbsp;<input type="submit" value="Valider" name="ok">';
echo '</center></form>';
?>
</body>
</html>

9.4. Sécurité électrique

Afin d’assurer une protection des biens et des personnes, on veillera à choisir les constituants du circuit électrique de puissance conformément à la norme NFC15-100 suivant le type de fonction de conforts à alimenter :

·

  • Disjoncteur différentiel (protection des personnes)
  • Calibre du disjoncteur (protection des biens)
  • Diamètre des conducteurs
  • Raccordement à la terre
  • Un schéma électrique de raccordement devra être réalisé.


9.5. Programmation des comportements

Certaines fonctions de confort (chauffage, refroidissement, éclairage extérieur, arrosage automatique, …) dépendent de la valeur d’une grandeur physique et/ou du temps (périodicité de déclenchement). On utilisera pour activer périodiquement un programme, le gestionnaire de tâches planifiées
du système d’exploitation de la platine (Linux Debian). Ce gestionnaire s’appelle CRON et son utilisation est basée sur un fichier nommé crontab :

Pour ouvrir et modifier crontab:

debarm:~# crontab -e

La syntaxe est la suivante :

# m h  dom mon dow   command

Chaque ligne du fichier correspond à une commande que l'on veut voir exécutée régulièrement.

http://www.siteduzero.com/tutoriel-3-73916-executer-un-programme-a-une-heure-differee.html

Exemples :

Crontab

Signification

47 * * * * commande Toutes les heures à 47
minutes exactement.

Donc à 00h47, 01h47, etc.

0 0 * * 1 commande Tous les lundis soir à
minuit.
0 4 1 * * commande Tous les premiers du mois à
4h du matin.
0 4 * 12 * commande Tous les jours du mois de
décembre à 4h du matin.
0 * 4 12 * commande Toutes les heures les 4
décembre.
* * * * * commande
Toutes les minutes !

Remarque : la commande sera exécutée dans le dossier personnel de l’utilisateur, ici root.

Les programmes peuvent être écrits dans n’importe quel langage supporté par la platine (php, Python, C, C++, …).

9.6. Charte graphique du site

Une feuille de style css est mise à disposition des développeurs.
Elle doit assurer une homogénéité des pages web du site final :



MindMap Preview