La plateforme PREDIS/MHI

La plateforme PREDIS/MHI est un centre dédié à l'enseignement, à la recherche et à l'innovation industrielle dans le domaine de la gestion énergétique intelligente des bâtiments. La plateforme s'inscrit au sein de plateforme technologique et scientifique PREDIS. Elle a pour vacation de mettre à la disposition de tous les acteurs de l'énergie un outil de formation et de recherche s'appuyant sur des démonstrateurs technologiques développés grâce à une stratégie d'alliances et de partenariats auprès des industriels et des collectivités territoriales. Cette plateforme a vocation à supporter des travaux sur le sujet de l'efficacité énergétique à l'échelle d'un bâtiment ou d'un territoire, l'efficacité et la sûreté des réseaux de distribution d'énergie en tenant compte de la diversité des sources et de la capacité des usagers à revendre leur production d'électricité.

Schéma actuel du PREDIS:

Type d'usage sur la Plateforme Usage / Habitat tertiaire

Activités de l'espace d'expérimentation De par son éclectisme, il y aura des différents types d'activités et de profils d'usage au sein de la plateforme PREDIS/MHI. Ainsi, selon les caractéristiques des salles disponibles dans le cadre de cette étude, il sera possible de mesurer l'usage de travaux de type bureau, recherche et enseignement. Ainsi, dans les bureaux du rez-de-chaussée, nous aurons une activité de type bureau fermé avec 3 occupants par bureau. Le reste de l'usage au rez-de-chaussée, correspondant à un travail de recherche et d'expérimentations fera l'objet d'une étude que dans un second temps. Au premier étage, dans la salle informatique, nous aurons des étudiants de l'école d ingénieur ENSE3 ayant des cours associés ou non à la problématique énergétique dans le bâtiment L'occupation sera de type universitaire en libre service. Dans l'espace bureau, on disposera d'une dizaine de personne, chercheurs sur la thématique bâtiment L'occupation sera de type bureau open space. Grâce à des mesures de l'usage vidéo, au tracking de personnes, à l'identification de la consommation des appareils électriques, il sera possible de connaître la description spatio-temporelle de l'usage au travers de la plateforme. Description des sources/ charges/scénarios d'étude Le matériel installé en vue d'installation est : 16 PC fixe au RDC dans la zone PC 3 PC dans chaque bureau du rez-de-chaussée Au 1“ étage : 20 PC portable dans la salle informatique Et 10 PC fixe dans la salle bureaux

Objectif de l'étude, intérêts scientifiques et types de travaux à mener

