Skip to content

Instantly share code, notes, and snippets.

@guillep
Last active February 24, 2016 13:53
Show Gist options
  • Save guillep/4bae460eacdc0c97641b to your computer and use it in GitHub Desktop.
Save guillep/4bae460eacdc0c97641b to your computer and use it in GitHub Desktop.
# Utiliser des cartes WSN430
## Matériel mis à disposition
- 1 dock USB pour flasher (avec câble rouge-blanc reliant l'UART1 à l'USB)
- 2 docks USB pour lien série (avec câble bleu reliant l'UART0 à l'USB)
- 2 cartes WSN430
## Prérequis
Une machine virtuelle contenant l'environnement de développement est disponible au télechargement [ici](https://transfert.inria.fr/fichiers/c66d3a0ffb57aaf30fcac52e724eb2e6/iotlab_wsn430.ova).
1. Installer VirtualBox et importer l'application virtuelle `iotlab.ova`.
2. Si vous êtes sous Linux, assurez vous d'être dans le groupe unix `vboxusers`. Si ce n'est pas le cas, utilisez la commande suivante :
```
sudo usermod -a -G vboxusers $USER
```
Fermer et réouvrir la session pour que le changement soit pris en compte.
3. Avant le démarrage de la VM, configurer l'accès aux périphériques USB :
- Brancher au moins un dock USB à l'ordinateur
- Aller dans le menu Configuration - Ports - USB.
- Activer le contrôleur USB
- Ajouter un filtre USB pour les docks (e.g. `FTDI USB <-> Serial [0400]`)
4. Démarrer la VM. Les docks devraient être disponibles depuis l'environnement virtuel (e.g. `/dev/ttyUSBx`).
## Développement
Le support logiciel pour les WSN430 est fourni par le projet [FIT IoT-LAB](https://www.iot-lab.info): drivers, librairies/protocoles de communication, portage d'OS; disponible sur [GitHub](https://github.com/iot-lab/wsn430).
Ce dépôt est déjà disponible dans la VM, dans le dossier `~/iot-lab/parts/wsn430`.
En partant de l'exemple `~/iot-lab/parts/wsn430/appli/tutorial`, voici les étapes à suivre pour déployer du code sur les cartes.
_ATTENTION à bien utiliser le dock pour flasher._
_Le makefile est configuré avec ce dock en /dev/ttyUSB0. Modifier `wsn430.makefile` en conséquence ou préciser le port dans les lignes de commandes avec `PORT=/dev/ttyUSBx`_
1. Se placer dans le répertoire de l'application :
```
cd ~/iot-lab/parts/wsn430/appli/tutorial
```
2. Modifier le fichier `Makefile` pour inclure les commandes d'upload, de redémarrage et d'effacement des cartes.
```diff
-include $(WSN430)/drivers/Makefile.common
+include $(WSN430)/wsn430.makefile
```
3. Compiler l'application :
```
$ make
```
4. La déployer sur la carte WSN430 :
```
$ make upload FILE=tutorial_cc2420.hex
```
Il se peut que l'upload génère une erreur, dans ce cas relancer cette commande.
5. Il est parfois nécessaire de redémarrer la carte après un upload :
```
$ make reset
```
6. Il est enfin possible d'effacer le code présent sur la carte avec la commande suivante :
```
$ make erase
```
## Interaction
_ATTENTION à bien utiliser le dock pour lien série_
- Utiliser `miniterm` pour dialoguer avec l'application via le lien série, en spécifiant le bon périphèrique :
```
$ miniterm.py /dev/ttyUSB1 115200
IoT-LAB Simple Demo program
Type command
h: print this help
t: temperature measure
l: luminosity measure
u: print uid
s: send a radio packet
Type Enter to stop printing this help
cmd >
```
- Entrer un des caractères proposés dans l'aide de l'application pour voir son résultat.
- Programmer un deuxième noeud pour tester l'envoi/récpetion des messages radio.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment