netPI RTE 3 – La passerelle idéale pour l’interconnexion de vos réseaux PROFINET avec le cloud.
Le fabricant allemand a conçu une déclinaison industrielle du Raspberry Pi 3, la gamme netPI, aujourd’hui constituée de deux produits, le netPI CORE 3 et le netPI RTE 3.
Ces deux produits partagent donc la même ascendance Raspberry Pi, la version netPI RTE 3 intégrant une connectivité Ethernet Temps Réel additionnelle, dont PROFINET, grâce à la présence d’un contrôleur de réseaux Hilscher embarqué, le netX51. Celui-ci est connecté via une liaison SPI haute vitesse à la CPU du Raspberry Pi.
netPi est une passerelle conçue pour connecter les technologies de l’information (IT) avec l’opérationnel (OT) et gérer localement des données en provenance des chaines de fabrication automatisées pour les trier, les agréger et les mettre en forme.
Concernant la partie acquisition de données, la version netPI RTE 3 permet aux automaticiens de gérer de nombreux interfaces et protocoles de communication (LAN, WiFi, RS 232/422/485, CAN, PROFINET, EtherNet/IP, EtherCAT, Modbus TCP,…).
Pour le traitement de ces mêmes données, il est possible d’utiliser Node-RED ainsi que tous les langages disponibles dans Linux (C, Python, Java…) sans oublier les standards de l’automatisme comme Codesys, Straton ou encore « Ada for Automation ».
L’éclectisme est de mise à tous les étages et la liberté offerte par cette plateforme la rend propice à toutes les expérimentations et réalisations industrielles.
Ce même matériel est mis en œuvre dans le netIOT Edge Connect avec une distribution logicielle différente qui se veut plus simple d’utilisation avec Node-RED intégré de base.
De surcroit, la technologie Docker est intégrée dans tous les produits de la gamme netPI et netIOT Edge, avec un exemple « Ada for Automation ».
En résumé, netPI RTE 3 est un Raspberry PI 3 en version industrielle qui intègre un noyau Linux sécurisé et qui supporte la technologie Docker permettant d’embarquer des applications clients.
A propos de Docker
Docker permet d’intégrer toutes sortes d’applications pour traiter les données acquises depuis le terrain ou le process avant de fournir celles-ci ‘’digérées’’ aux applications hébergées dans le fameux nuage d’où doit pleuvoir la manne.
C’est aussi valable pour le netPI comme pour le Raspberry Pi sur lequel il est tout à fait possible d’installer Docker. Il est bien sûr indispensable de se familiariser avec Docker puis de consulter la documentation pour comprendre les concepts.
Avec Docker, une application est empaquetée avec l’environnement nécessaire à son exécution dans une image que l’on va pouvoir instancier en conteneur(s) et que Docker va exécuter. En termes de concepts logiciels, il s’agit d’une approche composant où l’on isole chaque application et son environnement.
Pour sa plateforme netPI, Hilscher offre nombre d’images prêtes à l’emploi sur le Hub communautaire où figurent également la plupart des projets open source. Ces images sont construites à partir de recettes, les docker files, et tous les fichiers pour les images fournies sont disponibles sur GitHub.
Le couple InflluxDB / Grafana est également souvent cité pour réaliser des projets IoT avec le Raspberry Pi 3. InfluxDB permet de stocker des données horodatées dans une base de données que Grafana va interroger pour les afficher sous forme de diagrammes, de graphiques, ou sous forme tabulaire.
Ce sont des projets « open source » et il est possible de les installer sur toutes sortes de machines dont le netPI RTE 3 qui est basé sur le Raspberry Pi 3.
De surcroit, il se trouve qu’il y a un nœud Node-RED qui permet d’insérer depuis un ‘’flow’’ des données dans une base InfluxDB, ce qui rend l’opération triviale.
Les exemples de code en C
On trouve sur le Hub communautaire une image contenant des exemples d’utilisation du contrôleur de réseaux netX 51 pour les protocoles PROFINET, EtherNet/IP, EtherCAT, POWERLINK et Modbus/TCP.
Il faut noter que le netX 51 est conçu spécifiquement pour gérer des piles de protocoles industriels, en tant qu’esclave. Le cas particulier est celui de Modbus TCP puisqu’il peut être dans ce cas client et / ou serveur.
Les sources du Dockerfile sont disponible sur GitHub ici.
Cette image fournit, outre les exemples de code en C, les firmwares qui implémentent les piles de protocoles pour le netX 51 ainsi que le pilote pour Linux qui fournit l’interface applicative cifX.
Portainer
Avec le Raspberry Pi, l’utilisateur a accès au système Linux qui fait tourner Docker et il peut donc interagir avec ce dernier en ligne de commande.
Sur les cibles netPI, le système Linux de base est sécurisé et par conséquent il n’est pas possible d’y accéder.
Toutefois, ces cibles qui disposent toutes de Docker intègrent également une interface web qui permet l’interaction avec Docker, celle-ci a été baptisée Portainer.
Portainer permet entre autres de créer et de gérer des images et conteneurs.
Pour de plus amples informations sur les netPI/netIOT Edge, le netX 51 et la technologie Docker :
https://www.netiot.com/fileadmin/user_upload/netIOT/netMAKER/netPI/documents/netPI_Datasheet_10-2018_GB.PDF
https://www.netiot.com/netpi/industrial-raspberry-pi-3/
https://www.netiot.com/fileadmin/cms_upload/en-US/Resources/pdf/netIOT_Brochure_11-2017_EN.pdf