KNXnet/IP et passerelle Multi protocoles.,
Linteropé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 nont pas la même finalité. Certains sont filaires ou sans-fils, pour lintérieur ou lextérieur, fait pour de petits ou grands espaces. C'est pourquoi il est souvent intéressant dutiliser différents protocoles dans le même projet. Pour cela, ces protocoles doivent apprendre à communiquer ensemble, cest linteropérabilité. Ce but est atteint grâce à des passerelles qui traduisent un protocole en un autre.
BAB TECHNOLOGIE GmbH, lentreprise dans laquelle jai effectué ce stage, se situe à Dortmund en Allemagne. Cest un concepteur de passerelles dans le domaine de la Domotique. Son objectif est de concevoir des passerelles innovantes. Son principal produit sappelle EibPort. Cest 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 mont é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.
Lobjectif est daller aussi loin que possible dans limplé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. Limage 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.
Larchitecture du programme est basée sur le modèle de donnée du protocole BACnet. Ce modèle de donnée est fait dObjets 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 datteindre cette interopérabilité.
Limplémentation du programme de la passerelle commence avec la programmation dun 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. Cest le logiciel officiel de lAssociation 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 limplé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 larchitecture 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 ,