45
Projet Domotique, Commande, et gestion Préparé pour : Projet M1 2013/2014 - ISEN Préparé par : Samuel Bar, Steven Bargain Durée du projet : 120 jours environ Numéro de la proposition : Rapport final 1 RAPPORT DE PROJET

RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

  • Upload
    dodung

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Projet Domotique, Commande, et gestion

!Préparé pour  : Projet M1 2013/2014 - ISEN

Préparé par  : Samuel Bar, Steven Bargain

Durée du projet : 120 jours environ

Numéro de la proposition  : Rapport final

!

!1

RAPPORT DE PROJET

Page 2: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

• INTRODUCTION……………………………………………………….page 4

• CAHIER DES CHARGES…………………………………….……page 5-18

• GESTION DE PROJET………………………………………..….page 19-21

• DÉVELOPPEMENT TECHNIQUE………………………………page 22-39

‣Fiche technique…………………………………………………………..page 22-23

‣Mise en place du site web……………………………………………..page 24-26

• La programmation en PHP, HTML, CSS………………………………………………page 25

• Les iFrames…………………………………………………………………….………..page 25

• Le lien entre PHP et commandes Linux……………………………………….………page 26

‣Linux………………………………………………………………………..page 27-29

• Quel kernel choisir ?…………..………………………………………….….…………page 27

• Le « rootage » des commandes PHP………………………………………….……..page 28

• Avantages et points faibles d’Angström 3.2…………………………………….……page 29

‣La sécurité………………………………………………………………….…page 30

‣Application………………………………………………………………….…page 31

• Prise en main du BeagleBone………………………………………….………………page 31

• Comprendre l’organisation des ports……………………………………………….…page 32

• Mise en place des composants………………………………………….………….…page 34

• La maquette finale………………………………………………………………………page 37

‣Phase de test……………………………………..………………………..…page 38

• CONCLUSION………….………………………………..……….…..page 41

• BIBLIOGRAPHIE……………………………………………………..page 42

• ANNEXES……………………………………………………..…..page 43-45

!2

PROJET DOMOTIQUE, RAPPORT FINAL

SOMMAIRE DE GESTION

Page 3: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

• Figure 1 - Bête à cornes…………………………………………………….page 6

• Figure 2 - Pieuvre…………………………………………………………….page 7

• Figure 3 - Exemple de panneau d’IHM…………………………….……page 11

• Figure 4 - Asservissement d’une lampe……………………………..….page 13

• Figure 5 - Asservissement en température………………………….…page 16

• Figure 6 - Détection d’ouverture…………………………………………page18

• Figure 7 - Webcam sur IP……………………………………………….…page 18

• Figure 8 - Organigramme d’avancement…………………………….…page 19

• Figure 9 - Organigramme de répartition des tâches…………………page 21

• Figure 10 - Interface web finale……………………………………….…page 24

• Figure 11 - Terminal linux Angstrom…………………………………….page 31

• Figure 12 - Répartition des ports du BeagleBone…………………….page 32

• Figure 13 - Carte électronique du BeagleBone………………………..page 34

• Figure 14 - Carte du capteur de température………………………….page 35

• Figure 15 - Carte du capteur d’ouverture………………………………page 36

!3

PROJET DOMOTIQUE, RAPPORT FINALE

SOMMAIRE DES FIGURES

Page 4: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

!

!

!

Avec la démultiplication des appareils électroniques dans les foyers, la possibilité de

diriger ceux-ci à distance devient de plus en plus intéressante. Pouvoir régler son chauffage

avant d’arriver chez soi, ou déclencher la mise en route automatique de sa cafetière le matin

deviennent accessibles au plus grand nombre. Les principaux acteurs actuels du marché tel

que Somfy proposent des gammes performantes, mais à des prix excessivement élevés.

Aujourd’hui, avec l’avènement des mini-ordinateurs embarqués (Arduino, RaspBerry

PI, BeagleBone…), la domotique bon marché s’ouvre à un large public, mais nécessite tout

de même une certaine base de connaissance en électronique, informatique, etc.

C’est ici qu’intervient le projet domotique proposé par l’ISEN Brest et son référent M.

Alain Reboux. L’objectif ici, est de synthétiser à travers une interface simple et accessible

depuis n’importe où, les principales fonctions domestiques que l’on cherche à contrôler

(éclairage, chauffage, ouvertures…). Celles-ci, exploitées depuis un mini-ordinateur ARM

avec Linux embarqué.

Ce rapport, décrit étape par étape, les méthodes employées permettant

l’aboutissement d’un tel projet, du cahier des charges, aux phases finales de test.

!

!

!

!

!

!

!

!

!4

PROJET DOMOTIQUE, INTRODUCTION

INTRODUCTION

Page 5: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

La constitution du cahier des charges est l’étape numéro 1 du projet. Il rassemble les

principales fonctions de notre système, les composants utilisables, les solutions, ainsi que

les méthodes d’application de ces fonctions.

!

I - La demande client

!

Objectif

Le système doit permettre de commander et visualiser à distance les appareils

électrodomestiques.

!!!

Demande client

Le système doit permettre de commander et visualiser l'état d'appareils et d'autres

informations à distance. Plus précisément, il s'agirait de pouvoir commander à partir d'un

PC ou d'un smartphone des appareils situés dans une habitation éloignée tels que des

lampes en tout ou rien, des lampes en gradation, le chauffage, et visualiser des informations

telles que l'état ouvert ou fermé des portes et fenêtres, de la température d'une pièce.

Si le temps le permet, le système devrait aussi permettre de faire une programmation

horaire des appareils connectés.

Sur le PC, il ne devrait pas y avoir de logiciel à installer, sauf indications contraires.

Dans l'habitation, les liaisons filaires seront limitées autant que possible. La visualisation sur

le PC doit être automatique et dépendre de l'installation de l’habitation : si un nouvel

appareil commandable est ajouté dans l'habitation, il doit apparaître sur la visu (et

inversement si un appareil est retiré).

!5

PROJET DOMOTIQUE, CAHIER DES CHARGES

CAHIER DES CHARGES

Page 6: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

II - Définition du besoin

Figure : 1 - Bête à cornes

L’objectif du diagramme « bête à cornes » est de formuler l’analyse fonctionnelle du besoin.

Il permet de formuler ce besoin sous forme de fonctions simples que devra remplir le

