Les articles de Open Silicium N°12

Image promotionnelle
Un système RFID/NFC pour notre GNU/Linux
Article mis en avant

Un système RFID/NFC pour notre GNU/Linux

La technologie NFC se popularise sur les smartphones et les tablettes. Très proche du RFID dont elle tire une partie de ses spécifications, la technologie NFC permet pour le grand public toute une collection d'applications rendant la fameuse «user experience» plus intéressante et agréable. Techniquement parlant, RFID et NFC sont deux domaines très riches qu'il est agréable d'explorer pour, ensuite, l'adapter à ses besoins spécifiques. Chose que nous allons découvrir sans plus attendre...

Désynchronisation. Voilà le mot qui m'est souvent venu à l'esprit en travaillant sur différents projets ces derniers temps. Je pense naturellement au sujet du dossier principal de ce numéro, mais également à d'autres expériences faites dans d'autres domaines.
Inutile de le souligner davantage, ceci reviendrait à prêcher des convertis, la plateforme et environnement Arduino connaît encore et toujours un franc succès auprès d'un public de hobbyistes et d'artistes. L'autre approche, à la dure, celle de l'ancienne école, consiste à apprendre à programmer sérieusement, avec un langage de bas niveau, en fonction des contraintes imposées et surtout en gardant à l'esprit l'étendue des ressources disponibles. Cependant, il se fait jour actuellement une autre solution, sorte de voie du milieu, entre la simplification extrême et la digestion forcée, 1700 pages de datasheets1: mbed.
La technologie de “carte à puce” sans contact Mifare n'est pas récente, mais c'est très certainement la plus répandue dans le monde avec des milliards de tags servant dans toutes sortes de domaines, du contrôle d'accès au porte-monnaie électronique en passant par les cartes de membre et de fidélité. Un membre de cette famille de solutions Mifare est majoritairement utilisé : Mifare Classic, bien qu'il ne soit plus recommandé de l'utiliser pour des nouveaux projets.
Les plateformes embarquées sont de plus en plus puissantes et ressemblent, au fil des jours, de plus en plus à des nano-ordinateurs comme c'est le cas par exemple pour la très populaire Raspberry Pi. En conséquence, l'accessibilité de ce type de cartes s'en trouve augmentée, au point que les utilisateurs ne sachant pas développer dans un langage de bas niveau comme le C peuvent, eux aussi, en bénéficier, par exemple au travers du langage Python. Or, il existe un ensemble d'outils et de bibliothèques Python permettant d'explorer les technologies RFID : c'est RFIDIOt !
Comme toutes technologies, celle des cartes à puce sans contact connaît ses hauts et ses bas, ses successions de générations et ses évolutions notables. C'est ainsi qu'aujourd'hui, la très populaire et courante Mifare Classic, laisse sa place à une technologie bien plus sûre et avancée, basée sur une architecture radicalement différente, très proche de ce que l'on trouve avec les JavaCards. Cette technologie s'appelle Mifare DesFire et en particulier DESFire EV1.
Lorsqu'on nous confie un nouveau tag, on souhaite généralement assouvir sa curiosité assez rapidement or, il arrive tantôt qu'à ce moment précis, on n'ait pas sous la main l'un de ses laptops et/ou un de ses lecteurs RFID/NFC (si si, ça arrive). Fort heureusement, on dispose presque toujours de son smartphone et, à l'aide des bonnes applications, on peut immédiatement se faire une petite idée sur notre nouvelle trouvaille.
Surveiller ses sites Web avec Google Analytics est monnaie courante. Il faut avouer que la quantité d'information collectée et traitée est assez impressionnante, tout comme la facilité d'utilisation par un non-technicien. C'est donc un outil de choix pour les web-marketeux échafaudant de grandes théories sur l'intérêt de la présence d'un lolcat dans le tunnel de vente, augmentant significativement le taux de conversion de 0,023 % (compléter ici avec un bla-bla équivalent et sans pertinence technique ou psychologique). Que diriez-vous de montrer à cette espèce malheureusement loin d'être en voie de disparition ce qu'on peut faire d'encore plus bling-bling lorsqu'on sait de quoi on parle et qu'on souhaite impressionner le boss ?
Quand on développe une application connectée, il faut garder à l'esprit que sur nos smartphones, la radio est le deuxième élément le plus consommateur de batterie juste derrière l'écran. Perché au sommet d'une pile d'APIs et de couches protocolaires, le développeur n'a pas toujours conscience de ce qu'il se passe sur l'interface radio de son mobile...
Qui n'a jamais rêvé le smartphone parfait, celui fait pour soi ? Chacun, selon ses propres critères, rêve d'un téléphone à sa guise et répondant à ses besoins. Petit ou grand écran, une ou plusieurs batteries, CPU inter-changeable, présence ou non d'un appareil photo… Les possibilités sont multiples. Google s'est lancé ce défi fou de contenter 6 milliards d'utilisateurs potentiels.
Nous nous proposons d’aborder un problème complexe de traitement d’image, à savoir la reconstruction de la structure tri-dimensionnelle d’un objet à partir d’une multitude de photographies de ce même objet prises depuis des points de vue différents. Parmi les outils libres pour atteindre ce but, la solution la plus sérieuse pour atteindre l’objectif d’un modèle quantitatif de l’objet (dimensions en unités réelles, en opposition aux nuages de points gradués en pixels) est un outil mis à disposition par l’Institut Géographique National (IGN) et orienté vers la production de modèles numériques de terrain et de façades : la suite de logiciels Apero et MicMac.
Les devkits sont généralement conçus pour que le développeur ait en sa possession l'ensemble des outils de développement dont il a besoin pour évaluer une plateforme. Il est rare désormais de trouver un kit d'évaluation qui ne soit pas équipé d'une interface de programmation dédiée intégrée, qu'il s'agisse de FPGA ou de microcontrôleur. Les devkits STM32 ne font pas exception et intègrent un débogueur/programmeur ST-LINK communiquant avec le composant évalué via SWIM ou SWD. Pourtant, certains microcontrôleurs de cette famille disposent également d'une autre interface via un bootloader en ROM.