summaryrefslogtreecommitdiff
path: root/hw/merkur-board.mdwn
blob: d10b6d470169fe59fbdc1ab3e712d9ed34d5a68a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# 6LowPAN with the Merkur-Board

In for the [[rpi6lowpan]] to be actually usefull it needs to talk to
some sensors. The [Merkur Board][0] is open hardware:

[[!img merkur-board.jpg size="x150" alt="Merkur-Board"]]

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
[Plant Oberservation Kit][1] set.

One uses USB-Serial converter to flash the device. Details on how to
connect it are [here][2]. Once the converter is attached to the board
it's LED starts to blink (in my case 4 times short, one time long).

Once flushed the board can be run on [battery power][3].

* [Details on the different pinouts][4]
* [Details on how to flash the device][5] with avrdude
* The plant moisture sensor connects to [A5][6]

Compiling works like

    apt-get install avr-libc binutils-avr gcc-avr gdb-avr simulavr avrdude doxygen
    git clone https://github.com/osdomotics/osd-contiki
    cd ./osd-contiki/examples/osd/arduino-plantobserving
    ./run.sh

The build software can then be flushed to the device.  Note that it uses
/dev/ttyUSB0 by default. This needs to be adjusted. When trying the flash the
merkur-board with the usual USB-serial converter I see:

	$ sudo apt-get install avrdude
	$ cd osd-contiki/examples/osd/arduino-plantobserving
	$ ./flash.sh /dev/ttyUSB4
	INFO: compiling with CoAP-13
	avrdude -pm128rfa1 -c arduino -P/dev/ttyUSB4 -b57600 -e -U \
    flash:w:arduino-example.osd-merkur.hex:a -U \
    eeprom:w:arduino-example.osd-merkur.eep:a
	avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x72
	avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x6c
	avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xc0
	avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x72
	avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x6c
	avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xc0
	avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x72
	avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x6c
	avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x72
	avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x6c

	avrdude done.  Thank you.

	Makefile:88: recipe for target 'flash' failed
	make: *** [flash] Error 1

even if I [ground the reset pin][7] (Pin 3). However if I use a [*FTDI basic
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.

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.

[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
[3]: http://osdwiki.open-entry.com/lib/exe/detail.php/de:ideen:merkurknoten.jpg?id=de%3Aideen%3Afirststepsmerkurboard
[4]: http://osdwiki.open-entry.com/doku.php/de:projekte:merkur#pinouts
[5]: http://osdwiki.open-entry.com/doku.php/en:projekte:bootloader?s[]=flash
[6]: http://osdwiki.open-entry.com/doku.php/de:products:merkur_grove_board_4#steckerbelegung
[7]: http://www.meetup.com/IoT-Vienna/events/181968432/
[Prolific Pinout]: https://jethomson.files.wordpress.com/2010/02/ca-42_dku-5_pinout.jpg
[8]: http://www.open-entry.com/coxcoon/de/Zubehoer/FTDI-Basic-Breakout-3-3V.html