From c88097fc358db98b55dc51d690a0c1655ee4dd5c Mon Sep 17 00:00:00 2001 From: Guido Günther Date: Sun, 13 Mar 2016 09:21:15 +0100 Subject: Revisiting this problem after almost a year --- hw/merkur-board.mdwn | 25 ++++++++++++++++++++----- hw/rpi6lowpan.mdwn | 2 +- 2 files changed, 21 insertions(+), 6 deletions(-) (limited to 'hw') diff --git a/hw/merkur-board.mdwn b/hw/merkur-board.mdwn index 76b8696..640c24a 100644 --- a/hw/merkur-board.mdwn +++ b/hw/merkur-board.mdwn @@ -7,7 +7,7 @@ some sensors. The [Merkur Board][0] is open hardware: It has digital outputs as well as digital, analog and PWM outputs and supports attaching Arduino Grove Modules which should make experiments -simple. In order to test thinks I use the +simple. In order to test things I use the [Plant Oberservation Kit][1] set. One uses USB-Serial converter to flash the device. Details on how to @@ -63,13 +63,12 @@ breakout*][8] flashing works as expected: The flashed firmware uses *channel 26* and *pan_id 0xabcd* by default. This can be seen on the serial output (you can use the same serial converter as for flashing). To read the serial console I've so far used the serial console -window from the arduino ide since *screen* doesn't support the 14400 baud used -by the merkur-board. +window from the arduino ide since *screen* doesn't support the 38400 baud used +by the merkur-board (). While I'm seeing packages looking for a RIPL router send by the merkur-board when using a Raspberry Pi as described in [[here|rpi6lowpan]], I can't ping the -board on it's link local address yet. I can also verify that it detects the -RIPL router but the device is still not reachable. +board on it's link local address yet. So let's for now use a second merkur board as [edge-router][]. @@ -90,6 +89,20 @@ We can now query the moisture sensor using [libcoap]: $ ./coap-client -m get coap://[2001:db8:c001:f00d:221:2eff:ff00:347c]/moisture/v +## Some Linux, Contiki interop progress + +Looking into the above problem in some more detail it shows that using +[[rpi6lowpan]] setup in [monitor mode][] we see all the packages sent +from the merkur boards on Linux but not vice verca. If we +[disable sleep mode][] in contiki we can receive frames from Linux +when pinging the merkur-board from the Raspberry Pi: + + Received NS from fe80::80cd:9a1:845b:4d6a to ff02::1:ff00:3304 with target addressfe80::221:2e��f:ff0N�� + Sending NA to fe80::80cd:9a1:845b:4d6a from fe80::221:2eff:ff00:3304 with target address fe80::221:2eff:ff00:3304 + sicslowpan output: sending packet len 80 + before compression (40): 6000000000283aff + ... + [0]: http://osdwiki.open-entry.com/doku.php/de:projekte:merkur [1]: http://osdwiki.open-entry.com/doku.php/de:projekte:plant_observation_kit [2]: http://osdwiki.open-entry.com/doku.php/de:tutorials:first_steps_arduino_ide @@ -103,3 +116,5 @@ We can now query the moisture sensor using [libcoap]: [edge-router]: http://osdwiki.open-entry.com/doku.php/de:tutorials:contiki:merkur_board_rpl_usb_router [Find A5]: http://osdwiki.open-entry.com/doku.php/de:products:merkur_grove_board_4 [libcoap]: http://sourceforge.net/projects/libcoap/ +[monitor mode]: http://wpan.cakelab.org/#_sniffing +[disable sleep mode]: https://github.com/agx/osd-contiki/commit/5ecf780a4873b6942e50964cfcb3d067b0a60cce diff --git a/hw/rpi6lowpan.mdwn b/hw/rpi6lowpan.mdwn index e42a623..3ec638d 100644 --- a/hw/rpi6lowpan.mdwn +++ b/hw/rpi6lowpan.mdwn @@ -7,7 +7,7 @@ at86rf233) so we can later use it as a e.g. border router. [[!img rpiradio.jpg size="x150" alt="Raspberry Pi with 802.15.4 radio"]] The default Raspberry Pi kernel used to lack support for recent -[wpan-tools][3]. So we cross build akernel and boot it via tftp. +[wpan-tools][3]. So we cross build a kernel and boot it via tftp. Newer kernels have basic support so you only need to do this if you want to hack on the kernel's [6LoWPAN][1] parts. -- cgit v1.2.3