KNXnet/IP et passerelle Multi protocoles.,
L’interopérabilité est un sujet omniprésent dans le domaine de la Domotique. En effet, il existe de nombreux protocoles spécialement conçus pour ce domaine cependant ils n’ont pas la même finalité. Certains sont filaires ou sans-fils, pour l’intérieur ou l’extérieur, fait pour de petits ou grands espaces. C'est pourquoi il est souvent intéressant d’utiliser différents protocoles dans le même projet. Pour cela, ces protocoles doivent apprendre à communiquer ensemble, c’est l’interopérabilité. Ce but est atteint grâce à des passerelles qui traduisent un protocole en un autre.

BAB TECHNOLOGIE GmbH, l’entreprise dans laquelle j’ai effectué ce stage, se situe à Dortmund en Allemagne. C’est un concepteur de passerelles dans le domaine de la Domotique. Son objectif est de concevoir des passerelles innovantes. Son principal produit s’appelle EibPort. C’est une passerelle innovante pour les protocoles KNX Twisted Pair, KNXnet/IP et EnOcean. Elle contient une interface de visualisation intégrée. Mon stage est lié à un nouveau projet de cette entreprise. Concevoir une passerelle multi protocoles, innovante et évolutive. Cette passerelle doit être capable de communiquer avec des protocoles tels que KNX Twisted-Pair, KNX/IP, BACnet, EnOcean, Modbus...

Deux éléments m’ont été fournis pour ce projet. Une carte électronique où le programme de la passerelle doit être implémenté. Cette carte contient un processeur PowerPC de Freescale Semiconductor et le bootloader Uboot y est installé. De plus, un driver KNX-TP (Twisted Pair) pour communiquer avec le protocole KNX-TP.

L’objectif est d’aller aussi loin que possible dans l’implémentation de la passerelle. Installer un environnement logiciel, proposer une architecture logicielle innovante et évolutive et commencer à implémenter la passerelle elle-même. Le programme doit être bien structuré et
documenté.

Un noyau Linux et une distribution Debian ont été installés sur la carte. L’image du noyau a été générée par LTIB, un logiciel fourni par Freescale. La distribution Debian a été générée avec Multistrap.

L’architecture du programme est basée sur le modèle de donnée du protocole BACnet. Ce modèle de donnée est fait d’Objets représentant tous les besoins de la Domotique. Ces Objets contiennent des Propriétés. Ces Propriétés sont accessibles grâce à des Services. Le postulat est que tous les protocoles conçus pour le domaine de la Domotique peuvent être représentés en Objets et Propriétés BACnet. Les protocoles sont convertis en modèle de donnée BACnet grâce à des Mappeurs. Finalement, tous les appareils fonctionnant avec différents protocoles sont représentés en appareils BACnet afin d’atteindre cette interopérabilité.

L’implémentation du programme de la passerelle commence avec la programmation d’un Serveur KNXnet/IP. KNXnet/IP est un protocole standard permettant de communiquer avec des appareils KNX via IP (Internet Protocol). Ce protocole contient différents services permettant de communiquer avec des Clients KNXnet/IP. Les services Core, Tunneling et Routing ont été implémentés. Ils ont été testés avec ETS. C’est le logiciel officiel de l’Association KNX permettant de développer et de tester des installations KNX. Le programme a été structuré selon la spécification KNX et documenté avec un outil puissant appelé Doxygen.

La prochaine étape de l’implémentation de cette passerelle est de programmer un Mappeur pour convertir les données KNX en modèle de donnée BACnet et commencer à implémenter l’architecture logicielle globale.



Compétences mobilisées
système embarqué:
Générer une image d'une noyau Linux
Générer une distribution Debian
Ecrire un fichier DTS (Device Tree Compiler)
Charger et configurer le tout avec le bootloader Uboot
Charger à partir d'un server NFS
Charger à partir d'une mémoire NAND flash

Programmation:
langage C++
Cmake (Cross Platform Make)
GDB (GNU Project Debugger)
Cross Compiling
Doxygen

Domotique:
Conception d'une architecture de passerelle multi protocoles
KNXnet/IP (implementation du protocol entier)
KNX Twisted Pair
BACnet
Modbus
EnOcean

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /data/htdocs/hebergementweb/sites/posters.univ-rennes1.fr/resumem.php:81) in /data/htdocs/hebergementweb/sites/posters.univ-rennes1.fr/resumem.php on line 124

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /data/htdocs/hebergementweb/sites/posters.univ-rennes1.fr/resumem.php:81) in /data/htdocs/hebergementweb/sites/posters.univ-rennes1.fr/resumem.php on line 124

-:lien vers le poster ,