# Sun SPOT

Sun SPOT est une technique de réseaux de capteurs sans fil conçue par l'entreprise américaine Sun Microsystems. SPOT signifie « technologie pour petits objets programmables » (Small Programmable Object Technology). La particularité de SPOT est de fournir une plateforme logicielle et matérielle homogène pour développer des applications avec le langage de programmation Java. La partie matérielle repose sur des standards ou des architectures répandues, tels que l'interface réseau sans fil IEEE 802.15.4 et les processeurs ARM.

## Spécifications matérielles

Un SPOT est l'assemblage d'une carte avec le processeur central, une carte rassemblant les différents capteurs ou une station d'émission de base, un socle pour accueillir les batteries, et une coque pour contenir le tout.

### Principaux éléments de la carte du processeur

* Processeur ARM920T cadencé à 180 MHz, 32 bit, 512Ko de mémoire vive, 4Mo de mémoire Flash
* Interface radio "Zigbee" (basée sur le standard IEEE 802.15.4, 2.4 GHz)
* Antenne intégrée
* Interface USB

### Principaux éléments de la carte des capteurs

* Accéléromètre tri-dimensionnel 2G/6G
* Capteur thermique
* Capteur de lumière
* 8 LED, chacune pouvant afficher 3 couleurs différentes
* 6 entrées analogiques
* 2 interrupteurs à retour
* 5 broches d'entrées/sorties et 4 broches de sortie pour courant élevés

### Alimentation et Consommation

* Batteries rechargeable lithium-ion, 3.7V, 750 mAh (de simples batteries type R6 peuvent être utilisées)
* Consommation de 30 uA en mode de sommeil prolongé (« deep sleep mode »)
* Gestion automatique des batteries par la couche logicielle

## Spécifications logicielles

Les SPOT ont une machine virtuelle Java qui prend en charge les fonctions de système d'exploitation. La technique développée pour SPOT se nomme le projet Squawk, aussi originaire de Sun Microsystems Inc.
Les raisons avancées pour ce choix technologique sont que les implémentations existantes des machines virtuelles Java sont trop coûteuses pour de si petites machines, et les spécifications de Java ME (notamment CLDC) pouvaient être optimisées davantage. Squawk est le résultat de cette analyse.

### Machine virtuelle Squawk

* Entièrement compatible avec les spécifications Java ME CLDC 1.1
* Intégrations des fonctionnalités essentielles d'un système d'exploitation
* Exécution directe à partir de la mémoire Flash
* Les pilotes de périphériques peuvent être entièrement écrits en Java
* Gestion de l'énergie

### Outils de développement

* Tout environnement de développement Java peut être utilisé
* Les SPOT connectés à des ordinateurs via le port USB se comportent comme des stations de base pour gérer et déployer des applications.

## Sécurité

L'aspect sécurité est relativement classique pour une plateforme Java, avec certaines optimisations. Chaque application doit être signée avant de pouvoir être déployée et exécutée. Les SPOT vérifient que les applications sont effectivement signées avant de les démarrer.
Au niveau cryptographie, Sun a intégré des versions améliorées des algorithmes RSA et ECC, afin de permettre leur exécution sur les SPOT (ces algorithmes sont en général trop gourmands pour de tout petits ordinateurs).

## Autres informations
### Positionnement

Sun SPOT est une des dernières techniques disponibles pour les réseaux de capteurs. Les plateformes apparues auparavant sont notamment les techniques originaires de l'Université de Californie, Berkeley, avec le système d'exploitation TinyOS et les « motes » telles que les produits de Xbow ou de Moteiv.
La principale différence entre les approches de Sun SPOT et TinyOS sont l'utilisation respective de Java et de NesC (une variante "en composants" de C plus appropriée). Les avantages de l'utilisation de Java sont une homogénéité accrue due à la portabilité du langage, et certains aspects de sécurité plus développés. Les avantages de l'utilisation de NesC sont un contrôle de plus bas niveau des ressources et l'existence de nombreuses extensions supportées par une communauté internationale.

### Disponibilité

Les premiers SPOT sont disponibles depuis avril 2007 aux États-Unis. Les kits d'introduction contiennent trois SPOTs, dont deux avec capteurs, et un en tant que station de base, des outils de développement logiciel et un câble USB. La suite logicielle est compatible avec Windows XP, Mac OS X 10.4 et la plupart des distributions Linux.
Les dates de disponibilité hors des États-Unis n'ont pas encore été annoncées.