Ajout du protocole OPCUA à la plateforme de référence IIoT Caméléon
[Offre d’emploi pourvue]
Sujet de post-doctorat proposé par la SNCF et Télécom Paris
La SNCF déploie actuellement des systèmes IoT (Industrial IoT) dans de nombreuses applications concernant l’infrastructure ferroviaire (e.g. surveillance de la température des rails), les gares (e.g. surveillance des escalators) et le matériel roulant (e.g. surveillance des portes). Dans ce cadre, le module Caméléon, voir Figure 1, initié par le département Innovation & Recherche de la SNCF, est un kit simplifiant la création de projets innovants dans le domaine des réseaux sans fils et de l’IIoT en particulier. Techniquement, c’est une passerelle multi-réseaux sans fil autonome qui permet d’avoir une base de travail déjà prête et permettant de simplifier le développement et l’ajout d’éléments métier. La force du module Caméléon est l’intégration de différents réseaux sans fil adaptés à l’IIoT et visant une consommation électrique la plus basse possible : le réseau cellulaire 4G LTE-M, le réseau longue distance basse consommation Lora, le réseau Bluetooth compatible avec les smartphone et enfin le réseau de proximité Mesh Thread. Le module Caméléon dispose d’un SDK (i.e. Software Development Kit) et d’une documentation spécialisée dans la réalisation rapide de POC (i.e. Proof of Concept).
Figure 1 ─ Schéma du module Caméléon
OPC UA, Open Platform Communication Unified Architecture, est une technologie open source définie par 14 livrets de spécifications de la Fondation OPC (environ 1250 pages) disponibles sur http://www.opcfoundation.org. C’est le successeur d’OPC qui était une technologie propriétaire. Depuis 2011, il s’agit d’une norme CEI connue sous le nom de CEI 62 541. La norme OPC UA est principalement dédiée à l’automatisation industrielle permettant l’interopérabilité des données et des services depuis les étages des capteurs et actionneurs jusqu’au Cloud d’entreprise. Sa spécification décrit un middleware pour le transfert de données sécurisé en mode client-serveur et en mode PubSub (mode IoT), un modèle d’information pour structurer les données, différents services pour accéder et traiter les données en toute sécurité et bien d’autres des technologies telles que la redondance, la machine à états finis, la gestion des données historiques, etc. Il peut utiliser divers protocoles de transfert de données tels que TCP / IP ou HTTPS en mode client-serveur ainsi que UDP, AMQP et MQTT en mode PubSub. OPC UA peut être implémenté dans presque tous les systèmes d’exploitation et dans beaucoup de langages. Cependant, OPC UA définit de nombreuses fonctionnalités et tout le matériel n’est pas en mesure de tout implémenter. C’est pourquoi OPC UA a divisé ses fonctionnalités en groupes et a défini des profils de serveur et de client. Le profil de serveur le plus faible est appelé Nano Embedded Device Server et l’on dit qu’il peut être implémenté avec moins de 200 Ko d’espace mémoire (programme + données).
L’objectif de ce postdoc d’un an est d’étudier la faisabilité et de réaliser le portage d’OPC UA sur le module Caméléon dans les cas où ce sera possible. Ce portage pourra faire appel à des logiciels OPC UA existants pourvu qu’ils implémentent PubSub. On devra imaginer une architecture sécurisée OPC UA avec des serveurs dans les capteurs et actionneurs et des clients dans le Cloud.
En cas de non faisabilité du portage, on pourra néanmoins réaliser une passerelle OPC UA vers le réseau en question. Ce qui permettra à des clients OPC UA dans le Cloud d’avoir accès aux capteurs et aux actionneurs du réseau.
Le lieu de travail est Télécom Paris (https://www.telecom-paris.fr), département Informatique et réseaux, groupe CCN (Cybersecurity for Communication and Networking) sur la Plateau de Saclay à 25 km de Paris, voir le plan d’accès sur le site de l’école.
Il est prévu, mais ce n’est pas encore définitif, que le travail commence en septembre 2020.
Connaissances demandées :
Systèmes embarqués (programmation, compilation croisée, etc.).
Protocoles de communication, en particulier ceux utilisés dans l’IoT cités plus haut.
Maîtriser la compilation et la programmation en C ou en C++ sous Linux et ses dérivés.
Points de contact :
Patrick Bellot, bellot@telecom-paris.fr