Contrôleur d’équipement de domotique
Pierre DAVY
Qu’est ce que la domotique?
1
2
Sommaire
Contexte du stage
Présentation du sujet
Réalisation du projet
Apports du stage
3
Présentation de l’entreprise
• Société tunisienne fondée en 1994 par Mohamed Frikha
• Société de services
• Filiales à l’étranger
• 2008 : Signature d’une coentreprise avec ALTRAN
Contexte du stage
Présentation Réalisation Apports du stage
4
Présentation du projetSmart House
Contexte du stage
Présentation
Réalisation Apports du stage
5
L’application domotique
Gestion des appels fixes
Gestion des volets roulants
Gestion des alarmes
Gestion de l’éclairage
Gestion de surveillance
Utilisateur
Interface utilisateur
Contexte du stage
Présentation
Réalisation Apports du stage
6
Présentation du sujet
• But du projet : créer un contrôleur de climatisation
• Mon rôle : Partie serveur sur carte NETDUINO
Contexte du stage
Présentation
Réalisation Apports du stage
7
Problématique
• Portabilité sur Netduino Capacités Framework
• Respect du protocole UPnP
Contexte du stage
Présentation
Réalisation Apports du stage
8
Matériel utilisé
Contexte du stage
Présentation
Réalisation Apports du stage
9
Planification
• 02/04 - 20/04 : documentation
• 23/04 - 27/04 : étude de la problématique
• 30/04 - 04/05 : spécification des besoins
• 07/05 - 01/06 : conception & réalisation
• 04/06 - 08/06 : tests fonctionnels
Contexte du stage
Présentation
Réalisation Apports du stage
10
• Allumer• Eteindre• Régulation de la
température• Mode préprogrammés• Mode nuit• Lampe• Vitesse • Orientation• Timer• Régler l’heure
Spécification des besoins
Contexte du stage
Présentation
Réalisation Apports du stage
11
Conception
Réception d’une
requête
Interprétation de la requête
Envoi d’une instruction
vers la climatisatio
n
Message de réponse
Contexte du stage
Présentation
Réalisation
Apports du stage
12
Protocole UPnP
• Universal Plug and Play Services Point de contrôle
• Six étapes:
1. Adressage2. Découverte3. Description4. Contrôle5. Evènement6. Présentation
Contexte du stage
Présentation
Réalisation
Apports du stage
13
Réalisation
Adressage
Contexte du stage
Présentation
Réalisation
Apports du stage
15
Réalisation
NOTIFY * HTTP/1.1 HOST: 239.255.255.250:1900 CACHE-CONTROL: max-age = (la durée d’expiration de la publicité) LOCATION: (l’URL du périphérique) NT: search target (type de la publicité( concernant le périphérique ou un service))NTS: ssdp:alive (sous-type ssdp:alive pour les publicités et ssdp : byebye pour quitter) USN: (identifiant unique pour la publicité)
M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: (ssdp:discover) MX: (temps d’attente) ST: (type d’élément recherché à comparer avec NT)
HTTP/1.1 200 OK HOST: 239.255.255.250:1900 CACHE-CONTROL: max-age = (la durée d’expiration de la publicité) LOCATION: (l’URL du périphérique) ST: (type d’élément recherché) USN: (identifiant unique pour la publicité)
Découverte
Contexte du stage
Présentation
Réalisation
Apports du stage
16
Réalisation
HTTP/1.1 200 OK HOST: 239.255.255.250:1900 CACHE-CONTROL: max-age = (la durée d’expiration de la publicité) LOCATION: (l’URL du périphérique) ST: (type d’élément recherché) USN: (identifiant unique pour la publicité)
Découverte
Contexte du stage
Présentation
Réalisation
Apports du stage
17
Réalisation
<?xml version="1.0"?><root xmlns="urn:schemas-upnp-org:device-1-0"configId="configuration number"><specVersion><major>1</major><minor>1</minor></specVersion><device><deviceType>urn:schemas-upnp-org:device:deviceType:v</deviceType><friendlyName>short user-friendly title</friendlyName><manufacturer>manufacturer name</manufacturer><manufacturerURL>URL to manufacturer site</manufacturerURL><modelDescription>long user-friendly title</modelDescription><modelName>model name</modelName><modelNumber>model number</modelNumber><modelURL>URL to model site</modelURL><serialNumber>manufacturer's serial number</serialNumber><UDN>uuid:UUID</UDN><UPC>Universal Product Code</UPC><iconList><icon><mimetype>image/format</mimetype><width>horizontal pixels</width><height>vertical pixels</height><depth>color depth</depth><url>URL to icon</url></icon><!-- XML to declare other icons, if any, go here --></iconList><serviceList><service><serviceType>urn:schemas-upnp-org:service:serviceType:v</serviceType><serviceId>urn:upnp-org:serviceId:serviceID</serviceId><SCPDURL>URL to service description</SCPDURL><controlURL>URL for control</controlURL><eventSubURL>URL for eventing</eventSubURL>43</service><!-- Declarations for other services defined by a UPnP Forum working committee(if any) go here --><!-- Declarations for other services added by UPnP vendor (if any) go here --></serviceList><deviceList><!-- Description of embedded devices defined by a UPnP Forum working committee(if any) go here --><!-- Description of embedded devices added by UPnP vendor (if any) go here --></deviceList><presentationURL>URL for presentation</presentationURL></device></root>
Description
Contexte du stage
Présentation
Réalisation
Apports du stage
<device><deviceType>urn:schemas-upnp-org:device:deviceType:v</deviceType><friendlyName>short user-friendly title</friendlyName><manufacturer>manufacturer name</manufacturer><manufacturerURL>URL to manufacturer site</manufacturerURL><modelDescription>long user-friendly title</modelDescription><modelName>model name</modelName><modelNumber>model number</modelNumber><modelURL>URL to model site</modelURL><serialNumber>manufacturer's serial number</serialNumber>
18
Réalisation
Contexte du stage
Présentation du sujet
Réalisation Apports du stage
Librairie DPWS
• Device Profile for Web Service
• Adapté au protocole UPnP
• Simplifie grandement le programme
19
Réalisation
Contrôle
// Envoi d’une impulsion sur D0OutputPort P0 = new OutputPort(Pins.GPIO_PIN_D0, false);P0.Write(true);Thread.Sleep(200);P0.Write(false);
• Utilisation d’un Switch - Case
Exemple d’instruction:
Contexte du stage
Présentation
Réalisation
Apports du stage
20
Réalisation
Evènement
// Add event source DpwsWseEventSource sampleEvent = new DpwsWseEventSource("smpl", "http://schemas.example.org/SampleService", "SampleEvent"); EventSources.Add(sampleEvent);
// build the message and fire the event Dpws.Device.Services.DpwsWseSubscriptionMgr.FireEvent(sampleService, sampleEvent, sampleService.BuildSampleEventMessage());
Contexte du stage
Présentation
Réalisation
Apports du stage
21
• Tri des informations
• Retard de livraison du shield
• Portabilité du micro Framework
• Classe URI
Quelques problèmes rencontrés
Contexte du stage
Présentation
Réalisation
Apports du stage
22
Apports personnels
• Monde du travail informatique
• Entreprise étrangère
• Autonomie
• Recherche de l’information
• Démarche d’un projet
Apports du stage
Apports techniques
• Langage C#
• Programmation embarquée
• Protocoles informatiques
• Connaissances réseau
Contexte du stage
Présentation
Réalisation Apports du stage
23
Conclusion
• Expérience enrichissante
• Apports techniques et personnels
• Projet encore en cours de réalisation lors de mon départ
24
Des Questions?
Merci !شكرا الهتمامكم
أسئلة؟ أي لديكم هل
25