produit.

!

Les appareils électrodomestiques sont les systèmes électroniques de la maison (lampes, volets électriques, chauffage, alarmes…).

!

!6

PROJET DOMOTIQUE, CAHIER DES CHARGES

Page 7: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

III - Fonctions principales et fonctions de contraintes dans la situation de vie opérationnelle

Figure : 2 -Pieuvre

!L’objectif du diagramme « pieuvre » est d’identifier les relations entre les milieux et le produit.

!Fonctions principales Critère

FP1 Le système permet de commander les appareils électrodomestiques

FP2 Le système informe l’utilisateur de l’état des appareils électrodomestiques.

FP3 Le système permet à l’utilisateur de programmer l’usage des appareils.

Fonctions contraintes Critère

FC1 Le produit doit être économe en énergie

FC2 Le produit doit supporter une perturbations électrique (panne de courant)

FC3 Le produit doit être sécurisé (protection contre les attaques informatiques)

FC4 L’interface doit être simple, optimisée et agréable

FC5 Les liaisons filaires doivent être limitées autant que possible

FC6 Le produit doit être accessible depuis n’importe quel navigateur web

FC7 Le produit doit détecter la présence ou non d’un appareil

!7

PROJET DOMOTIQUE, CAHIER DES CHARGES

Page 8: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

IV - Définition des fonctions de services et de leurs usages

!L’objectif ici, est de valoriser les fonctions du diagramme pieuvre, en termes :

- D’USAGE : caractéristiques de performances quantifiée (mètre, Dbm, kg…).

- D’ESTIME : caractéristique générant le désir du client : (couleur, forme…).

- D’ECHANGE : coût d’une fonction ou d’une caractéristique (prix du km de

portée…). Ce que le client est prêt à payer.

!Il s’agit donc d’identifier les mots clés dans chaque fonction.

!!!

Fonctions de service Critères d’appréciation Usage Échange

Programmer - Marche manuelle Puissances intermédiaires !- Marche automatique 2 positions (ouvert ou fermé) !- Horaires !

Précision température : 0,5° C !Précision éclairage 50 lm !Précision 15 mn

prix ?

Informer - Schéma interactif !- Notifications !!!!-Visualisation des appareils connectés au systèmes

- Page web (HTML, CSS, PHP) !- Pop-up !- Site version Mobile/tablette !!

!

!8

PROJET DOMOTIQUE, CAHIER DES CHARGES

Page 9: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Appareils électro-domestiques !!!!!Lampes !!!!!Chauffage

- Délais de fonctionnement !- Température ambiante !!!Commander les lampes : Toute lampe utilisable sur secteur et alimentation conventionnelle ( 220 V) en gradateur et TOR !!- Remplacement thermostat !

!!!!!!- Immédiat !- Immédiat !Précision : 50 lm !- Immédiat !- Immédiat !!!- Alimentation 220 V

Économe - Mode activité / veille - Sonde de consommation électrique

Fiable - MTBF (temps moyen de bon fonctionnement)

15 ans Minimum

Sécurisé - Attaques informatiques !- Login !- Mot de passe

- type HTTPS !!!

Interface - Web Design - Esthétique

- CSS 3.0

Fonctions de service Critères d’appréciation Usage Échange

!9

PROJET DOMOTIQUE, CAHIER DES CHARGES

Page 10: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

!

!

!

V - Caractéristiques générales

!

Dans le but de synthétiser les informations obtenues à l’aide des diagrammes et

tableaux précédents, voici la liste exhaustive des fonctions que le système devra réaliser à

son aboutissement.

!

Le système devra :

✓ Permettre de commander en tout ou rien les lampes

✓ Commander les lampes par gradateur

✓ Commander le chauffage avec précision

✓ Programmer les horaires de fonctionnement (plages horaires)

✓ Informer de l’ouverture / fermeture des portes-fenêtres

✓ Visualiser l’état des appareils (annulé par le client en cours de projet)

✓ Informer l’utilisateur de la température des pièces de la maison

!

Fonctions de service Critères d’appréciation Niveau Échange

Liaisons - Liaisons filaires limités !- Communications sans fil

2 m !30 m

Maximum !Minimum

!10

PROJET DOMOTIQUE, CAHIER DES CHARGES

Page 11: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

VI - Interface du site de contrôle

!

Voici un exemple d’interface possible de contrôle du système une fois la

programmation web accomplie. Elle sert d’inspiration sur la façon d’intégrer les différentes

fonctions au système.

Figure : 3 - Exemple de panneau d’IHM

*réalisé par Steven Bargain avec photoshop

!

VII - Matériel et composants

!

Ci-après se situe la liste des différents composants que nous avons choisis (certains

ont été imposés par le client), pour réaliser les différentes fonctions que devra assurer le

système.

!11

PROJET DOMOTIQUE, CAHIER DES CHARGES

Page 12: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Ordinateur BeagleBone (imposé par le client)

Caractéristiques :

!

Le BeagleBone, véritable petit ordinateur tournant

sous linux, assure toutes les fonctions à petite

échelle d’un PC standard, avec des ports de type

GPIO commandables directement depuis le

kernel.

Connecté à internet, il recevra des requêtes de

commande Linux envoyées depuis un site Web.

C’est le noyau dur du système.

!

Module de transmission sans fil

Comme il a été démontré dans l’analyse fonctionnelle, l’une des contraintes est de

limiter autant que possible les liaisons filaires. C’est pourquoi, dans le but de communiquer

avec les différents capteurs, il est important d’établir une liste de modules de

communication sans fil utilisables pour remplir cette fonction. Bien entendu, ils doivent être

compatibles avec l’utilisation du BeagleBone.

Produit Illustration Description coût

Module Xbee à antenne planaire

Module de transmission sans fil. !Portée : 100m. Alimentation : 3V3 Débit : 115 kBps émetteur /récepteur !http://fr.farnell.com/digi-international/xb24-z7wit-004/module-xbee-zb-1mw-w-wirouge-ant/dp/1690810

22 €

!12

PROJET DOMOTIQUE, CAHIER DES CHARGES

Page 13: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Commande des lampes standards

Afin de commander des lampes installées dans une maison ou un appartement, plusieurs solutions s’offrent à nous. Première solution : installer un interrupteur électronique sur l’alimentation de la lampe qui est commandé par la puce de transmission, de manière à allumer ou à éteindre la lampe. Fonctionne comme suit : !!!!!!!!!!

!!

RF Link transmitter Module d’émission sans fil. !Fréquence : 434 MHz Débit : 4800 Bps Alimentation : 5V Portée : 500 pieds = 152 m. !https://www.sparkfun.com/products/10534

3 €

RF Link receiver Module de réception sans fil. !Idem module précédent !https://www.sparkfun.com/products/10532

5 €

Kit émetteur / récepteur

Fonction récepteur/émetteur !Fréquence : 433 MHz !Alimentation : 3V-12V !http://www.gotronic.fr/art-kit-emetteur-recepteur-433mhz-18881.htm

5 €

Produit Illustration Description coût

!13

PROJET DOMOTIQUE, CAHIER DES CHARGES

Figure : 4 - Asservissement d’une lampe

Page 14: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

L’élément clé ici, est le relais. Celui-ci sert d’interrupteur et doit pouvoir commuter du 220 V et 10 A en toute sécurité ! Le produit doit être ultra fiable afin de protéger le module sans fil et éviter tout incident regrettable. !! Ce type de circuit peut en réalité commander n’importe quelle prises électriques ! On peut imaginer la commande d’un ventilateur, ou encore l’allumage de la télévision. !Voici quelques types de relais utilisables pour la réalisation de cette solution. !!!!

!!!

Produit Illustration Description Coût

Module relais 5V Commutateur 220 V - 10 A !Fermeture circuit à 5V Ouverture circuit à 0V !3 Pin en entrée : GND / VCC / IN !Aucun lien entre le circuit basse et haute tension. !http://jr-international.fr/module-relais-arduino-5v-12v-1-canal_REL5V_itm_french.html

3 €

Variateur à commande de tension continue.

Régler la tension d’entrée de la lampe. !Commande entrée de 0 à 12 V proportionnelle à une sortie 0-230V (0-98%). !http://www.selectronic.fr/k8064-kit-variateur-a-commande-de-tension-continue.html

17 €

!14

PROJET DOMOTIQUE, CAHIER DES CHARGES

Page 15: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Deuxième solution : lampes pré-commandables

Une autre approche consiste à utiliser les lampes commandables par signal radio et

d’utiliser leur protocole de connexions pour les commander depuis le BeagleBone. Cette

solution est beaucoup plus simple d’utilisation pour un potentiel client, moins dangereuse.

Elle ne risque pas d’endommager les murs de la maison ou de l’appartement.

!

Les lampes utilisant des protocoles de communication type DI-O sont facilement

commandables depuis un BeagleBone ou un Raspberry Pi.

Produit Illustration Description Coût

Lampes HUE by Philips

Lampes commandables en wifi. Fourni en kit avec - l’application - site web (compte) - Plateforme de

commande - Programmation !Le tout en format propriétaire difficilement exploitable.

53 € / u

Douille ON/OFF pilotable

Douille commutateur ON/OFF intégré pilotable par radio-fréquence. !Type DI-O !Non compatible lampes basse consommation. !!

25 € / u

Douille 100 W radiocommandée

Douille commutateur pour lampe 100 W pilotable depuis centrale MyFox. !Type DI-O !Non compatible lampes basse consommation.

23 € / u

!15

PROJET DOMOTIQUE, CAHIER DES CHARGES

Page 16: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Température et chauffage

!

Détecter la température des pièces de la maison est l’une des fonctions phare du projet.

La sortie Dout de la sonde sera connectée directement sur le BeagleBone. L’alimentation peut se faire à l’aide de l’un des ports 3V3 de celui-ci. !!Concernant le chauffage, la mise en place d’un module externe semble compliqué, en raison de la multitude de thermostats et de chauffe-eaux disponibles actuellement sur le marché. Pour l’instant. Cependant, une alternative est envisageable, elle reprend le principe de fonctionnement de la figure 4 page 13. !

!

!

!

!

!

Produit Illustration Description Coût

Temperature sensor DS18B20

Sonde de température !marge : -55° - 125° C !3 - 5V input. !3 broches en entrées : VCC, DOUT, GND Tension de sortie proportionnelle à la température !https://www.sparkfun.com/products/11050

4,5 €

!16

PROJET DOMOTIQUE, CAHIER DES CHARGES

Figure : 5 - Asservissement en température

Page 17: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Détection d’ouverture des portes et fenêtres

!! La détection se fera à l’aide d’un capteur à effet de hall. Ce type de capteur mesure les champs électromagnétiques, ils servent donc à la détection d’objets sans contact. !!

!!!! Ici, le capteur sera relié directement à l’un des modules d’émission, alimenté par une pile 9V suivi d’un régulateur de tension 3V3. Le « bloc » « détection d’ouverture » sera donc autonome. Une étude plus approfondie nous permettra d’évaluer l’autonomie d’un tel système. !!!!

Produit Illustration Description coût

DIY switch Hall sensor

Signal de sortie basse tension. !Précision du capteur ajustable. !5V input !3 pins en sortie : VCC/GND/OUT

4,5 €

Magnetic Hall detection module

Signal de sortie basse tension. !3V3 input !!TOR !!3 pins en sortie : VCC/GND/OUT !http://dx.com/p/mini-arduino-magnetic-detection-sensor-module-black-135504

3 €

!17

PROJET DOMOTIQUE, CAHIER DES CHARGES

Page 18: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!Voici un exemple de fonctionnement d’un capteur à effet de Hall.

!!!Caméra de contrôle

Le client a émis le souhait d’avoir la possibilité d’installer une caméra dans la maison. L’idée

serait d’utiliser une « webcam-sur-IP ».

Il existe une multitude de webcams compatibles avec Linux.

!

!

!

!

!

!

!

!18

PROJET DOMOTIQUE, CAHIER DES CHARGES

Figure : 7 - Webcam sur IP

Figure : 6 — Détection d’ouverture

Page 19: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

I - Diagramme prévisionnel de répartition du travail dans le temps

Ci-dessous, les principales étapes mises en oeuvre tout au long du projet, par ordre

chronologique :

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!19

PROJET DOMOTIQUE, GESTION DE PROJET

GESTION DE PROJET

Analyse de la

demande client

Analyse

fonctionnelle

Synthèse des

objectifs

Recherche des

composants

