Un éthylomètre pour s'authentifier sur le système : le montage

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
43
Mois de parution
août 2009
Spécialité(s)


Résumé

GNU/Linux, comme d'autres systèmes Unix, utilise le système PAM pour modulariser toutes les fonctions d'authentification. Ajouter une méthode pour s'assurer de la validité d'une action revient simplement à ajouter un module et l'utiliser pour un service spécifique. Pourquoi ne pas tester le taux d'alcoolémie de l'utilisateur ? Après tout, un utilisateur saoul est un véritable danger pour le système.Avant d'entrer dans le vif du sujet, précisons que ce montage a fait l'objet d'une présentation (RUMP) à SSTIC 2009 par votre serviteur et Sébastien Tricaud, créateur de Picviz entre autres choses. Les explications qui vont suivre seront, bien entendu, plus détaillées que les 4 malheureuses minutes de présentation éclair (qui dans les faits ont été plus proches des 15 minutes). Derrière l'aspect ludique du projet se cache la mise en œuvre d'une des fonctionnalités les plus utiles des microcontrôleurs : la conversion analogique vers numérique reposant sur l'utilisation d'un ADC (Analog-to-Digital Converter) ici intégré directement au microcontrôleur.


1. Choix des composants

Le composant de base choisi sera un Atmel AVR Atmega8 disposant de 8Ko de mémoire Flash, 1Ko de RAM, 512o d'EEPROM (non utilisée ici) et surtout d'un ADC 6 canaux intégré. De plus, l'Atmega8 dispose d'un USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) lui permettant de communiquer facilement via une liaison série asynchrone. De quoi le connecter à un PC avec un convertisseur USB/série. Notez au passage que les AVR intègrent très souvent une SPI (Serial Peripheral Interface) permettant une communication série synchrone, mais pas nécessairement d'USART. Il nous faut donc utiliser un AVR contenant ADC et USART, ce qui écarte de fait le très économique Attiny2313. Nous parlerons de la SPI dans d'autres articles de ce numéro (voir ///page///).

Certains microcontrôleurs, plus « petits »…

La suite est réservée aux abonnés. Il vous reste 96% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

Toujours plus loin dans LiteX : des histoires de nonos et de bar

Magazine
Marque
Hackable
Numéro
63
Mois de parution
novembre 2025
Spécialité(s)
Résumé

Dans le précédent article [1], nous avons affiné notre configuration pour supporter pleinement toute la richesse de ce que le langage C et la chaîne de compilation peuvent offrir en termes d'adressage mémoire, et sommes même allés jusqu'à utiliser ces mécanismes pour piloter une série de 64 LED adressables WS2812. Mais tout ceci se passe depuis « l'intérieur » du SoC lui-même et il est temps à présent d'accéder à cet espace depuis le monde extérieur.

Hack : utiliser les sous-titres comme source d'action durant une lecture audio

Magazine
Marque
GNU/Linux Magazine
Numéro
278
Mois de parution
novembre 2025
Spécialité(s)
Résumé

Il y a des matins comme ça... On se réveille avec une idée saugrenue, qui ne nous lâchera pas avant d'avoir un début de solution, qui, forcément, doit ensuite se transformer en implémentation. L'idée de ce jour était « tiens, ce serait amusant que la lecture d'un fichier audio puisse provoquer des actions en fonction de la présence de marqueurs spécifiques à des positions temporelles fixes » (je vous explique dans un instant ce que cela veut dire). Ceci soulève plein de questions : qu'est-ce qui existe comme solutions « standard » ? Peut-on ajouter des sous-titres à un format audio ? Comment récupérer ces métadonnées ensuite ? Faut-il vraiment écrire un player pour ça ? Explorons donc tout cela...

Créons un « pilote » bare metal pour une interface série

Magazine
Marque
Hackable
Numéro
63
Mois de parution
novembre 2025
Spécialité(s)
Résumé

Durant mes pérégrinations dans le petit monde du développement FPGA avec LiteX s'est posée une problématique intéressante, consistant à devoir écrire un support pour une interface série (UART) en n’ayant à disposition rien d'autre qu'une poignée de registres où lire ou écrire. Cet exercice, pour moi, était une phase préalable à l'implémentation d'un pilote pour un système d'exploitation, mais serait transposable à n'importe quel type d'interface reposant sur des mécanismes similaires, et ce, sur n'importe quel MCU ou SoC, actuel ou ancien. Faisons donc connaissance avec l'UART LiteX, voulez-vous ?

Entretien avec Gwenhaël Goavec-Merou, créateur d'OpenFPGAloader

Magazine
Marque
Hackable
Numéro
63
Mois de parution
novembre 2025
Spécialité(s)
Résumé

Si vous êtes lecteur régulier du magazine, OpenFPGAloader est un nom qui ne vous est certainement pas étranger. Il s'agit en effet d'un outil incontournable dès lors qu'on souhaite se pencher sur le monde des circuits logiques programmables. Son rôle est de permettre la configuration du FPGA, ainsi que l'enregistrement en flash de cette configuration (bitstream), par l'intermédiaire d’une sonde JTAG. OpenFPGAloader vient tout juste d'arriver en version 1.0.0, qui est une étape importante de tout projet en logiciel libre. À cette occasion, son créateur et mainteneur a accepté de répondre à quelques-unes de nos questions...

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture