GNU/Linux Magazine Hors-série N°
Numéro
51

Hacks, électronique & embarqué

Temporalité
Novembre/Décembre 2010
Image v3
Hacks, électronique & embarqué
Article mis en avant

Résumé
Bien nombreux sont ceux qui utilisent des bases de données dans leurs applications, mais ne souhaitent pas mettre en place une vraie base de données telle que MySQL, PostGreSQL, etc. Les raisons sont souvent des questions de simplification de la configuration, d’installation, ainsi que le fait que l'on n’a pas besoin de toutes les fonctionnalités d’une vraie base de données (juste un stockage clés/valeurs, par exemple, et pas de base relationnelle). Une autre raison est pour le développement d’applications embarquées qui ont des ressources limitées, et donc, faire tourner un système de base de données est tout simplement impossible.

Dans ce numéro...


La Scratchbox est un environnement de build particulièrement adapté au développement d'applications pour du Linux embarqué. Cet environnement a été développé sous licence GPL par Lauri Leukkunen, principalement pour le projet Maemo de Nokia, la distribution Linux des plates-formes ARM N770 et suivantes. Une version 2 de la Scratchbox, sensiblement différente, est disponible, mais l'auteur ne la maintient pas, et elle ne sera plus évoquée dans cet article. La version 1.x est toujours maintenue par Lauri Leukkunen.
Quelques semaines à peine après l'annonce et la mise en vente de la tablette Apple, on a vu apparaître sur les sites d'enchères en ligne plusieurs clones chinois se vantant de fournir quasiment les mêmes fonctionnalités que l'iPad, à un tarif deux voire trois fois moindre. Ne résistant pas à la curiosité d'étudier la chose plus en détail, nous avons acquis deux exemplaires de ces clones pour analyser la bête.
Tout le monde sait ce qu'est un GPS ou du moins tout le monde croit le savoir. Pour le commun des mortels, il s'agit d'un périphérique permettant de savoir, tout simplement, où l'on se trouve et ainsi de retrouver son chemin. Le GPS, pour Global Positioning System, est en réalité bien plus qu'un équipement, mais un système complet. Son fonctionnement exploré sous GNU/Linux permet d'en révéler toute la beauté et la magie.
Bon, dans cet article, vous n'allez pas apprendre de magie et contrôler le miroir de votre salle de bain pour vous embellir dès le matin... Le « miroir » que nous allons étudier ici est le périphérique commercialisé par la société Violet (si le nom vous dit quelque chose, vous devez déjà connaître le Nabaztag). Au travers de cet article, nous n'allons pas uniquement voir l'aspect technique (ce périphérique restant simple à utiliser), mais aussi la manière d'aborder l'analyse d'un matériel non connu.
Les iPod Touch et iPhone sont probablement les systèmes embarqués les plus largement disponibles auprès du grand public. Bien que le qualificatif « embarqué » ne soit associé qu'à leur autonomie, faible encombrement et absence de ports de communication, la puissance de calcul est compatible avec celle nécessaire pour exécuter un environnement Un*x dans lequel un développeur sous GNU/Linux ou *BSD sera familier. Nous proposons dans cette présentation, après avoir libéré son iPod Touch de l'emprise de Cupertino, d'exploiter une chaîne de compilation croisée libre exploitant les bibliothèques propriétaires mais gratuites d’Apple, pour développer nos propres applications. Nous nous intéresserons en particulier à l'accès aux périphériques matériels, qu'il s'agisse d'une liaison Bluetooth pour communiquer par une liaison sans fil avec des périphériques tels que la brique LEGO NXT, ou des accéléromètres. Ces développements passent nécessairement par la maîtrise de l'Objective-C 2.0, dont nous démontrerons la fonctionnalité comme langage de développement sous GNU/Linux lors de l'exploitation du compilateur LLVM.
En C, const et volatile sont souvent considérés comme des sous-types de données, l'un étant l'opposé de l'autre. Ces deux affirmations sont parfaitement fausses. Il en découle en général une utilisation plus ou moins aléatoire aussi bien dans le développement userland, kernel ou pour des éléments comme des microcontrôleurs. Petite mise au point sur le rôle de ces gentilles bestioles.
Après avoir disséqué le langage VHDL, son implémentation par GHDL et l'extension graphique du numéro de septembre [1], passons à la pratique ! On en avait presque oublié que tous ces efforts pour accéder au framebuffer sont motivés par le besoin de Laura d'afficher confortablement les chiffres de sa montre. Maintenant que nous savons contrôler les pixels de l'écran lors d'une simulation, l'affichage est (quasiment) un jeu d'enfant ! Profitons-en pour découvrir de nouveaux aspects bien pratiques du langage VHDL, tout en faisant un peu de programmation graphique.
Lorsqu'on veut faire communiquer un ensemble d'applications, l'une des solutions les plus évidentes est celle consistant à utiliser un bus logiciel. Un très bon exemple d'implémentation est D-Bus, généralement en place sur la quasi-totalité des ordinateurs desktop GNU/Linux, qu'ils soient sous GNOME ou KDE. Mais D-Bus n'est pas toujours la solution idéale pour le développeur. Ici nous traiterons d'une implémentation reposant sur une API bien plus simple et plus rapide à utiliser. C'est Ivy.
Depuis maintenant un peu moins d'un an, Free offre la possibilité d'exécuter sur la Freebox des applications écrites en JavaScript utilisant les Enlightenment Foundation Libraries pour réaliser l'interface graphique.

Magazines précédents

Incontournable Python
GNU/Linux-Magazine Hors-série N°49
Incontournable Python
Voyage au centre de l'embarqué
GNU/Linux-Magazine Hors-série N°47
Voyage au centre de l'embarqué
Focus sur les outils pour mieux exploiter Linux
GNU/Linux-Magazine Hors-série N°46
Focus sur les outils pour mieux exploiter Linux

Les derniers articles Premiums

Les derniers articles Premium

Stubby : protection de votre vie privée via le chiffrement des requêtes DNS

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

Depuis les révélations d’Edward Snowden sur l’espionnage de masse des communications sur Internet par la NSA, un effort massif a été fait pour protéger la vie en ligne des internautes. Cet effort s’est principalement concentré sur les outils de communication avec la généralisation de l’usage du chiffrement sur le web (désormais, plus de 90 % des échanges se font en HTTPS) et l’adoption en masse des messageries utilisant des protocoles de chiffrement de bout en bout. Cependant, toutes ces communications, bien que chiffrées, utilisent un protocole qui, lui, n’est pas chiffré par défaut, loin de là : le DNS. Voyons ensemble quels sont les risques que cela induit pour les internautes et comment nous pouvons améliorer la situation.

Surveillez la consommation énergétique de votre code

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

Être en mesure de surveiller la consommation énergétique de nos applications est une idée attrayante, qui n'est que trop souvent mise à la marge aujourd'hui. C'est d'ailleurs paradoxal, quand on pense que de plus en plus de voitures permettent de connaître la consommation instantanée et la consommation moyenne du véhicule, mais que nos chers ordinateurs, fleurons de la technologie, ne le permettent pas pour nos applications... Mais c'est aussi une tendance qui s'affirme petit à petit et à laquelle à terme, il devrait être difficile d'échapper. Car même si ce n'est qu'un effet de bord, elle nous amène à créer des programmes plus efficaces, qui sont également moins chers à exécuter.

Donnez une autre dimension à vos logs avec Vector

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

Avoir des informations précises et détaillées sur ce qu’il se passe dans une infrastructure, et sur les applications qu'elle héberge est un enjeu critique pour votre business. Cependant, ça demande du temps, temps qu'on préfère parfois se réserver pour d'autres tâches jugées plus prioritaires. Mais qu'un système plante, qu'une application perde les pédales ou qu'une faille de sécurité soit découverte et c'est la panique à bord ! Alors je vous le demande, qui voudrait rester aveugle quand l'observabilité a tout à vous offrir ?

Body