Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Tests des RPL-Border-Routers unter Verwendung der AN-Solutions USB Sticks sowie der Module
Die Konfiguration der Module wurde laut Contiki Port. @ANY durchgeführt. Zusätzlich wurde das Contiki SNMP aus SNMP Contiki 2.6 auf die Module angepasst und zu den Contiki Autostart-Prozessen hinzugefügt (siehe SNMP ANS Module).
Maximale Entfernung zwischen RPL-Border-Router und einzelnem Knoten
Die maximale Entfernung wurde mithilfe von ping6
ermittelt. Dazu wurde der räumliche Abstand langsam vergrößert während im zeitlichen Abstand von eine Sekunde solange eine PING Nachricht versendet wurde, bis irgendwann keine Antwortnachricht mehr gemessen wurde. Zur Durchführung wurden vollständig geladene Akkus mit 800mAh des Herstellers VARTA verwendet.
2,4GHz @ANY Modul
maximaler Abstand: 48cm
→ Das Ergebnis dieser Messung ist keinesfalls als ausreichend anzusehen. Die Ursache für die geringe Reichweite konnte jedoch bisher nicht ermittelt werden. Weitere Tests mit externer Antenne wären vorteilhaft. Unter Nutzung des RZRaven USB Sticks und den 2,4Ghz @ANY Modulen war eine maximale Reichweite von 7m möglich. Wird die Kombination @ANY USB Stick und AVR Raven Board genutzt, so ist eine Reichweite von über 10m möglich (eventuell sogar mehr). Das Problem ist also nicht Modul oder USB Stick, das Problem besteht bei beiden Geräten gleichermaßen.
Lösung:
→ Die @ANY Module besitzen den AT86RF231 Funkchip, dieser bietet die Möglichkeit einen externen Verstärker nachzuschalten. Dies wurde innerhalb den @ANY Modulen realisiert. Damit dieser Verstärker nicht immer aktiv ist, bietet der AT86RF231 einen Ausgangspin, welcher beim Senden aktiv wird und somit den Verstärker steuert. Diese Funktion muss jedoch aktiviert werden. Dazu muss innerhalb des Registers 0x04 (TRX_CTRL_1) das 7. Bit (PA_EXT_EN) auf High gesetzt werden. Dies kann innerhalb der Datei rf230bb.c
in der Funktion rf230_warm_reset()
mit den folgenden Codezeilen realisiert werden.
innerhalb rf230bb.c
/*sz*/ /*set external PA in on state, used for @ANY modules*/ uint8_t reg_trx_ctrl_state; reg_trx_ctrl_state = hal_register_read(0x04); reg_trx_ctrl_state = (reg_trx_ctrl_state) | (0x80); hal_register_write(0x04, reg_trx_ctrl_state); /*sz*/
→ gesamte Datei (Änderungen markiert mit /*sz*/) rf230bb.c
900MHz @ANY Modul
max Abstand: >20m
→ erneute Messung eventuell im Freien notwendig um genaue max. Entfernung zu bestimmen.
Meshed Routing Tests
RPL im vermaschten Betrieb zu testen, kann bei großen Reichweiten der einzelnen Knoten sehr aufwendig werden. Deshalb gibt es innerhalb den rf230bb
-Funktreibern die Möglichkeit die Empfangs und Sendestärke der Module zu regulieren. Innerhalb der Datei contiki-conf.h
für den Atmel Raven ist folgender Kommentar zu finden:
/* Define MAX_*X_POWER to reduce tx power and ignore weak rx packets for testing a miniature multihop network.
* Leave undefined for full power and sensitivity.
* tx=0 (3dbm, default) to 15 (-17.2dbm)
* RF230_CONF_AUTOACK sets the extended mode using the energy-detect register with rx=0 (-91dBm) to 84 (-7dBm)
* else the rssi register is used having range 0 (91dBm) to 28 (-10dBm)
* For simplicity RF230_MIN_RX_POWER is based on the energy-detect value and divided by 3 when autoack is not set.
* On the RF230 a reduced rx power threshold will not prevent autoack if enabled and requested.
* These numbers applied to both Raven and Jackdaw give a maximum communication distance of about 15 cm
* and a 10 meter range to a full-sensitivity RF230 sniffer.
#define RF230_MAX_TX_POWER 15
#define RF230_MIN_RX_POWER 30
*/
Diese Makros lassen sich natürlich auch für das Zigbit Modul nutzen. Somit kann der rpl-border-router
sowie das Modul mit den Compilerflags RF230_MAX_TX_POWER
und RF230_MIN_RX_POWER
kompiliert werden. Dadurch ist die Reichweite pro Modul etwa auf 15cm begrenzt. Innerhalb des Makefiles sieht diese Anweisung dann wie folgt aus:
CFLAGS+= -DRF230_MAX_TX_POWER=15 CFLAGS+= -DRF230_MIN_RX_POWER=30