Réalisation des

schémas électriques

Prise de

renseignements le BB

Apprentissage du

PHP

Prise en main du

BeagleBone

Commande des

composants

Démarrage du codage

du site web

Prise en main

des composantsFinalisation site

web

Fabrication des

cartes

Mise en place de

la maquette

Phase de test

Finalisation

Figure : 8 - Organigramme d’avancement

Page 20: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

I - Mode de travail

La mise en place d’un dossier partagé type Dropbox permet une gestion efficace

des informations et du temps de travail. Toutes les données sont immédiatement entre tous

les collaborateurs du projet.

On retrouve en annexe le diagramme de « Gantt », réalisé en début d’année. Il s’agit

du planning initial du projet.

!

III - Modifications au cours du projet

Certains objectifs ont été modifiés voire abandonnés au cours du projet. Tel que la

visualisation des états connectés ou déconnectés des appareils au système. Ceci en raison

des difficultés engendrés par la mise en place d’un tel système, du temps et de son utilité

limité.

De même, lors de la rédaction initiale du cahier des charges, il était prévu de créer un

module s’adaptant directement aux thermostat existants. Mais au vu du nombre de modèle

important de thermostat, ainsi que de leur difficulté d’exploitation, il a été préférable

d’intervenir directement sur l’alimentation générale du chauffage de la maison.

Les autres points ont été suivis et appliqués.

!

IV - Logiciels utilisés

CAO Rédaction Présentation Configuration Xbee

Codage Serveur web

Graphisme Planning

Protel DXP

Pages Keynote XCTU Editra NetBean VIM

Lighttpd Photoshop GraphicConverter ImageWell

GanttProject

!20

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Page 21: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

V - Répartition des tâches

!

Ci-dessous, l’organigramme de répartition des tâches entre les 2 collaborateurs de

l’équipe :

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!21

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Programmation

site web

version PC

Mise en place

des

composants

Programmation

site web

version mobile

Création des

cartes

électroniques

Rédaction

rapport

Correction

rapport

Réalisation

diaporama de

soutenance

Réalisation et

installation

maquette

Réalisation

cahier des

charges

Prise en main

des

composants

Figure : 9 - Organigramme de répartition des tâches

Page 22: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

!

Voici la liste exhaustive des composants choisis pour la réalisation du projet.

Produit Illustration Description coût

Détecteur d’ouverture ultra-plat double aimant

Signal de sortie basse tension. !TOR !3V3 input !Sortie sur 2 fils : - DOUT - VCC

6,27 €

Temperature sensor DS18B20

Signal de sortie basse tension. !3V3 input !Tension Dout proportionnelle à la température détectée. 0 - 3V3 !3 pins en sortie : VCC/GND/DOUT

3,5 €

Douille TOR Chacon Douille de type Chacon !Protocole de type DI-O !Montage facile

19,90 €

Module de transmission Xbee série 1 XB24

Module de transmission sans fil 2,4 GHz !Antenne intégrée !Portée max : 100 m !3V3 input

23,90 €

!22

DEVELOPPEMENT TECHNIQUE

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Fiche technique

Page 23: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Tous les composants ont été commandés par l’Isen Brest, avec l’aval du professeur

référant (Xbee USB Explorer fortement recommandé, voir rubrique : « Application - mise en

place des composants »).

Le coût total du projet, s’il avait fallu acheter le BeagleBone également, reviendrait à

un total de :

• BeagleBone white revA6 : 70 €

• 2 douilles Chacon : 60 €

• Capteurs (porte, température) : 10 €

• 3 modules Xbee (1 en transmetteur, 2 en récepteurs) : 75 €

• RF link transmitter : 3.5 €

✓ Soit un total d’environ 220 €, plus 20 € environ pour les frais de port.

! Pour chaque module rajouté, il faudra compter au moins 25 € (Xbee et alimentation)

plus le prix du module à ajouter, et 20 € pour une nouvelle lampe ou une prise

commandable. Ce qui reste beaucoup moins cher que les installations proposées par des

entreprises comme Somfy. Il est également possible de réduire les coûts en utilisant

d’autres modules que les Xbee.

Produit Illustration Description coût

RF Link transmitter Module d’émission sans fil. !Fréquence : 434 MHz Débit : 4800 Bps 5V Portée : 500 pieds = 152 m.

3,40 €

BeagleBone Rev A6 Mini ordinateur. Processeur ARM720 MHz 256 Mb de RAM DDR2 Ethernet USB 2.0 Mirco SD Linux Angstrom 3.2.14

fourni par le client (70 €)

!23

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Page 24: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Le site web est la fonction centrale du système. La demande client, est de centraliser

la commande des appareils électrodomestiques de la maison et de la rendre accessible

depuis le web, sans avoir besoin d’installer de logiciel d’aucune sorte. C’est pourquoi,

la réalisation d’un site web est apparue comme l’une des solutions. Il a été codé en HTML5

et CSS3 et exécute des scripts PHP. Il est adaptable aux navigateurs de mobiles et

tablettes.

Voici le site internet final dans sa version PC, entièrement réalisé et conçu graphiquement

« à la main » (pas d’utilisation de « templates »).

On peut remarquer les différentes fonctions du système, appliquées ici à la maquette, sous

forme de blocs :

- Le contrôle des lampes et leur état courant

- L’état courant de l’ouverture de la porte d’entrée

- Le réglage du chauffage à l’aide d’un curseur

- L’affichage de la température actuelle de la pièce

- La programmation des horaires d’éclairage

- L’affichage de la webcam sur IP (ici celle de l’Isen Brest)

!24

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Mise en place du site web

Figure : 10 - Interface web finale

Page 25: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

I - La programmation PHP, HTML, CSS

Pour la programmation web, le PHP5, le HTML5 ainsi que le CSS3 ont étés utilisés.

Le site web PC et mobile ont été réalisés indépendamment l’un de l’autre. Le site propose

une redirection automatique vers l’un ou l’autre site en fonction de la résolution de

l’utilisateur.

!La structure du site PC

Plutôt que de réécrire chaque page pour chaque pièce (menu + entête + pied de

page) qui donnerait un code extrêmement lourd et fastidieux à modifier, la technique PHP

qui consiste à inclure des morceaux de page dans d’autres, a été adoptée.

Ce qui fait, que dans chaque page est associée à chaque pièce de la maison

