Réseaux de capteurs pour les nuls

Sun Microsystems a annoncé un projet qui pourrait mettre des réseaux de capteurs faciles à gérer entre les mains de programmeurs informatiques moyens du monde entier, contribuant ainsi à rendre les capteurs en réseau plus répandus. Un monde plein de capteurs est un monde dans lequel, par exemple, les climats des bâtiments sont micro-contrôlés, les pièces s'animent de lumières et de musique lorsque les gens y pénètrent, et la santé des membres âgés de la famille est surveillée à distance.





En mai, la société commencera à vendre son propre matériel de capteur – des gadgets de la taille d'un petit jeu de cartes pouvant être configurés pour détecter la température, la lumière et le mouvement – ​​ainsi qu'un système d'exploitation qui utilise le langage informatique commun Java, qui est déjà a une base de programmeurs de plus de quatre millions de personnes. Selon l'entreprise, ce kit de développement de capteurs, appelé Sun SPOT (Small Programmable Object Technology), pourrait créer des applications de capteurs innovantes et accélérer les solutions à certains des défis persistants - tels que le développement et le débogage de programmes de capteurs - qui ont jusqu'à présent conservé la technologie. d'être omniprésent.

[ Cliquez ici pour des images d'un capteur Sun SPOT et de ses composants.]

Les réseaux de capteurs sont des ensembles de nœuds, parfois aussi petits que quelques millimètres de longueur ou de diamètre, qui se composent de petits processeurs informatiques, de dispositifs de mémoire et de radios qui transmettent et reçoivent des informations entre les dispositifs. Ces réseaux sont très prometteurs pour l'exécution de tâches telles que la surveillance et la régulation des environnements difficiles dans les installations industrielles, le contrôle des climats domestiques et professionnels (voir Where Sensors Make Sense ) et le suivi de l'état des colis.



De nombreuses recherches dans ce domaine ont été menées au cours des dernières années (voir 10 technologies émergentes qui changeront le monde), depuis des sociétés telles que Sun, Intel et Siemens, jusqu'aux programmes universitaires de l'Université de Californie à Berkeley et Los Angeles et Harvard. Université, pour n'en nommer que quelques-uns. Et les startups, comme Humain et Technologie d'arbalète , vendent la technologie pour des applications allant du diagnostic automobile à la surveillance du champ de bataille.

Même avec autant d'attention, cependant, les capteurs actuels restent notoirement difficiles à développer et à déboguer, déclare Roger Meike, directeur principal de Sun Labs. Pour la plupart, jouer avec la fonctionnalité d'un capteur reste une tâche spécialisée, laissée aux experts en informatique.

La programmation des capteurs est si difficile en partie parce que beaucoup d'entre eux utilisent un système d'exploitation appelé TinyOS. Bien qu'il soit la base logicielle de milliers de projets de recherche sur les capteurs, il nécessite une connaissance du langage de programmation relativement complexe C. Pire, une fois qu'un programme TinyOS est établi pour un réseau de capteurs, il est plus ou moins permanent, explique Mani Srivastava , ingénieur électricien à l'UCLA. Si vous voulez modifier une petite partie de la fonction du réseau, dit-il, vous devez recommencer. De plus, chaque détail du capteur doit être soigneusement pris en compte lors de la programmation, depuis le moment où l'énergie doit être conservée jusqu'au nombre de calculs à effectuer avant que les données ne soient envoyées sur le réseau.



Java – un langage de programmation développé chez Sun en 1990 – présente des avantages évidents, déclare Roger Meike, directeur principal de Sun Labs. D'une part, il est bien connu d'une énorme communauté de programmeurs, et il a déjà réussi dans des applications pour d'autres petits appareils tels que les téléphones portables.

Mais contrairement aux téléphones portables, les capteurs Java pour Sun SPOT, appelés Java 2 Micro Edition, s'exécutent directement sur le matériel et agissent comme un système d'exploitation. Cela signifie que les programmeurs Java peuvent écrire un programme, le charger sur l'appareil, l'exécuter et le déboguer, avec des connaissances de base en programmation Java, explique Meike. Le matériel et les logiciels sont conçus pour fonctionner ensemble, dit-il, ce qui permet aux capteurs Java d'être facilement reconfigurés pour différentes tâches, contrairement à TinyOS. Java gère également bien les ressources d'alimentation, selon Meike, une fonctionnalité importante, car certains capteurs doivent être allumés à tout moment. Java contrôle une petite batterie et il peut être très intelligent de savoir quand mettre le système en veille, dit-il.

Java de Sun SPOT fonctionne directement à partir de la mémoire flash, un type de stockage qui n'utilise pas autant d'énergie que la mémoire RAM. Cela réduit le besoin de vigilance quant à la meilleure façon d'allouer les ressources. De plus, la plate-forme Java permet d'arrêter les applications en cours d'opération et de les déplacer sur un autre appareil, explique Meike. Vous pouvez donc imaginer que si la batterie d'un appareil tombe en panne, vous pouvez déplacer votre application vers un autre.



Cette fonctionnalité de mobilité est particulièrement importante pour le débogage du matériel et du logiciel du capteur, ce qui est vraiment un cauchemar, explique Srivastava, qui a développé un système d'exploitation de capteur à l'UCLA appelé SOS . Les insectes peuvent vraiment faire tomber quelque chose, ajoute-t-il. Par conséquent, il est utile de pouvoir transférer une application défaillante vers un ordinateur où elle peut être réparée, ce que Sun SPOT est capable de faire.

Mais Srivastava note également que Java est un langage de programmation lourd, ce qui signifie qu'il nécessite plus de mémoire que TinyOS ou SOS. En effet, les nouveaux capteurs de Sun nécessitent une unité centrale de traitement 32 bits, par opposition aux processeurs de capteurs 8 bits qui peuvent exécuter TinyOS. De plus, les capteurs de Sun ont 512 kilo-octets de RAM, 4 méga-octets de mémoire flash, une radio de 2,4 gigahertz et une interface USB, ce qui en fait de véritables goliaths par rapport à la plupart des capteurs.

Mais de grands capteurs pourraient être utiles, dit Matt Gallois , professeur d'informatique à Harvard. Il est clair que dans toute application réelle, vous allez vous retrouver avec une population diversifiée d'appareils, dit-il. Vous pouvez disposer d'un grand nombre de capteurs sans fil à très faible consommation, mais vous avez également besoin d'appareils capables de collecter des informations, de traiter et d'agréger des données. L'appareil Sun SPOT semble être un bon candidat pour cet appareil sans fil. Cependant, il est peu probable, dit-il, que Java remplace TinyOS ou SOS pour les plus petits capteurs.

Meike de Sun s'attend à ce que les processeurs, les dispositifs de mémoire et les radios continuent de diminuer et que les capteurs de Sun ne seront pas aussi volumineux dans quelques années. Les tendances nous disent que ces appareils vont devenir plus performants, note-t-il. En attendant, dit Meike, les applications intelligentes que les programmeurs Java concevront seront prêtes pour les futures générations de capteurs plus petits.

Meike pense que jouer avec les capteurs offrira une expérience fascinante pour les amateurs et les étudiants de Java. Cela signifie que les programmeurs Java peuvent avoir un appareil qui tient dans la paume de leurs mains, dit-il. Au lieu de programmer des ordinateurs de bureau, ils peuvent programmer le monde entier.

cacher