Les articles de Open Silicium N°2

Article mis en avant

Le microcontrôleur : un ordinateur sur une puce

Comme nous l'avons dit précédemment, Arduino est une plateforme idéale pour s'initier au développement sur microcontrôleur. Cet article a pour but de vous faire débuter avec le matériel et l'IDE Arduino, mais aussi et surtout de vous montrer qu'il ne s'agit pas d'un ensemble statique et immuable. Plus qu'une plateforme de découverte, un module Arduino peut s'adapter à votre expérience et est capable de vous apporter bien plus qu'un simple kit électronique.

Poursuivons ! Vous avez été nombreux à nous faire part de vos commentaires, encouragements et critiques concernant le premier numéro.
Dans le précédent numéro, nous avions fait un tour d'horizon et pris en main la carte FriendlyARM mini2440. Certaines étapes, comme la mise à jour du bootloader, pouvaient s'avérer délicates. Certains lecteurs nous ont demandés ce qu'il était possible de faire en cas de plantage du ou des bootloader(s) pour reprendre le contrôle de la plateforme. La réponse tient en quatre lettres : JTAG.
Bien avant les cartes à puce existaient les cartes bancaires à piste magnétique. Bien moins coûteuses à produire, elles permettaient déjà le retrait de numéraire en guichet automatique et le paiement. L'arrivée de la puce changea la donne, mais la piste magnétique est toujours largement utilisée en France et, plus encore, dans le reste du monde. Qu'est-ce exactement qu'une carte magnétique et comment lire et écrire sur ce support ? C'est ce que je vous propose de découvrir maintenant.
Pour mettre en œuvre de nouveaux composants, la démarche courante est, dans un premier temps, l'expérimentation avec platine d'essai, interface complexe, microcontrôleur dédié, etc. Ce n'est qu'ensuite qu'on se lance dans la mise en œuvre du projet final avec les bases acquises lors de la première phase. Le Bus Pirate est un matériel open source qui va grandement vous faciliter cette première étape.
Lorsqu'il s'agit de faire communiquer un montage quel qu'il soit à une distance raisonnable, plusieurs options wireless sont envisageables. Zigbee, Wi-Fi, propriétaire et j'en passe… Si l'on veut faire simple et ne pas avoir à réinventer la roue, la connexion du module wireless doit être simple et l'implémentation côté hôte (PC, Mac ou smartphone) se limiter à l'applicatif. Dans le cadre de cet article, nous allons nous intéresser à une solution basée sur un module bluetooth SPP ou, en d'autres termes, un convertisseur bluetooth/série.
Le marché des tablettes internet ou MID pour Mobile Internet Devices est en plein boom. On en voit apparaître de toutes sortes, de tous fabricants et à tous prix. Nous avons essayé, il y a peu, le bas de gamme avec la tablette chinoise ePad et avons ensuite décidé de nous pencher sur quelque chose de plus qualitatif. Notre choix s'est alors porté vers la génération 8 des tablettes Archos et en particulier sur l'ARCHOS 70.
Dans le numéro précédent, nous avons évoqué des méthodes de mise au point à distance pour un système embarqué en utilisant le débogueur GDB couplé à un agent distant comme gdbserver ou l’option KGDB du noyau. Les problèmes graves de fonctionnement (crash du noyau ou d’une application) nécessitent en effet l’utilisation d’un débogueur. Cependant, il est souvent nécessaire d’obtenir des informations sur le comportement du système en fonctionnement, ce qui correspond alors à de l'instrumentation. Ainsi, il est possible de prévenir les problèmes en amont ou bien d’assister le concepteur dans le choix de solutions plus optimisées.
Arduino est un projet d'open hardware destiné à démocratiser le développement sur microcontrôleurs. Il existe plusieurs kits Arduino, mais tous se basent sur des composants AVR d'Atmel. L'un des objectifs principaux du projet est de faciliter l'accès aux débutants et fournir une plateforme complète, matérielle et logicielle, multiplateforme.
Comme nous l'avons dit précédemment, Arduino est une plateforme idéale pour s'initier au développement sur microcontrôleur. Cet article a pour but de vous faire débuter avec le matériel et l'IDE Arduino, mais aussi et surtout de vous montrer qu'il ne s'agit pas d'un ensemble statique et immuable. Plus qu'une plateforme de découverte, un module Arduino peut s'adapter à votre expérience et est capable de vous apporter bien plus qu'un simple kit électronique.
Le présent article s'adresse aux utilisateurs d'Arduino souhaitant pousser plus loin leur exploration en se détachant de l'environnement constitué des bibliothèques Wiring modifiées et de l'IDE Java fourni par défaut. De prime abord moins facile à appréhender, la création de code AVR n'utilisant pas ces éléments offre plus de possibilités et vous permettra de reposer directement sur les fonctionnalités du microcontrôleur choisi. Une connaissance minimum de l'Arduino ou des microcontrôleurs Atmel AVR, ainsi que des bases en C, sont recommandées pour comprendre facilement les explications qui vont suivre.
Dans le précédent numéro, nous avons fait la connaissance du ReadyNAS duo de Netgear. Un sympathique NAS, sous GNU/Linux, bien documenté, modulaire et relativement ouvert. Ajoutons à présent une pointe de configuration plus « système » en explorant les méthodes permettant d'ajouter un peu plus de support pour le matériel.
Il existe des classiques incontournables dans le domaine du développement sur système Unix. Si classiques et courants qu'ils paraissent anodins pour l'utilisateur coutumier de ces systèmes. La commande make fait partie de ces classiques. Si vous débutez dans l'utilisation de GNU/Linux, par exemple, prendre le temps d'en découvrir les secrets vous en fera gagner énormément par la suite.
L'article précédent vous a présenté deux façons de réaliser un multiplieur complexe, toutes deux proches de la méthode naïve qui consiste à utiliser un circuit arithmétique de base (multiplieur, additionneur, soustracteur) par opération et à les connecter selon l'arbre de calcul. Nous allons maintenant voir comment partager le même circuit arithmétique entre plusieurs opérations.
Les NAS sont des petites merveilles. Ceux-ci sont généralement équipés de systèmes reposant sur GNU/Linux et disposent de plus en plus de fonctionnalités. Si l'on arrive à en prendre pleinement le contrôle, il est possible de les transformer en objets bien plus polyvalents, capables de servir de serveur Web, de solution de diffusion de médias, de point de téléchargement, etc. Mais encore faut-il pouvoir en disposer comme on le souhaite. Là, chaque fabricant a son florilège de préférences, d'habitudes et de mauvaises pratiques.