La plateforme Usage Habitat Tertiaire sera destinée à l'étude de l'usage de l'énergie dans le bâtiment à vocation habitat tertiaire, c'est-à-dire des lieux où l'activité est représentatif des différentes formes d'activités principales du tertiaire et de l'universitaire : bureau, salle informatique. Les axes de recherche associée à cette plateforme sont multiples :

  1. Modélisation et simulation énergétique du bâtiment : le bâtiment fait l'objet d'une modélisation sous différents logiciels de simulation thermique (Comfie+Pleaides, Energy plus, etc..). Des modélisations électriques vont également être effectués sur un certain nombre de charges électriques pour étudier leur comportement énergétique. Valider les modèles thermiques et électriques élaborés en laboratoire (ou en partenariat avec d'autres laboratoires qui utiliserait cette plateforme comme application de leurs travaux)
  2. Dans le cadre du projet SIMINTHEC, la plateforme usage Prédis sert à extraire des jeux de tests et à valider les résultats de simulation
  3. Des études sur l'usage énergétique sont effectuées afin de caractériser les usages et leur impact énergétique.
  4. Des développements et tests de stratégies de contrôle commande sont effectués pour gérer de façon optimale l'énergie dans le bâtiment.

Utilisation de HAL:

Comme le montre la figure suivante et conformément au Web, tout est organisé en ressources structurées hiérarchiquement avec un nœud racine / et des nœuds enfants /classroom par exemple ou /classroom/plugs. A chaque nœud, peut-être associé différents connecteurs : – des capteurs, qui sont des publieurs de données. Ils les envoient sur HAL. Ces données peuvent être récupérées sur HAL via une requête httpGET ; – des contrôleurs qui permettent d’écrire ou d’envoyer des données sur HAL via une requête http GET généralement des actionneurs.

Se connecter à HAL:

  1. Depuis un PC personnel : Sans Fil, choisissez le réseau “HAL Server” il n'y a pas besoin d'un mot de passe ni de Proxy: propriétés de :internet –> connexion –> paramètres réseau –> Détecter automatiquement les paramètres de connexion
  2. Depuis un pc G2ELAB : via le réseau local de G2ELAB en utilisant un script de configuration automatique propriétés de :internet –> connexion –> paramètres réseau . Adresse du script “http://intranet.g2elab.grenoble-inp.fr/bus.pac
  3. depuis un PC école ENSE3: via le réseau local ENSE3 mais ici pas besoin de Proxy

Pour obtenir une information, on encode tout dans un URL :

http://halIPaddress:port/node/node/connector?do=performative&param1=value1&param2=value2

où performative peut par exemple être :

description : obtenir des informations sur le nœud référencé ; data : obtenir les dernières données disponibles pour l’ensemble des connecteurs associés au noeud désigné ou pour un connecteur. Les données sont retournées dans un format XML history : obtenir des données historiques pour l’ensemble des connecteurs associés au noeud désigné ou pour un connecteur. Par défaut, les données des 24 dernières heures sont remontées dans un format XML. Le paramètre during peut être ajouté pour spécifier la durée d’historiqueen minutes. control : envoyer une donnée à un controllerspécifier en paramètre. Les différents performatifs seront détaillés plus loin. Voici quelques exemples d’URL d’envoi de performatifs destinés à un serveur HAL ayantpour adresse IP 195.220.18.16 :

http://195.220.18.16/system/classroom?do=description

http://195.220.18.16/system/classroom/climateSensor01?do=data

http://195.220.18.16/system/classroom/climateSensor01/temperature?do=data

http://195.220.18.16/system/classroom/plugs/plug02/switch?do=control&ask={“switch”:“on”}

http://195.220.18.16/system/classroom/climateSensor02?do=history&during=60

1.1 Performatif “description”

Fournit la description d’un noeud/connector.

Par exemple : http://195.220.18.16/system?do=description conduit à :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
  <connectors>
          <status>ok</status>
          <name>system</name>
    <url>/system</url>
    <type>node</type>
    <nodes>
	    <node>/system/classroom</node>
	    <node>/system/offices</node>
	    <node>/system/outdoor</node>
	    <node>/system/technicalArea</node>
    </nodes>
  <connectors/>
  </message>

alors que http://195.220.18.16/system/classroom?do=description conduit à :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <name>classroom</name>
    <url>/system/classroom</url>
    <type>node</type>
    <nodes>
	    <node>/system/classroom/climateSensor01</node>
	    <node>/system/classroom/climateSensor02</node>
	    <node>/system/classroom/climateSensor03</node>
	    <node>/system/classroom/climateSensor04</node>
	    <node>/system/classroom/plugs</node>
    </nodes>
    <connectors>
	    <connector>/system/classroom/presenceSensor</connector>
	    <connector>/system/classroom/co2sensor</connector>
    </connectors>
  </message>

1.2 Performatif “data” Fournit les dernières données d’un connecteur. Par exemple : http://195.220.18.16/system/classroom/climateSensor01?do=data conduit à :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <node>
	    <name>climateSensor01</name>
	    <url>/system/classroom</url>
	    <connectors>
		    <connector>
		    <name>temperature</name>
		    <data>
			    <time>1374151408</time>
			    <index>1</index>
			    <value>24</value>
		    </data>
		    </connector>
		    <connector>
			    <name>humidity</name>
			    <data>
				    <time>1374151408</time>
				    <index>1</index>
				    <value>66</value>
			   </data>
		    </connector>
	    <connectors>
    </node>
  </message>

Les 2 connecteurs (temperature et humidity) sont associées au noeud /system/classroom/climateSensor01. Le temps est le temps EPOCH, c’est à direle nombre de secondes écoulées depuis le 1er janvier 1970. L’index correspond au numéro affecté par le compteur de données reçues (1, 2, 3…). Il est possible de n’obtenir que les données des connecteurs spécifiées : http://195.220.18.16/system/classroom/climateSensor01/temperature?do=data. conduit à :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <connector>
	    <name>temperature</name>
	    <url>/system/classroom/climateSensor02/temperature</url>
	    <data>
		    <time>1374153138</time>
		    <index>11</index>
		    <value>20</value>
	    </data>
    </connector>
  </message>

1.3 Performatif history Permet de collecter toutes les données des 24 dernières heures associées aux datasources d’une node/connecteur. par exemple, http://195.220.18.16/system/classroom/climateSensor01?do=history conduit à :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <node>
	    <name>climateSensor01</name>
	    <url>/system/classroom</url>
	    <connectors>
		    <connector>
			    <name>temperature</name>
			    <data>
				    <time>1374151408</time>
				    <index>1</index>
				    <value>24</value>
			    </data>
			    .....
			    <data>
				    <time>1374151408</time>
				    <index>11</index>
				    <value>25</value>
			    </data>
		    </connector>
		    <connector>
			    <name>humidity</name>
			    <data>
				    <time>1374151408</time>
				    <index>1</index>
				    <value>66</value>
			    </data>
			    .....
			    <data>
				    <time>1374151408</time>
				    <index>11</index>
				    <value>65</value>
			    </data>
		    </connector>
	    <connectors>
    </node>
  </message>

Il est possible de préciser la taille en heures de l’historique souhaité. Pour récupérer les données collectées durant la dernière heure. Il est bien sûrpossible de n’adresser que certains connecteur : http://195.220.18.16/system/classroom/climateSensor01/temperature?do=history&during=1&.Il vient :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <connector>
	    <name>temperature</name>
	    <url>/system/classroom/climateSensor02/temperature</url>
	    <data>
		    <time>1374153138</time>
		    <index>1</index>
		    <value>21</value>
	    </data>
	    <data>
		    <time>1374153138</time>
		    <index>2</index>
		    <value>22</value>
	    </data>
	    .....
	    <data>
		    <time>1374153138</time>
		    <index>111</index>
		    <value>20</value>
	    </data>
    </connector>
  </message>

1.4 Performatif control

Permet d’envoyer une commande associée à une connecteur. Un control peut être envoyé grâce à http://195.220.18.16/system/classroom/plugs/plug01/switch?do=control&ask={“switch”:“off”}. Le retour est :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <ControlRequest>
	    <Requester>MACBOOK-A6A128</Requester>
	    <Ask>
		    <control>switch</control>
		    <value>on</value>
	    </Ask>
    </ControlRequest>
  </message>

Les commandes doivent être encodées en json : “switch” :“off”. Si la commande n’est pas autorisée, Par exemple : http://195.220.18.16/system/classroom/plugs/plug01/switch?do=control&ask={“switch”:“stop”}, le retour est :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    Control sent by MACBOOK-A6A128 has not been sent because value ’stop’ corresponding to parameter ’switch’
  </message>

Aide au configurateur

HAL requiert Python 3. Sa configuration se fait via le fichier hal.cfg et le fichier hal_cfg_salle_predis.py au dossier src. La figuresuivante illustrel’architecture du code Python 3 (3.2) de HAL.

Serveur OPC

Le serveur OPC est accessible à partir de HAL via un service web (figure ??). Toutes les variables d’OPC sont attachées au noeud /system/opc. Pare ample, la requête suivante permet d’avoir la température extérieure stockée dans le serveur d’OPC : http://195.220.18.16/system/opc/INPG-PLC-IOX452A_1U8Value?do=data. Il vient :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-IO X452A_1 U8 Value</name>
	    <value>9</value>
    </variable>
  </message>

Liste des variables importantes OPC

1. SALLE_INFO_DEBIT_SOUFFLAGE

Description : Débit de soufflage de la salle information.

Mode : Lecture et écriture.

URL :http://195.220.18.16/system/opc/INPG-PLC-PRJ-PRG-Salle_Info-Outputs-debit_souf_filtre?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name> INPG-PLC-PRJ-PRG-Salle_Info-Outputs-debit_souf_filtre</name>
	    <value> 325,5498</value>
    </variable>
  </message>

2. ESPACE_BUREAU_DEBIT_SOUFFLAGE

Description : Débit de soufflage de l’espace bureau.

Mode : Lecture et écritur.

URL :http://195.220.18.16/system/opc/INPG-PLC-PRJ-PRG-Espace_Bureau-Outputs-debit_souf_filtre?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-PRJ-PRG-Espace_Bureau-Outputs-debit_souf_filtre</name>
	    <value> 77,354</value>
    </variable>
  </message>"

3. SALLE_INFO_TEMP_AMONT_BAT

Description :Sert à calculer la puissance de chauffage de la salle info.

Mode : Lecture.

URL : http://195.220.18.16/system/opc/INPG-PLC-$IO%20X422A_2%20U3%20Value?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-$IO X422A_2 U3 Value</name>
	    <value> 25,96</value>
    </variable>
  </message>
  

4. SALLE_INFO_TEMP_AVAL_BAT

Description : Sert à calculer la puissance de chauffage de la salle info.

Mode : Lecture.

URL : http://195.220.18.16/system/opc/INPG-PLC-$IO%20X422A_2%20U2%20Value?do=read

résultats :

   <?xml version="1.0" encoding="UTF-8"?>
   <message>
     <status>ok</status>
     <variable>
	     <name>INPG-PLC-$IO X422A_2 U2 Value</name>
	     <value> 23,31</value>
     </variable>
   </message>

5. ESPACE_BUREAU_TEMP_AMONT_BAT

Description : Sert à calculer la puissance de chauffage de l’espace bureau.

Mode : Lecture.

URL : http://195.220.18.16/system/opc/INPG-PLC-$IO%20X422A_3%20U3%20Value?do=read

résultats :

   <?xml version="1.0" encoding="UTF-8"?>
   <message>
     <status>ok</status>
     <variable>
	     <name>INPG-PLC-$IO X422A_3 U3 Value</name>
	     <value> 25,58</value>
     </variable>
   </message>

6. ESPACE_BUREAU_TEMP_AVAL_BAT

Description : Sert à calculer la puissance de chauffage de l’espace bureau.

Mode : Lecture.

URL : http://195.220.18.16/system/opc/INPG-PLC-$IO%20X422A_3%20U2%20Value?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-$IO X422A_3 U2 Value</name>
	    <value> 23,67</value>
    </variable>
  </message>

7. BUREAU_KWH_CAL

Description : Sert à calculer la puissance de chauffage de l’espace bureau.

Mode : Lecture.

URL : http://195.220.18.16/system/opc/INPG-PLC-PRJ-PRG-Espace_Bureau-Public_Signals-CPT_KWH_Bat_init?do=read

résultats :

  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-PRJ-PRG-Espace_Bureau-Public_Signals-CPT_KWH_Bat_init</name>
	    <value>255.0</value>
    </variable>
  </message>

8. ESPACE_BUREAU_TEMP_AMBIANTE

Description : Température ambiante de l’espace bureau.

Mode : Lecture.

URL : http://195.220.18.16/system/opc/INPG-PLC-$IO%20X422A_3%20U1%20Value?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-$IO X422A_3 U1 Value</name>
	    <value> 22,32</value>
    </variable>
  </message>

9. TEMPERATURE_CIRCUL_PLATTEFORME

Description :Température ambiante du couloir.

Mode : Lecture.

URL :http://195.220.18.16/system/opc/INPG-PLC-$IO%20X452A_5%20U4%20Value?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
  <status>ok</status>
    <variable>
	    <name>INPG-PLC-$IO X452A_5 U4 Value</name>
	    <value> 22</value>
    </variable>
  </message>

11– MODBUS-T_AIR_REPRIS

Description :Température ambiante de la salle EP (salle de recherche du rez-de-chaussez).

Mode : Lecture.

URL (bureauA) : http://195.220.18.16/system/opc/INPG-PLC-$IO%20X422A_4%20U2%20Value?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-$IO X422A_4 U2 Value</name>
	    <value>22,67</value>
    </message>

URL (bureau B) :http://195.220.18.16/system/opc/INPG-PLC-$IO%20X452A_1%20U3%20Value?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-$IO X452A_1 U3 Value</name>
	    <value>22,63</value>
    </variable>
  </message>

12. TEMP_EXTERIEURE

Description :Température extérieure.

Mode : Lecture.

URL : http://195.220.18.16/system/opc/INPG-PLC-$IO%20X452A_1%20U8%20Value?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-$IO X452A_1 U8 Value</name>
	    <value> 23,39</value>
    </variable>
  </message>

13. SALLE_INFO_TEMP_AMBIANTE

Description :Température de la salle de classe.

Mode : Lecture.

URL : http://195.220.18.16/system/opc/INPG-PLC-$IO%20X422A_2%20U1%20Value?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-$IO X422A_2 U1 Value</name>
	    <value> 22,78</value>
    </variable>
  </message>

14. VENT_SHED_T1

Description :Température 1 du shed (espace vide à côté des salles infos et espace bureau).

Mode : Lecture.

URL : http://195.220.18.16/system/opc/INPG-PLC-$IO%20X422A_1%20U1%20Value?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-$IO X422A_1 U1 Value</name>
	    <value> 34,05</value>
  </message>

15. VENT_SHED_T2

Description :Température 2 du shed (espace vide à côté des salles infos et espace bureau).

Mode : Lecture.

URL : http://195.220.18.16/system/opc/INPG-PLC-$IO%20X422A_1%20U2%20Value?do=read

résultats :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <variable>
	    <name>INPG-PLC-$IO X422A_1 U2 Value</name>
	    <value> 28,44</value>
    </variable>
  </message>

Les lampes Philips Hue

Les lampes Philips hue peuvent être contrôlées à partir de HAL. La connexion entre les lampes et le serveur HAL se fait en utilisant le protocole ZIGBEE en passant par un pont connecté en Ethernet avec le réseau HAL. Toutes les lampes Philips Hue sont attachées au noeud /system/offices/philipshue.

Par exemple, la requête suivante permet d’allumer la deuxième lampe :

http://195.220.18.16/system/offices/philipshue/hue2?do=control&ask={“on”:false}.Il vient :

  <?xml version="1.0" encoding="UTF-8"?>
  <message>
    <status>ok</status>
    <ControlRequest>
	    <Requester>MACBOOK-A6A128</Requester>
	    <Ask>
		    <control>on</control>
		    <value>false</value>
	    </Ask>
    </ControlRequest>
  </message>

Les paramètres du contrôle des lampes Philips Hue sont :

  1. “on” : true pour allumer la lampe ; false pour l’éteindre ;
  2. “sat” : intensité de la lampe ; ce paramètre varie entre 0 et 255 ;
  3. “bri” : luminosité de la lampe ; ce paramètre varie entre 0 et 255 ;
  4. “hue” : la couleur de la lampe ; ce paramètre varie entre 0 et 65535 ;

QR Code
QR Code accueil:cat0:page_1 (generated for current page)