(salon.php, cuisine.php…).

!

II - Les iFrames

Pour comprendre l’utilité et le fonctionnement des iFrames, il faut revenir aux raisons

de leurs utilisation. La problématique était la suivante :

« Comment actualiser l’état des valeurs courantes (état des lampes ou des portes)

de manière efficace et sans gêner l’utilisateur ? »

Il existe une fonction en HTML, qui permet de rafraîchir automatiquement une page

entière et pas seulement une partie comme nous le souhaitons. Il s’agit de la méthode :

« refresh ».

Vous comprendrez facilement la gêne que peu occasionner un tel rafraîchissement

sur toute la page : clignotement, inconfort visuel. De plus, l’utilisateur perdrait les données

qu’il est en train d’entrer.

Pour palier à ces problèmes, les iFrames sont une solution. Une iFrame consiste à

inclure dans une page une autre page. Au lieu de rafraîchir toute la page, on ne

rafraîchira donc que les mots :  «  ouverte » ou «  fermée  ». Avec un temps de

rafraîchissement convenable (10 s à 15 s), l’utilisateur ne sera donc pas gêné.

!25

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Page 26: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

III - Le lien entre PHP et commandes Linux

!

Si l’on souhaite commander les ports d’un ordinateur tournant sous Linux à travers

une interface web, il faut d’abord s’assurer de l’existence de telles fonctions de

communication. Fort heureusement, elles existent et sont mêmes très répandues ! Il s’agit

des fonctions « exec » ou « shell_exec ». Exemple de commande php :

!

IV - Les scripts « intelligents » de gestion

!

Cette rubrique concerne le réglage automatique du chauffage et la programmation

des horaires.

Pour remplir ces fonctions, les scripts en PHP ont été choisis. À l’aide d’une page

« process.php » qui permet ensuite d’être appelée par n’importe quelle autre page. Nous

aurions pu écrire ces scripts en ligne de commande linux, dans des fichiers .sh (shell). Ces

fichiers auraient pu être appelés par les pages PHP et seraient stockés dans la mémoire du

BeagleBone. Aucune des deux solutions ne supplante réellement l’autre, tant au niveau de

la sécurité (voir rubrique : « la sécurité »), qu’au niveau de la facilité de mise en place.

Le thermostat PHP :

Le client a demandé de pouvoir au moins programmer les horaires de chauffage. Un

véritable thermostat en langage PHP a donc été réalisé. Pour comprendre le

fonctionnement de la commande du chauffage, voir figure 5 page 15. Le code se situe en

annexe.

La programmation des horaires d’éclairage :

La programmation des horaires d’éclairages était un souhait du client. Celle-ci fût

donc réalisée, avec la possibilité de régler trois horaires différents. Voir le code en annexe.

!26

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Page 27: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Notre système reposant sur un BeagleBone tournant sous Linux, il est donc naturel de s’y

intéresser de près.

!

I - Quel kernel choisir ?

!

Les nombreux OS Linux compatibles avec le BeagleBone ne remplissent pas toutes

les fonctions attendues pour la mise en place du projet.

Linux Angstrom

Cet OS a été conçu spécialement pour le BeagleBone, ce qui en fait, en principe, le

meilleur choix. On peut commander facilement les ports du BeagleBone depuis une page

PHP. Cependant, les dernières versions de cet OS ont subi de nombreux changements et

ceux-ci sont véritablement désagréables ! Au moment du projet, la dernière version en

vigueur est la 3.8.

Pour comprendre ces dits changements qui font de l’utilisation des dernières

versions un véritable casse-tête, il faut savoir que les ports du BeagleBone ont des

fonctions et des utilisations différentes. Voir plus en détail la rubrique « Application - Prise en

main du BeagleBone ». Ainsi, sur les versions 3.8.x, l’utilisation des ports UART (Universal

Asynchronous Receiver Transmitter) utilisé pour les Xbee et AIN (Analogique Input) utilisé

pour le capteur de température, est extrêmement difficile. Ceux-ci en font donc des OS

non-adaptés.

Cependant, les anciennes versions d’Angström étaient très simples d’utilisation, en

particulier l’OS 3.2. Il y a malgré tout quelques problèmes. Cette version étant ancienne, les

liens de mise à jour sont morts. Il était de fait impossible d’installer les paquets nécessaires,

comme le serveur web.

!27

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

L I N U X

Linux

Page 28: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

En résumé, avec la version 3.2 , il est possible d’utiliser les ports UART et AIN mais

l’installation du serveur web n’est plus possible. Avec la version 3.8, l’installation

du serveur web est possible, mais il n’y a plus d’accès aux ports UART et AIN.

Linux Ubuntu

Cette version de Linux n’a pas les problèmes des dernières versions d’Angström,

mais elle en génère cependant de nouveaux. Ici, les ports UART et AIN sont utilisables dans

le terminal, il est possible d’installer le serveur web, mais il n’est plus possible de

commander les ports du BeagleBone via le serveur web à cause des droits d’écriture sur

les ports ! Un véritable casse-tête ! La tentative de modification des droits d’écriture fut un

échec (voir page suivante).

Solution finale adoptée

Après avoir changer trois fois de kernel, d’Angstrom 3.8 à Ubuntu à Angstrom 3.2, il

a été possible de rassembler toutes les fonctions souhaitées à l’aide d’une astuce. Nous

avons finalement adopté Angstrom 3.2, et pour résoudre les problèmes de liens de mise

à jour morts empêchant l’installation du serveur web, nous avons récupéré manuellement

les liens de mise à jour d’Angström 3.8, puis nous les avons entrés dans Linux 3.2.

!

II - Le « rootage » des commandes PHP

Pour que le kernel Linux accepte d’appliquer les commandes du script PHP, il est

nécessaire que le serveur installé sur le BeagleBone dispose des droits nécessaires pour

accéder à la commande des ports. Ceux-ci ne sont habituellement accessibles qu’au super

utilisateur (root). Angström installe nativement le serveur web avec tous les droits, ce qui

pose par la même occasion un gros problème de sécurité, puisque l’ensemble des dossiers

(y compris ceux qui servent au fonctionnement du kernel lui-même) du BeagleBone est

accessibles depuis le web. Il sera donc nécessaire de bien protéger les communications

entre le serveur et le BeagleBone, afin que celles-ci ne soient pas interceptées par un

