1
Partie 1 : introduction à NI Linux Real-Time Jérôme Henrion Ingénieur d application National Instruments France
Matériel supporté par NI Linux Real-Time En 2013... En 2014... 5
Dans les 24 heures qui ont suivi la réception du contrôleur crio-9068, nous exécutions notre logiciel d'application LabVIEW existant sans le moindre problèmes. Bob Leigh, PDG de LocalGrid Surveillance du réseau électrique LocalGrid 6
NI Linux Real-Time Profitez de la souplesse de Linux, avec le déterminisme et la fiabilité d'un système d'exploitation temps réel Interface utilisateur de bureau, périphériques, administration de systèmes, ordonnanceurs temps réel Tirez parti du vaste écosystème d'outils et d'ip Mise en réseau, gestion de configuration, simulation, surveillance, etc. Réutilisez du code C/C++ dans et avec des applications construites sous LabVIEW Real-Time API C de l'interface FPGA, API C de la configuration de système 7
NI Linux Real-Time Distribution conçue par NI, maintenue par NI Conçue sur mesure et optimisée pour les matériels embarqués NI o Supporte les processeurs ARM et IA64, compilation croisée fournie Nouveauté : NI Package Repository: download./ni-linux-rt/ o Plus de 3 000 ensembles Nouveauté : source OS : github.com/ni PREEMPT_RT Fiabilité temps réel grâce à la préemption, l'héritage de priorités et l'ordonnancement Approche standard aux performances temps réel sur Linux 8
NI Linux Real-Time Quels avantages? Aspect pratique d'un OS d'usage général Interface utilisateur de bureau, gestionnaire de fichiers, émulateur de terminaux, éditeur de texte Permissions, isolation des applications, mémoire virtuelle, redémarrage inutile pour les modifications du fuseau horaire et de la configuration d'ip Accès aux interpréteurs les plus utilisés Python, Perl, etc. Utilitaires Linux courants top, ps, netstat, etc. 9
Système de fichiers et connectivité
Systèmes de fichiers sur NI Linux Real-Time Systèmes de fichiers fiables UBIFS sur ARM ext4 sur IA64 Modifications des chemins de fichiers Style UNIX, sensibles à la casse Les emplacements des fichiers système ont changé Liens symboliques pour la rétrocompatibilité de base Exemple: /u/ est le point de montage USB 11
Transfert de fichiers : WebDAV Protocole standard Gère à distance des fichiers sur des cibles via HTTP Sécurise l'accès aux fichiers Authentification et cryptage Supporté par tous les OS et navigateurs web modernes API LabVIEW pour un accès par programmation Nouveauté : navigateur de fichiers WebDAV 12
Transfert de fichiers : FTP non sécurisé Aucun serveur FTP non sécurisé n'est installé par défaut sur les systèmes NI Linux Real-Time Un FTP non sécurisé peut être installé manuellement pour des raisons de compatibilité Accès possible en tant qu'utilisateur "anonyme" Privilèges de super-utilisateur similaires au crio actuel 13
Secure Shell (SSH) Activation via MAX et/ou via une interface Web Peut être utilisé en tant que console Peut être utilisé pour transférer des fichiers Permissions reposant sur une ouverture de session SFTP Informations d'identification synchronisées avec NI-Auth (interface Web) 14
NI-Auth et intégration de NI Linux Real-Time Toute authentification d'un utilisateur passe par NI-Auth Utilise l'interface Web pour gérer les utilisateurs Intégration PAM Les utilisateurs de NI-Auth sont des utilisateurs de Linux L'utilisateur admin est le super-utilisateur Si le mot de passe administrateur est perdu, la cible doit être réinitialisée aux paramètres d'usine par défaut Contacter NI 15
Démo Connectivité sur NI Linux Real-Time 16
Sécurité sur NI Linux Real-Time SSL activé par défaut Installation de logiciels par programmation via SSL Utilisation de clés publiques pour SSH Communication HTTPS uniquement Désactivation de la version HTTP du NI System Web Server possible IPTables* disponible pour installer un pare-feu OpenVPN* disponible pour installer un VPN SELinux* *Non supporté par le Support Technique. Nécessite une certaine expérience. Pas d'api LabVIEW dédié 17
Mises à jour de systèmes sur NI Linux Real-Time Appelle localement Set Image Permet aux cibles elles-mêmes de restaurer une image enregistrée Les images peuvent être extraites du réseau ou stockées sur un disque USB Get/Set Image Blacklist Globbing: * and? Character set matches: [abc] Pre and Post Image Scripts SCRIPT_PRE=/etc/natinst/share/nisystemimage_pre SCRIPT_POST=/etc/natinst/share/nisystemimage_post *Implémentation sujette à modification 18
Gestion des fichiers "bitfiles" FPGA Met à jour et efface les fichiers bitfiles FPGA sur les cibles NI Linux Real-Time par programmation, à partir de MAX, et du Web 19
Connexion simplifiée aux cibles temps réel Connexion par USB Les nouvelles cibles NI Linux Real-Time utilisent l'ethernet over USB pour la connexion à l'ordinateur hôte Découverte d'ip simple Un réseau DHCP automatique est créé indépendamment des connexions Ethernet physiques 20
Souplesse de développement et écosystème
Interaction avec le code sur NI Linux Real-Time Depuis/vers LabVIEW 1. Nœud Appeler une fonction d'une DLL 2. VI Commande système 3. Communication TCP localhost Au-delà de LabVIEW 1. Initialiser les scripts pour l'initialisation au démarrage 2. Cron pour une exécution périodique 3. Programmes SSH sur réseau 22
Intégration logicielle flexible Processeur temps réel FPGA E/S modulaires Réutilisation du code Développer, déboguer et déployer du code C/C++ Intégration d'applications et d'ip existantes Interaction avec les FPGA programmés par LabVIEW 23 Matériels programmables Décharge la prise de décision critique sur le FPGA Cadencement précis et fiable Accès à la technologie FPGA sans expertise du HDL
Accès à l'écosystème : Linux Package Manager Qu'est-ce qu'un gestionnaire «Package Manager»? Un ensemble d'outils logiciels pour l'installation, la mise à jour, la configuration et la suppression des utilitaires et des bibliothèques Concept similaire à l'app Store, au VI Package Manager, etc. NI Linux Real-Time s'appuie sur l'opkg package manager Remarque : opkg ne remplace pas MAX Accès à des milliers d'utilitaires et de bibliothèques disponibles gratuitement 26
Démo DÉMOOPKG 27
Tirer parti de la communauté Linux Bases de données Sécurité Réutilisation du code Connectivité SQLite IPTables C/C++ NTP MySQL OpenSSL Scripts de shell SNMP PostgreSQL OpenVPN Python IPv6 Nouveauté : dépôt d'ensembles de ressources NI Package Repository : download./ni-linux-rt/ Nouveauté : source OS : github.com/ni Nouveauté : support du driver du noyau Caractéristiques avancées ; évite de reconstruire les modules/drivers du noyau à chaque mise à jour 28
En tirant parti du système d'exploitation temps réel Linux ouvert sur un contrôleur "sur étagère", nous avons pu porter nos composantes logicielles Linux existantes en un laps de temps très court. Cela nous a permis d'économiser quatre mois de temps de développement. - Wolfram Koerver, executive director of S.E.A. Surveillance de structures 29 S.E.A
Politiques de support Support du mode utilisateur limité Équivalent à du code C tiers avec les fonctions d appel de DLL Aucun support pour les modifications de modes de noyaux Source NI Linux Real-Time disponible sur github.com/ni Soyez libre d'innover et d'explorer Réinitialisation à l'état de sortie d'usine sans passer par une demande de RMA 30
Principales ressources /linuxrtforum Tutoriaux Documentation Forum de discussions /linux Liens vers des white papers Applications embarquées et de bureau download./ni-linux-rt/ Package Repository github.com/ni Source OS 31
Des questions?
Obtenez votre Certification Embedded! National Instruments propose désormais l'examen de certification "Certified LabVIEW Embedded Developer Exam" Pour en savoir plus : /cled Envoyez un email à certification@ pour planifier votre examen 33
Restez connectés pendant et après NIDays /communaute-francophone facebook.com/nifrance twitter.com/nifrance youtube.com/nifrance 34