SL:Waspmote
Requirements
Get the Waspmote Technical Guide from here: http://www.libelium.com/development/waspmote/documentation/
The Waspmote IDE (customized Arduino IDE) can be retrieved here: http://www.libelium.com/development/waspmote/sdk_applications
Getting started and gotchas
Attach one of the rechargeable LiIon batteries to a mote in the three pin white connector towards the middle of the node, next to the three LEDs.
Before using it first, charge using USB for 24h. In contrast with IRIS and CM nodes, for Waspmotes, the battery is required when connecting the node to the PC using USB.
To disconnect a battery, use the plastic pick from the Libelium box. Do not pull on wires. Actually, since the wires look a bit fragile, it may be safer to just always leave the batteries connected.
Each node has two switches, one on the top (where the boards are plugged) and one on the bottom. The top switch is the power switch, the bottom switch is a hibernation switch. You can usually just put them in the same position. Towards the USB connector, the switches are in off position. Towards the middle of the node is on.
To reflash a Waspmote node, it needs to be switched on.
To read out data from the Gateway, on Linux cutecom can be used. Use ls /dev/ttyUSB* to find out the available TTY devices. If you only connect the gateway, it should be the only thing listed.
If the Gateway is not displaying data or receiving from other nodes, make sure that the XBee parameters are set to the same values on the XBee extension boards for all participating nodes. This can be done by e.g. flashing one of the example applications (Examples -> 03. Communication -> XBEE -> XBEE_802 -> _802_01_configure_XBee_parameters) on a node, putting the boards on it one by one and restarting it. This should configure the boards with some compatible set of parameters.
The correct baud rate to read out packets from the Gateway will depend on the XBEE parameters flashed on the board connected to it. If configured by the example program as above, it should be 115200, otherwise it may be 9600 or 19200 or something else even. Just try it out. Lots of \x00 or \0 output means the baud rate is too high, scrambled too short output means it is too low.
If you try to use application layer AES encryption, note that Libelium does not provide a decrypt function. TODO: Port our TinyOS AES implementation. It should be faster too.