utilisateur mal intentionné (plus de détails dans la rubrique « sécurité »).

Nous avons tenté, par l’intermédiaire d’Ubuntu qui lui interdit les droits d’écritures

des ports au serveur web, de débloquer cette situation en autorisant le serveur à n’accéder

qu’uniquement aux ports. Cependant, après y avoir passé presque deux semaines et

!28

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Page 29: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

demandé l’aide de tous les professeurs experts en Linux de l’école, nous avons finalement

abandonné cette option, qui aurait été plus sécurisée.

!

III - Avantages et points faibles d’Angström 3.2

!

!

En conclusion, Linux Angstrom 3.2 présentent de nombreux avantages, de part sa

simplicité d’utilisation et de son efficacité.

!

!

!

!

!

!

!

AVANTAGES INCONVÉNIENTS

• Kernel facile d’utilisation et optimisé pour le BeagleBone

• Commandes des ports nativement accessibles depuis le serveur web

• Forum actif

• Le serveur web dispose de tous les droits du super utilisateur root

• Sécurité compromise

• Communauté peu étendue

!29

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Page 30: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

La sécurité est un point critique de notre système. Car, contrôler les appareils de sa

maison à distance expose nécessairement au risque qu’ils puissent être détournés par des

personnages mal intentionnés.

Partant de ce constat, nous avons plusieurs solutions. Certaines que nous avons

appliquées, et d’autres à appliquer en cas de commercialisation du produit :

N’ayant pas le temps de nous consacrer à chaque option durant notre projet, nous

avons pris l’initiative de mettre en place les solutions numéro 1, 4 et 7. Ce sont les plus

importantes dans un cadre local (et non commercial).

!

!

!

N° Solution Description

1 Changer le mot de passe du super utilisateur root

Assez basique, mais cela empêche un utilisateur situé sur le même réseau que le BeagleBone d’y avoir totalement accès.

2 Attribuer au serveur web, l’unique accès au fichier et au dossier de commande des ports

Il s’agit de rendre modifiable uniquement les dossiers de type GPIO (etc) par le serveur web. Ce qui empêche ainsi l’accès au fichier de configuration et de fonctionnement du système.

3 Générer un nom de domaine unique et privé, très compliqué par chaque BeagleBone.

En cas de commercialisation, chaque BeagleBone générerait son propre nom de domaine (ex : alcvzkwg56nhh79.com). Cela évitera des attaques massives de serveurs publiques et dédouanera la société vendeuse du produit.

4 Interdire l’indexation du site web généré par le BeagleBone

Dans la continuité de la solution 3, un simple script php à rajouter dans le code permet d’interdire l’accès aux robots de type Google ou Bing, d’indexer le site généré par le BeagleBone.

5 Règle de filtrage par HTAccess Fichier de type .htaccess qui sécurise et protège le site généré par le BB des principales attaques informatiques courantes (hotlinking…).

6 Possibilité de supprimer le site internet, d’effacer toutes les traces d’attaques et de pouvoir le réinitialiser en 30 mn

Option de reset complet du serveur et des fichiers php. Remettre le système en mode : «  sortie d’usine  ». Nécessite la mise en place d’une sauvegarde locale des fichiers.

7 Filtrer le programme PHP Protection des variables, autoriser uniquement certains caractères alpha-numériques.

!30

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

La sécurité

Page 31: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

I - Prise en main du BeagleBone

Après avoir pris possession du BeagleBone, la première chose à faire est d’installer

l’OS sur une carte micro SD (au moins 4 Go). Le tutoriel est fourni sur le site officiel

« BeagleBone.org ». Ceci fait, il suffit de connecter le BeagleBone à l’ordinateur. Le courant

fourni par la prise USB suffit à faire fonctionner le BeagleBone tout seul, mais dès que l’on

commence à exploiter ses ports, il devient indispensable d’avoir une alimentation externe.

Le BeagleBone démarre tout seul et l’accès à son terminal peut se faire de deux manières

différentes, en USB ou en SSH.

!

On accède ainsi à la console.

!

!

!

!

!31

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Application

Figure : 11 - Terminal linux angstrom

Page 32: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Dans notre cas, nous avons utilisé au final une vieille version d’Angström (3.2.14) et avons

dû mettre à jour manuellement les liens de mise à jour du système . (Voir rubrique « Linux -

Solution finale adoptée »).

Ceci fait, il ne restait plus qu’à installer le serveur web. Nous avons choisi « Lighttpd » pour

son efficacité, sa simplicité d’utilisation et sa légèreté.

!

II - Comprendre l’organisation des ports du BeagleBone

!

Les différents ports du BeagleBone ont tous une utilisation précise et la plupart ne

sont pas utilisables car réservés. Partant de ce constat, il faut savoir différencier les ports et

comprendre comment les utiliser.

Le schéma suivant représente la répartition des ports :

!

!

!32

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Figure : 12 - Répartition des ports du BeagleBone

Page 33: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

Les ports ont un type d’utilisation propre à chacun. Les commandes sont donc différentes

pour chaque type de port utilisé.

Les ports GPIO : (écriture et lecture numériques)

Relativement simples d’utilisation, la configuration des ports GPIO se passe dans le dossier

« /sys/class/gpio ». Cependant il y a quelques manipulations à faire avant de pouvoir les

utiliser.

Il faut tout d’abord les «  exporter  », c’est à dire créer leur dossier de configuration. La

logique de programmation du BeagleBone fait que le nom virtuel des ports n’est pas les

même que leur nom physique. Par exemple, le port physique « GPIO1_6 » aura le numéro

virtuel 38 (1 x 32 + 6).

Les ports AIN : (lecture analogique)

Encore plus simple d’utilisation, la configuration des ports AIN se passe dans le dossier « /

sys/devices/platform/omap/tsc». On ne peut que les lire, on utilisera donc la fonction

« cat ».

Les ports EHRPWM : (écriture analogique)

Le BeagleBone n’est en réalité pas capable de sortir une tension analogique fixe. Pour cela,

il utilise une méthode très connue dans le domaine des CNA, un signal PWM ou Pulse With

Modulation. Cela signifie que le port en question va émettre un signal rectangulaire, dont on

Type Utilisation Caractéristiques

GPIO Ports d’écriture ou de lecture numérique (TOR)

0V ou 3V3

EHRPWM Port d’écriture analogique à l’aide d’un signal de type PWM.

0V à 3V3

AIN Port de lecture analogique avec CAN intégré de 4096 bits.

0V à 5 V

UART RX et TX (Receiver et Transmitter). Utilisé pour la connexion de module ayant besoin de communiquer avec le BeagleBone de manière Asynchrone. Tels que les Xbee

0V à 3V3

!33

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Page 34: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

pourra régler le rapport cyclique et l’amplitude. La moyenne de ce signal sera donc une

tension analogique qui variera en fonction de ces paramètres. Leur configuration se passe

dans le dossier « /sys/class/pwm ».

Les ports UART : (Universal Asynchronous Receiver Transmitter)

Tout comme les microcontrollers standards, le BeagleBone dispose de ports UART. Ceux-ci

lui permettent de communiquer avec des modules requérant ce type de fonctionnement,

tels que les Xbee. La communication est ensuite accessible depuis le mini logiciel Linux

Minicom déjà implanté dans le BeagleBone.

Leur configuration se passe dans le dossier « /sys/kernel/debug/omap_mux».

Puis, pour lancer Minicom : «  minicom -b 9600 -D /dev/ttyO2  » dans le terminal du

BeagleBone (9600 correspond à la vitesse en baud, à régler en fonction du périphérique).

!

III - Mise en place des composants

!

La carte principale, installée sur le BeagleBone :

Pour une mise en place du système plus simple et plus efficace, nous avons décider

de réaliser des circuits imprimés pour y loger tous les composants.

!34

Figure : 13 - Carte électronique du BeagleBone

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Page 35: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Elle regroupe, les socles d’installation du module Xbee (U+) de réception et du

module RF (RF1), une fiche de connexion pour câble USB-série (U3), et enfin un

condensateur de découplage sur l’alimentation du Xbee. Il y a également des pins, pour des

utilisations temporaires.

!

Les cartes secondaires, capteur de température :

Le capteur envoi une tension proportionnelle à la température détectée. Cette tension sera

ensuite convertie à l’aide du CAN 4096 bits intégré au BB. Il faut ensuite effectuer une série

de calcul pour obtenir la valeur en degrés Celcius.

!

Étape Description Exemple

1 Lire la valeur numérique # cat /sys/devices/platform/omap/tsc/ain1 1670

2 Convertir la valeur numérique en millivolts. (value / 4096) * 1800mV

(1670 / 4096) * 1800 = 733.8867 mV

3 Convertir les millivolts en température Celcius. (millivolt - 500mV) / 10

(733.8867 mV - 500) / 10 = 23.38867 °C

!35

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Figure : 14 - Carte du capteur de température

Page 36: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Les cartes secondaires, capteur d’ouverture :

Le capteur de température agit comme un interrupteur simple. Il envoi 0 ou 1 au Xbee qui

transmettra les données. Il est cependant nécessaire d’installer un « pull-down » (résistance

R1) pour ramener la valeur à 0 lorsque l’interrupteur est ouvert.

!

!

La commande des douilles Chacon :

!

Comme cité dans le cahier des charges, les douilles chacon utilisent le protocole

ouvert DI-0. En utilisant un transmetteur RF de même fréquence (433,94 MHz) et

l’application d’un code en C, il est possible de contrôler les douilles. Voir la rubrique

« conclusion - exploitation des résultats ».

!

IV - La maquette finale

Après la mise en fonctionnement des différentes cartes, elles ont été mises en place

sur une maquette représentative d’une maison. Ci-après le rendu final :

!36

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Figure : 15 - Carte du capteur d’ouverture

Page 37: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

!

!

!

!

!

!

!

!

!

!

!

!37

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Capteur d’ouverture

Douille commandable

LED représentative du

chauffage

Ventilateur de

refroidissement du

capteur

Capteur de

température +

Xbee

Xbee

BeagleBone

Page 38: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Afin de vérifier le bon fonctionnement des cartes et éviter les destructions de

composants, il est recommandé de suivre un processus rigoureux de test (tensions, pistes,

connexions…). Ci-dessous, vous trouverez les phases organisés par étapes et dans l’ordre

chronologique de réalisation.

!

Phase 1 : HORS TENSION

Fonction testée Méthode et matériel Résultat attendu Résultat obtenue

Vérification de l’état des pistes.

A l’oeuil nue. Toutes les pistes doivent êtres en bon état.

OK

Vérification de l'état des soudures.

A l’oeuil nue. La plaque en epoxy ne doit pas être fondue, les soudures doivent êtres en forme de cône arrondi et ne doivent pas dépasser de surface cuivrée.

OK

Test des pistes. Test à l’ohmmètre entre les débuts et fin de piste.

Signal sonore de l’ohmmètre indiquant le bon fonctionnement.

OK

Phase 2 : SOUS TENSION

Fonction testée Méthode et matériel Résultat attendu Résultat obtenue

Test d’alimentation 3V3.

Test au voltmètre de la GND et des pistes d’alimentations.

3V3 OK

Vérification des tensions des Xbee.

Test au voltmètre de la GND et des pistes VCC lié au Xbee.

3V3 OK

Vérification de la tension du module RF.

Test au voltmètre de la GND et des pistes VCC lié au module RF.

3V3 OK

!38

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Phase de test

Page 39: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

Phase 3 : SOUS TENSION avec Xbee

Fonction testée Méthode et matériel Résultat attendu Résultat obtenue

Test de communication des Xbee.

LED connectée sur la broche de sortie des Xbee récepteurs. Bouton poussoir sur la broche d’entrée du Xbee émetteur.

Allumage des LED lors de l’appui sur bouton poussoir.

OK

Test du capteur d’ouverture.

LED connectée sur le fil de sortie du capteur, et alimentation de celui-ci. Approcher l’aimant.

La Led doit s’allumer lorsque l’aimant est en contact avec le capteur.

OK

Test du capteur de température.

Alimenté en 3V3 et GND par le BB, et sortie connecté sur un port AIN du BB. Lire et convertir la valeur. Faire varier la température autour du capteur. Comparer avec un thermomètre à mercure.

Température détectée par le capteur environ égale à celle du thermomètre à mercure.

OK

Phase 4 : Carte connectée au BeagleBone

Fonction testée Méthode et matériel Résultat attendu Résultat obtenue

