Open Silicium N°
Numéro
15

Initiez-vous au réseau temps réel avec Xenomai et RTNET

Temporalité
Juillet/Août/Septembre 2015
Image v3
Initiez-vous au réseau temps réel avec Xenomai et RTNET
Article mis en avant

Résumé

Cet article a pour but de montrer la mise en œuvre de Xenomai, solution de Temps Réel Dur sous Linux sur une carte cible ARM9 AT91. La mise en œuvre est décrite de façon détaillée montrant quels outils utiliser pour mesurer des temps de latence afin de savoir de façon précise si la carte cible peut remplir les conditions Temps Réel Dur imposées par un éventuel système à piloter par cette carte. La démarche mise en œuvre peut s’appliquer à toute autre carte cible ARM et de façon plus globale à toute carte cible exécutant Xenomai.

Dans ce numéro...


Merci pour le poisson ! Ceci ne vous a sans doute pas échappé, ce numéro d'Open Silicium arrive avec un peu de retard dans votre boite à lettres ou chez votre marchand de journaux. Ce délai plus important, ayant été nécessaire pour sa composition, découle d'un nombre important de facteurs et je tiens avant tout à m'en excuser.
Les plates-formes d'exécution industrielles sont souvent très chères et opaques, tant pour le matériel que pour le système d'exploitation. De ce fait, une vraie alternative s'ouvre au chercheur motivé : celle de créer une plate-forme d'expérimentation et d'enseignement complètement ouverte et abordable. Le prix à payer est un certain investissement en temps et des sensations fortes.
Le développement d'applications embarquées devient de plus en plus populaire et accessible. La conjonction de deux facteurs principaux semble expliquer cela : l'arrivée de plateformes de développement à bas coût comme l'Arduino ou autre BeagleBone et Raspberry Pi et l'utilisation massive de logiciels libres sur ces matériels. Nous vous proposons la (re-)découverte d'un logiciel libre destiné aux cibles enfouies qui vous permettra d'accélérer vos développements : Lepton.
Nous avons déjà évoqué les extensions temps-réel du noyau Linux dans les colonnes d'Open Silicium et en particulier Xenomai [1]. Dans cet article, nous allons découvrir comment mettre en place le composant RTnet [2] qui permet de disposer d'une API réseau déterministe. Dans un deuxième temps, nous verrons une application de RTnet avec l'implémentation de la pile réseau déterministe openPOWERLINK [3]. Les tests seront réalisés sur la carte BeagleBone Black [4] ainsi que sur une Armadeus APF6 [12].
Le positionnement par traitement de signaux émis par satellites - GNSS ou Global Navigation Satellite Service - est devenu tellement courant que nous ne pensons plus aux contraintes techniques de cette fascinante technologie. Basés sur une constellation de satellites embarquant chacun plusieurs horloges atomiques, les signaux datés précisément permettent par triangulation de positionner le récepteur. Une connaissance précise du protocole de communication permet d’envisager des applications bien plus intéressantes que le simple positionnement : nous allons ici nous efforcer, après avoir acquis les signaux radiofréquences au moyen d’un récepteur initialement conçu pour recevoir la télévision numérique terrestre (DVB-T), de remonter à l’information brute transmise par les satellites. Nous verrons que plusieurs boucles d’asservissement sont nécessaires pour retrouver la fréquence de la porteuse et les messages de navigation, et nous aborderons les subtilités de l’extraction du signal d’un satellite en particulier alors que tous les membres de la constellation émettent sur la même fréquence de porteuse (1575,42 MHz). L’obtention des bits du message de navigation démontre la validité de notre approche.
En utilisant Linux, FreeBSD ou les outils Gnu, nous évoluons dans un écosystème peuplé d'une myriade de logiciels libres. Leur cohabitation n'est pourtant pas toujours évidente et l'intégration de code propriétaire, par exemple pour des projets industriels, est possible, mais demande certaines précautions d'usage.
Les périphériques USB sont de plus en plus présents dans le monde industriel où ils ont supplanté les interfaces RS-232 et autres GPIB (IEEE-488). On peut expliquer cela par le côté universel du protocole et donc le faible coût du contrôleur. Dans cet article, nous allons décrire les méthodes de pilotage d'un périphérique USB sous Linux en nous focalisant sur la catégorie (ou classe) HID (Human Interface Device) très largement répandue en particulier dans les instruments de mesure.
Dans le cadre d'un projet modulable, je réalise certains plugins. Certains de ces plugins utilisent des périphériques série et il n'est pas toujours pratique de travailler directement avec le périphérique : l'incapacité de rejouer systématiquement certains jeux de données, la non-possession du matériel, etc. Afin de répondre à cette problématique, j'ai créé une librairie python qui permet de simuler un périphérique série.

Magazines précédents

Les derniers articles Premiums

Les derniers articles Premium

Sécurisez vos applications web : comment Symfony vous protège des menaces courantes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les frameworks tels que Symfony ont bouleversé le développement web en apportant une structure solide et des outils performants. Malgré ces qualités, nous pouvons découvrir d’innombrables vulnérabilités. Cet article met le doigt sur les failles de sécurité les plus fréquentes qui affectent même les environnements les plus robustes. De l’injection de requêtes à distance à l’exécution de scripts malveillants, découvrez comment ces failles peuvent mettre en péril vos applications et, surtout, comment vous en prémunir.

Bash des temps modernes

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Les scripts Shell, et Bash spécifiquement, demeurent un standard, de facto, de notre industrie. Ils forment un composant primordial de toute distribution Linux, mais c’est aussi un outil de prédilection pour implémenter de nombreuses tâches d’automatisation, en particulier dans le « Cloud », par eux-mêmes ou conjointement à des solutions telles que Ansible. Pour toutes ces raisons et bien d’autres encore, savoir les concevoir de manière robuste et idempotente est crucial.

Présentation de Kafka Connect

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Un cluster Apache Kafka est déjà, à lui seul, une puissante infrastructure pour faire de l’event streaming… Et si nous pouvions, d’un coup de baguette magique, lui permettre de consommer des informations issues de systèmes de données plus traditionnels, tels que les bases de données ? C’est là qu’intervient Kafka Connect, un autre composant de l’écosystème du projet.

Le combo gagnant de la virtualisation : QEMU et KVM

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

C’est un fait : la virtualisation est partout ! Que ce soit pour la flexibilité des systèmes ou bien leur sécurité, l’adoption de la virtualisation augmente dans toutes les organisations depuis des années. Dans cet article, nous allons nous focaliser sur deux technologies : QEMU et KVM. En combinant les deux, il est possible de créer des environnements de virtualisation très robustes.

Body