Dies ist die Dokumentation des Paketes uracoli-sensorlogger-<VERSION>.zip. Das Paket enthält sowohl die Software für die Gateway- und Sensorknoten als auch die Python-Skripte.

Paketinhalt

.
|-- bin ................ AVR Hexfiles
|-- inc ................ uracoli includes
|   `-- boards
|-- lib ................ precompiled Libraries
|-- pc_apps ............ Python Scripts
|-- sensor ............. Sensor app. sources
|-- uracoli-src ........ Library sources
|   |-- libioutil
|   |-- libradio
|   `-- libwibohost
`-- wuart .............. Wuart sources.

Flashen der Knoten

Das Paket enthält bereits vorkompilierte hex Files für die beiden derzeit unterstützten Sensorboards Muse231 und Tiny230. Sollten andere Boards für die Knoten verwendet werden, müssen Anpassungen in den sensor-Applikationen vorgenommen werden.

Wenn zum Flashen beispielsweise das AVR Dragon Board verwendet wird, so können zum Flashen eines Muse231 und Tiny230 Boards folgende Kommandos verwendet werden:

avrdude -P usb -p m88 -c dragon_jtag -U bin/sensorapp_muse231.hex
avrdude -P usb -p t84 -c dragon_jtag -U bin/sensorapp_tiny230.hex

Bei Verwendung eines anderen Programmers müssen ggf. die Optionen -P und -c angepasst werden.

Wichtig: Wenn mehr als ein Knoten verwendet wird, dann müssen die Knoten mit unterschiedlichen Eidentifiern versehen werden. Hierzu gibt es das pc_apps/wibo_muse231.py script, mit dem die hex-Files gepatcht werden können. Weitere Informationen:

cd pc_apps
python wibo_muse231.py  -h

Bauen der Sensor App.

Derzeit werden die Boards tiny230 und muse231 von der Sensor App. unterstützt. Das bauen der Software erfolgt aus dem Paketverzeichnis uracoli-sensorlogger-<version> mit dem Kommando:

cd uracoli-sensorlogger-<version>
make -C sensor tiny230 muse231

Nach der Compilierung befinden sich die folgenden Dateien im sensor/bin/ Verzeichnis.

sensorapp_muse231.elf
sensorapp_muse231.hex
sensorapp_tiny230.elf
sensorapp_tiny230.hex

Bauen der Wuart App.

Die Software für den Sensorknoten wird analog zur Sensor App. gebaut.

cd uracoli-sensorlogger-<version>
make -C wuart psk230

Hierbei ist statt psk230 das verwendete Gatewayboard anzugeben. Die Liste der unterstützten Boards ist auch im wuart/Makefile zu finden.

Flashen des Gateways

Es wird wieder der avrdude verwendet. Für im obigen Beispiel verwendetes Board ist für den Dragon Programmer dann beispielsweise folgendes Kommando zu verwenden:

avrdude -p m1281 -c dragon_jtag -Pusb -U wuart/bin/wuart_stb230.hex

Starten des Sensorloggers und der Webserver

Nachdem der Gatewayknoten per USB Kabel an den PC angeschlossen wurde und beispielsweise das erste serielle USB-Interface belegt wurde (/dev/ttyUSB0), kann nun der Sensorlogger gestartet werden:

cd pc_apps
# not as daemon and verbose output:
python sensorlogger.py -v -p /dev/ttyUSB0
# or: if run as daemon:
python sensorlogger.py -D -p /dev/ttyUSB0

Es kann noch die Geschwindgkeit der seriellen Schnittstelle eingestellt werden mit der -b Option.

Wenn der Logger läuft, sollten für jeden Sensor eine .rrd Datei um data Verzeichnis angelegt werden, welche die Round Robin Archieve enthält.

Nun können die Webserver zur Datenvisualisierung gestartet werden:

# Table server, default serves at port 8081,
python tableserver.py -v
# Sensor server, default serves at port 8080,
python sensorserver.py -v

Sollen die server als Daemon gestartet werden, ist die Option -D zu verwenden. Alternative Ports können über die Option -p eingestellt werden.