Test de communication des Xbee.

Envoi d’un signal depuis un port du BB sur un Xbee émetteur et lecture sur un autre port via le Xbee récepteur.

Vérifier que la valeur reçue est bien égale à celle envoyée.

OK

Test de communication du module RF et des douilles.

Broche d’entrée du module connectée à un port GPIO du BB. Exécution du script C.

Les lampes s’allument et s’éteignent sur commande.

OK

Test de bon fonctionnement des capteurs en situation de communication sans fil.

Lecture des ports de réceptions du Xbee récepteur.

Température transmise. !Etat de la porte.

OK

!39

PROJET DOMOTIQUE, DÉVELOPPEMENT TECHNIQUE

Page 40: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

Une fois toutes ces phases réalisées avec succès, on peut dire que le système est

fiable d’un point de vue matériel et logiciel.

Phase 5 : Serveur web actif

Fonction testée Méthode et matériel Résultat attendu Résultat obtenue

Réception des différentes données sur la page web.

Affichage de l’état des portes, lampes, température actuelle.

Valeurs affichées, et égales à celles envoyés par les modules.

Commandes des modules depuis la page web.

Allumage et extinction des lampes et du chauffage.

Les lampes et le chauffage s’allument et s’éteignent. Leurs états courant chauffage.

Fonction de programmation de l’éclairage sur la page web.

Paramétrage des horaires de fonctionnements des lampes.

Les lampes s’allument toutes seul lors de l’entrée dans un horaire et s’éteignent à la fin. Leurs états courant change.

Fonctionnement du thermostat.

Faire varier la température autour du capteur.

Le chauffage se déclenche ou s’éteint.

!40

PROJET DOMOTIQUE, CONCLUSION

Page 41: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

La finalisation de ce projet signe la réussite de celui-ci. D’une part, tous les objectifs

fixés par le clients on été atteints (bien que certains aient été modifiés en cours de

réalisation), et d’autre part, les possibilités d’améliorations sont quasi infinies.

En effet, on peut imaginer rajouter de nouveaux modules avec de nouvelles

fonctions. L’architecture en étoile du réseau mis en place sur les Xbee permet d’en ajouter

un nombre considérable. Ainsi, il serait assez facile d’ajouter des modules de contrôle des

prises électriques (toujours en utilisant du matériel chacon DI-O), commander des volets

électriques, programmer l’horaire de mise en marche de sa cafetière le matin etc. L’unique

limitation concernerait le nombres de ports utilisables du BeagleBone. Cela étant dit, il serait

aisé d’installer au moins une trentaine de module avant d’être saturé.

Ce projet offre ainsi de grandes possibilités en permettant une personnalisation

complète de la domotique à installer chez soi, ainsi que de son interface. Dans une optique

de commercialisation, chaque client pourrai acheter ou réaliser lui-même les modules qui

l’intéresse, grâce à un code ouvert, la communauté autour d’un tel produit grandirait de

manière exponentielle.

En bref, ce projet reste ouvert à de nombreuses améliorations prometteuses, il pose

les bases d’une domotique à bas coût tournant sous linux.

Remerciements à l’ISEN BREST et particulièrement aux enseignants Alain Reboux,

Thibault Napoléon, Didier Le Foll, Joel Corbel, Didier Munck et Jean-Yves Mulot pour l’aide

apportée tout au long du projet.

Exploitation des résultats : vous pouvez trouver l’intégralité du code utilisé et des

documents en contactant notre référant de projet, M. Alain Reboux, enseignant en

électronique à l’ISEN Brest. Vous pouvez également visiter le site web : www.samuel-

bar.com , rubrique «  Projet & activités  » : la domotique. Vous y trouverez un lien de

téléchargement de ce rapport ainsi que la possibilité de contacter directement un

collaborateur du projet.

!41

PROJET DOMOTIQUE, BIBLIOGRAPHIE

CONCLUSION

Page 42: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

Ici se trouve l’ensemble des liens donnants des informations sur la mises en place des

composants, la prise en main du BeagleBone, des tutoriels vidéo etc…

!

Xbee et reseau sans fil :  

• h$p://jeromeabel.net/ressources/xbee‐arduino 

• h$ps://www.youtube.com/watch?v=ZVatcrToSNY 

• h$p://www.youtube.com/watch?v=6BjV6WNwc40 

• h$p://www.digi.com/support/productdetail?pid=3352&osvid=57&type=uPliPes 

!

DIO et Raspberry : h$p://www.homautomaPon.org/2013/10/09/how‐to‐control‐di‐o‐devices‐

with‐a‐raspberry/ 

Site mobile : h$p://demos.jquerymobile.com/1.4.2/ 

Langage web : h$p://www.alsacreaPons.com/apprendre/ 

BeagleBone : h$p://beagleboard.org/bone 

Config BeagleBone : h$p://emmanuel.pouly.free.fr/ 

Domo=que et Raspberry : h$p://blog.idleman.fr/category/raspberry‐pi/ 

Appren=ssage du PHP : h$p://fr.openclassrooms.com/informaPque/cours/concevez‐votre‐site‐web‐

avec‐php‐et‐mysql   

Capteur de température : h$p://www.laboelectronique.be/captemp.html 

!

!

!42

PROJET DOMOTIQUE, ANNEXES

BIBLIOGRAPHIE

Page 43: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

!

 

Diagramme  de  Gan$    réalisé  en  tout  début  de  projet,  il  permet  de  réparPr  les  tâches 

préalablement définies sur toute la durée du projet : 

!

Code PHP : 

Allumer une lampe via le BeagleBone : 

!

Lire la valeur du capteur de température et la conver=r en degrés celcius : 

!43

ANNEXES

PROJET DOMOTIQUE, ANNEXES

Page 44: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

Récupérer la température désirée par l’u=lisateur et la rendre exploitable 

!

Le thermostat PHP : 

!

Exemple d’iFrame, la webcam Isen (iframe_webcam.php) : 

!44

PROJET DOMOTIQUE, ANNEXES

Page 45: RAPPORT DE PROJET - Samuel Barsamuel-bar.com/pdf/rapports/ProjetM1.pdf · " CÕest ici quÕintervient le projet domotique propos par lÕISEN Brest et ... chauffage, ouverturesÉ)

!

Et son inclusion dans le code html : 

!45