Les articles de Hackable N°16

Image promotionnelle
nRF24L01 : créez une liaison radio longue distance entre Arduino
Article mis en avant

nRF24L01 : créez une liaison radio longue distance entre Arduino

Dès lors qu'on parle de communication sans fil, les options sont légion. Le Wifi et le Bluetooth viennent immédiatement à l'esprit mais, comme on peut s'en douter, la portée de ce type de solutions est assez réduite, car initialement non prévues pour ce type d'usage longue distance. Il faut alors se tourner soit vers la bidouille (type antenne Ricoré ou autre), des équipements coûteux (antenne à haut gain) ou tout simplement opter pour une autre technologie. L'une d'entre elles est très économique et très populaire : l'utilisation de modules nRF24L01.
Le microcontrôleur d'une carte Arduino dispose de trois types de mémoire, la SRAM, la flash et l'EEPROM. Chacune a son utilité spécifique, mais les trois sont en quantité réduite. L'utilisation d'une mémoire externe (EEPROM) permet de facilement disposer d'un espace de stockage pour des données, mais là encore, on parle de quelques dizaines de kilooctets. Que faire si on a besoin de bien plus d'espace ? C'est simple, il suffit de faire exactement la même chose que tous les produits électroniques du marché : utiliser une carte SD ou microSD !
Nous venons de voir que la communication entre deux Arduino grâce aux modules nRF24L01 ne présente pas de grosses difficultés une fois la logique de fonctionnement du composant assimilée. Chose très intéressante, le support logiciel sous la forme de la bibliothèque RF24 ne se limite aucunement aux Arduino. Tout a été pensé, dès le départ, pour permettre une utilisation sur de nombreuses plateformes et, bien entendu, la Raspberry Pi est l'une d'entre elles !
Nous avons traité précédemment dans ce magazine du fantastique domaine de la radio logicielle (SDR) et de l'utilisation de récepteurs DVB-T pour recevoir toutes sortes de signaux radio. Le matériel disponible s'est grandement diversifié depuis lors avec de plus en plus de récepteurs construits sur la même base RTL-SDR, mais conçus dans l'optique d'une utilisation radio. Une autre plateforme, moins économique, permettant d'aller plus loin encore est également disponible : le HackRF One de Great Scott Gadgets.
Oui, c'est un titre accrocheur... C'est fait exprès, je n'ai pas pu me retenir. Dans les faits ce qui va suivre n'a absolument rien d'illégal rassurez-vous. Le but est avant tout de faire prendre conscience au plus grand nombre la présence de technologies que vous ne soupçonnez pas nécessairement et qui sont partout autour de vous, y compris dans votre poche, bien cachées dans votre porte-feuille...
L'électricité est quelque chose de fantastique ! Elle éclaire et chauffe nos lieux de vie et de travail, nous permet de communiquer, remplace avantageusement d'autres formes d'énergies, prolonge et sauve des vies, anime nos bien aimés ordinateurs et smartphones... La fée électricité est partout, louée de tous pour son utilité, mais elle est également artiste à ses heures en dessinant pour le plaisir de nos yeux de magnifiques et intrigantes figures...
Le problème n'est ni nouveau ni rare, vous travaillez en ligne de commandes sur votre Raspberry Pi et êtes interrompu. Vous aimeriez bien retrouver votre session exactement comme vous l'avez laissé, mais si vous fermez le terminal ou vous vous déconnectez, vous vous retrouverez ensuite avec un shell tout neuf. Des solutions, il en existe plusieurs, l'une d'entre elles consiste à utiliser un multiplexeur de terminal comme GNU Screen.
Je ne sais pas pour vous, mais personnellement j'utilise rarement ma Raspberry Pi connectée à un moniteur, sauf dans de rares exceptions. Étant habitué depuis plus de 15 ans à utiliser la ligne de commandes, une simple connexion au moniteur série ou une liaison réseau SSH est amplement suffisante. Parfois cependant, j'ai besoin d'utiliser une application graphique. Il existe un moyen de le faire, sans moniteur, aussi bien depuis une machine GNU/Linux que depuis Windows : le X11 forwarding.
Dans le précédent numéro, nous avons décrit comment ajouter une connectivité Bluetooth à un projet Arduino et ainsi pouvoir lui communiquer des ordres depuis un smartphone Android. Mais il peut également être très intéressant de remplacer le smartphone par une carte Raspberry Pi et ainsi gagner en souplesse et surtout ne plus être dépendant d'une application figée, peu configurable, difficile, voire impossible à modifier.