Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

Tip
titleOops!

Before you can go on, you need to install mingw, which gives you all of the build tools to build the firmware:

  • Download from http://www.mingw.org/

    Info

    If you're as lazy as we are, you can just follow the "Looking for the latest version? Download mingw-get-setup.exe" link at the top of http://sourceforge.net/projects/mingw/files/.


  • Use the following installation options:
    • Install at C:\MingGW\
    • Mark the following packages for installation:
      • ming32-base
      • msys-base
    • Select "Installation > Apply Changes" to download and install those packages. This will download and install the packages.
  • Add C:\MinGW\bin to your PATH environment variable
  • Verify you can call the gcc command:

    Code Block
    languagebash
    C:\Users\Thomas>gccTengfei>gcc --version
    gcc (GCC) 4.8.1
    Copyright (C) 2013 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


...

Tip
titleOops!

Before you can go on, you need to install Python:

  • Download Python 2.7.x from https://www.python.org/ (NOT Python 3!)

    Warning

    At the time of writing, Python 2.7.10 was just released. It doesn't work for compiling the OpenWSN code in emulation mode, for the reasons detailed in http://comments.gmane.org/gmane.comp.python.cython.user/13394.

    At the time of writing, we recommend you use Python 2.7.9.

    Let's hope Python 2.7.11 fixes this bug. If you read this and Python 2.7.11 was already released and works, please edit this page, or leave a comment at the bottom.


  • Add the following directories to your PATH environment variable:
    • C:\Python27
    • C:\Python27\Scripts
  • Verify you can call python:

    Code Block
    languagebash
    C:\Users\Thomas>pythonTengfei>python --version
    Python 2.7.9


  • Install pywin32, an extension for Windows. You will need it to interact with the TAP virtual interface
  • Install the Microsoft Visual C++ for Windows. You will need it to compile the yappi module which will be installed with pip at next
  • Install the OpenWSN Python dependencies (from the openwsn-swopenvisualizer\ and coap\ directory on your Desktop):

    Code Block
    languagebash
    C:\Users\ThomasTengfei\Desktop\openwsn-sw>openvisualizer> pip install -r requirements.txt
    C:\Users\Tengfei\Desktop\coap> pip install -r requirements.txt


  • Install SCons, the build environment:

    Code Block
    languagebash
    C:\Users\ThomasTengfei\Desktop\openwsn-sw>openvisualizer> pip install --egg scons


    Note

    If you have any problem with the installation of SCons, try the following command

    Code Block
    languagebash
    pip install --index-url=http://pypi.python.org/simple --trusted-host pypi.python.org --egg scons



...

Code Block
languagebash
C:\Users\ThomasTengfei\Desktop\openwsn-fw>scons board=python toolchain=gcc oos_openwsn
scons: Reading SConscript files ...
 ___                 _ _ _  ___  _ _
| . | ___  ___ ._ _ | | | |/ __>| \ |
| | || . \/ ._>| ' || | | |\__ \|   |
`___'|  _/\___.|_|_||__/_/ <___/|_\_|
     |_|                  openwsn.org
[...]
Archiving          build\python_gcc\bsp\boards\libbsp.a
Indexing           build\python_gcc\bsp\boards\libbsp.a
gcc -shared -o build\python_gcc\projects\common\oos_openwsn.pyd build\python_gcc\projects\common\03o
os_openwsn\03oos_openwsn_obj.o build\python_gcc\projects\common\03oos_openwsn\openwsnmodule_obj.o -L
C:\Python27\libs -Lbuild\python_gcc\bsp\boards -Lbuild\python_gcc\kernel\openos -Lbuild\python_gcc\d
rivers -Lbuild\python_gcc\openstack -Lbuild\python_gcc\openapps -lopenstack -lopenapps -lkernel -ldr
ivers -lbsp -lpython27 -Wl,--out-implib,build\python_gcc\projects\common\liboos_openwsn.a
scons: done building targets.

...

Expand
titleclick here for full output...


Code Block
C:\Users\ThomasTengfei\Desktop\openwsn-fw>scons board=python toolchain=gcc oos_openwsn
scons: Reading SConscript files ...
 ___                 _ _ _  ___  _ _
| . | ___  ___ ._ _ | | | |/ __>| \ |
| | || . \/ ._>| ' || | | |\__ \|   |
`___'|  _/\___.|_|_||__/_/ <___/|_\_|
     |_|                  openwsn.org
scons: done reading SConscript files.
scons: Building targets ...
Objectifying       build\python_gcc\projects\common\03oos_openwsn\03oos_openwsn.c -> 03oos_openwsn_obj.c
Objectifying       build\python_gcc\bsp\boards\board.h -> board_obj.h
Objectifying       build\python_gcc\inc\opendefs.h -> opendefs_obj.h
Objectifying       build\python_gcc\openstack\openstack.h -> openstack_obj.h
Objectifying       build\python_gcc\kernel\scheduler.h -> scheduler_obj.h
Objectifying       build\python_gcc\openstack\02a-MAClow\adaptive_sync.h -> adaptive_sync_obj.h
Objectifying       build\python_gcc\openapps\c6t\c6t.h -> c6t_obj.h
Objectifying       build\python_gcc\openapps\cexample\cexample.h -> cexample_obj.h
Objectifying       build\python_gcc\openapps\cinfo\cinfo.h -> cinfo_obj.h
Objectifying       build\python_gcc\openapps\cleds\cleds.h -> cleds_obj.h
Objectifying       build\python_gcc\openapps\cstorm\cstorm.h -> cstorm_obj.h
Objectifying       build\python_gcc\openapps\cwellknown\cwellknown.h -> cwellknown_obj.h
Objectifying       build\python_gcc\openstack\03b-IPv6\icmpv6echo.h -> icmpv6echo_obj.h
Objectifying       build\python_gcc\openstack\03b-IPv6\icmpv6rpl.h -> icmpv6rpl_obj.h
Objectifying       build\python_gcc\openstack\cross-layers\idmanager.h -> idmanager_obj.h
Objectifying       build\python_gcc\openstack\02a-MAClow\IEEE802154E.h -> IEEE802154E_obj.h
Objectifying       build\python_gcc\openstack\02b-MAChigh\neighbors.h -> neighbors_obj.h
Objectifying       build\python_gcc\openstack\04-TRAN\opencoap.h -> opencoap_obj.h
Objectifying       build\python_gcc\openstack\cross-layers\openqueue.h -> openqueue_obj.h
Objectifying       build\python_gcc\openstack\cross-layers\openrandom.h -> openrandom_obj.h
Objectifying       build\python_gcc\drivers\common\openserial.h -> openserial_obj.h
Objectifying       build\python_gcc\openstack\04-TRAN\opentcp.h -> opentcp_obj.h
Objectifying       build\python_gcc\drivers\common\opentimers.h -> opentimers_obj.h
Objectifying       build\python_gcc\openstack\02b-MAChigh\processIE.h -> processIE_obj.h
Objectifying       build\python_gcc\openapps\rrt\rrt.h -> rrt_obj.h
Objectifying       build\python_gcc\openstack\02b-MAChigh\schedule.h -> schedule_obj.h
Objectifying       build\python_gcc\openstack\02b-MAChigh\sixtop.h -> sixtop_obj.h
Objectifying       build\python_gcc\openapps\techo\techo.h -> techo_obj.h
Objectifying       build\python_gcc\openapps\uecho\uecho.h -> uecho_obj.h
Objectifying       build\python_gcc\openstack\02a-MAClow\IEEE802154.h -> IEEE802154_obj.h
Compiling (shared) build\python_gcc\projects\common\03oos_openwsn\03oos_openwsn_obj.o
Copy("build\python_gcc\projects\common\03oos_openwsn\openwsnmodule.c", "bsp\boards\python\openwsnmodule.c")
Objectifying       build\python_gcc\projects\common\03oos_openwsn\openwsnmodule.c -> openwsnmodule_obj.c
Objectifying       build\python_gcc\bsp\boards\bsp_timer.h -> bsp_timer_obj.h
Compiling (shared) build\python_gcc\projects\common\03oos_openwsn\openwsnmodule_obj.o
Objectifying       build\python_gcc\openstack\openstack.c -> openstack_obj.c
Objectifying       build\python_gcc\openstack\03b-IPv6\forwarding.h -> forwarding_obj.h
Objectifying       build\python_gcc\openstack\03b-IPv6\icmpv6.h -> icmpv6_obj.h
Objectifying       build\python_gcc\openstack\03a-IPHC\iphc.h -> iphc_obj.h
Objectifying       build\python_gcc\openapps\openapps.h -> openapps_obj.h
Objectifying       build\python_gcc\openstack\03a-IPHC\openbridge.h -> openbridge_obj.h
Objectifying       build\python_gcc\openstack\04-TRAN\openudp.h -> openudp_obj.h
Compiling          build\python_gcc\openstack\openstack_obj.o
Objectifying       build\python_gcc\openstack\02a-MAClow\topology.c -> topology_obj.c
Objectifying       build\python_gcc\openstack\02a-MAClow\topology.h -> topology_obj.h
Compiling          build\python_gcc\openstack\02a-MAClow\topology_obj.o
Objectifying       build\python_gcc\openstack\02a-MAClow\IEEE802154.c -> IEEE802154_obj.c
Objectifying       build\python_gcc\openstack\cross-layers\packetfunctions.h -> packetfunctions_obj.h
Compiling          build\python_gcc\openstack\02a-MAClow\IEEE802154_obj.o
Objectifying       build\python_gcc\openstack\02a-MAClow\IEEE802154E.c -> IEEE802154E_obj.c
Objectifying       build\python_gcc\bsp\boards\debugpins.h -> debugpins_obj.h
Objectifying       build\python_gcc\bsp\boards\leds.h -> leds_obj.h
Objectifying       build\python_gcc\bsp\boards\radiotimer.h -> radiotimer_obj.h
Objectifying       build\python_gcc\bsp\boards\radio.h -> radio_obj.h
Compiling          build\python_gcc\openstack\02a-MAClow\IEEE802154E_obj.o
Objectifying       build\python_gcc\openstack\02a-MAClow\adaptive_sync.c -> adaptive_sync_obj.c
Compiling          build\python_gcc\openstack\02a-MAClow\adaptive_sync_obj.o
Objectifying       build\python_gcc\openstack\02b-MAChigh\neighbors.c -> neighbors_obj.c
Compiling          build\python_gcc\openstack\02b-MAChigh\neighbors_obj.o
Objectifying       build\python_gcc\openstack\02b-MAChigh\otf.c -> otf_obj.c
Objectifying       build\python_gcc\openstack\02b-MAChigh\otf.h -> otf_obj.h
Compiling          build\python_gcc\openstack\02b-MAChigh\otf_obj.o
Objectifying       build\python_gcc\openstack\02b-MAChigh\processIE.c -> processIE_obj.c
Compiling          build\python_gcc\openstack\02b-MAChigh\processIE_obj.o
Objectifying       build\python_gcc\openstack\02b-MAChigh\schedule.c -> schedule_obj.c
Compiling          build\python_gcc\openstack\02b-MAChigh\schedule_obj.o
Objectifying       build\python_gcc\openstack\02b-MAChigh\sixtop.c -> sixtop_obj.c
Compiling          build\python_gcc\openstack\02b-MAChigh\sixtop_obj.o
Objectifying       build\python_gcc\openstack\03a-IPHC\iphc.c -> iphc_obj.c
Compiling          build\python_gcc\openstack\03a-IPHC\iphc_obj.o
Objectifying       build\python_gcc\openstack\03a-IPHC\openbridge.c -> openbridge_obj.c
Compiling          build\python_gcc\openstack\03a-IPHC\openbridge_obj.o
Objectifying       build\python_gcc\openstack\03b-IPv6\forwarding.c -> forwarding_obj.c
Compiling          build\python_gcc\openstack\03b-IPv6\forwarding_obj.o
Objectifying       build\python_gcc\openstack\03b-IPv6\icmpv6.c -> icmpv6_obj.c
Compiling          build\python_gcc\openstack\03b-IPv6\icmpv6_obj.o
Objectifying       build\python_gcc\openstack\03b-IPv6\icmpv6echo.c -> icmpv6echo_obj.c
Compiling          build\python_gcc\openstack\03b-IPv6\icmpv6echo_obj.o
Objectifying       build\python_gcc\openstack\03b-IPv6\icmpv6rpl.c -> icmpv6rpl_obj.c
Compiling          build\python_gcc\openstack\03b-IPv6\icmpv6rpl_obj.o
Objectifying       build\python_gcc\openstack\04-TRAN\opencoap.c -> opencoap_obj.c
Compiling          build\python_gcc\openstack\04-TRAN\opencoap_obj.o
Objectifying       build\python_gcc\openstack\04-TRAN\opentcp.c -> opentcp_obj.c
Compiling          build\python_gcc\openstack\04-TRAN\opentcp_obj.o
Objectifying       build\python_gcc\openstack\04-TRAN\openudp.c -> openudp_obj.c
Objectifying       build\python_gcc\openapps\uinject\uinject.h -> uinject_obj.h
Compiling          build\python_gcc\openstack\04-TRAN\openudp_obj.o
Objectifying       build\python_gcc\openstack\cross-layers\idmanager.c -> idmanager_obj.c
Objectifying       build\python_gcc\bsp\boards\eui64.h -> eui64_obj.h
Compiling          build\python_gcc\openstack\cross-layers\idmanager_obj.o
Objectifying       build\python_gcc\openstack\cross-layers\openqueue.c -> openqueue_obj.c
Compiling          build\python_gcc\openstack\cross-layers\openqueue_obj.o
Objectifying       build\python_gcc\openstack\cross-layers\openrandom.c -> openrandom_obj.c
Compiling          build\python_gcc\openstack\cross-layers\openrandom_obj.o
Objectifying       build\python_gcc\openstack\cross-layers\packetfunctions.c -> packetfunctions_obj.c
Compiling          build\python_gcc\openstack\cross-layers\packetfunctions_obj.o
Archiving          build\python_gcc\openstack\libopenstack.a
Indexing           build\python_gcc\openstack\libopenstack.a
Objectifying       build\python_gcc\openapps\openapps.c -> openapps_obj.c
Compiling          build\python_gcc\openapps\openapps_obj.o
Objectifying       build\python_gcc\openapps\c6t\c6t.c -> c6t_obj.c
Compiling          build\python_gcc\openapps\c6t\c6t_obj.o
Objectifying       build\python_gcc\openapps\cexample\cexample.c -> cexample_obj.c
Compiling          build\python_gcc\openapps\cexample\cexample_obj.o
Objectifying       build\python_gcc\openapps\cinfo\cinfo.c -> cinfo_obj.c
Compiling          build\python_gcc\openapps\cinfo\cinfo_obj.o
Objectifying       build\python_gcc\openapps\cleds\cleds.c -> cleds_obj.c
Compiling          build\python_gcc\openapps\cleds\cleds_obj.o
Objectifying       build\python_gcc\openapps\cstorm\cstorm.c -> cstorm_obj.c
Compiling          build\python_gcc\openapps\cstorm\cstorm_obj.o
Objectifying       build\python_gcc\openapps\cwellknown\cwellknown.c -> cwellknown_obj.c
Compiling          build\python_gcc\openapps\cwellknown\cwellknown_obj.o
Objectifying       build\python_gcc\openapps\rrt\rrt.c -> rrt_obj.c
Compiling          build\python_gcc\openapps\rrt\rrt_obj.o
Objectifying       build\python_gcc\openapps\techo\techo.c -> techo_obj.c
Compiling          build\python_gcc\openapps\techo\techo_obj.o
Objectifying       build\python_gcc\openapps\uecho\uecho.c -> uecho_obj.c
Compiling          build\python_gcc\openapps\uecho\uecho_obj.o
Objectifying       build\python_gcc\openapps\uinject\uinject.c -> uinject_obj.c
Compiling          build\python_gcc\openapps\uinject\uinject_obj.o
Archiving          build\python_gcc\openapps\libopenapps.a
Indexing           build\python_gcc\openapps\libopenapps.a
Objectifying       build\python_gcc\kernel\openos\scheduler.c -> scheduler_obj.c
Compiling          build\python_gcc\kernel\openos\scheduler_obj.o
Archiving          build\python_gcc\kernel\openos\libkernel.a
Indexing           build\python_gcc\kernel\openos\libkernel.a
Objectifying       build\python_gcc\drivers\common\openhdlc.c -> openhdlc_obj.c
Objectifying       build\python_gcc\drivers\common\openhdlc.h -> openhdlc_obj.h
Compiling          build\python_gcc\drivers\common\openhdlc_obj.o
Objectifying       build\python_gcc\drivers\common\opensensors.c -> opensensors_obj.c
Objectifying       build\python_gcc\drivers\common\opensensors.h -> opensensors_obj.h
Compiling          build\python_gcc\drivers\common\opensensors_obj.o
Objectifying       build\python_gcc\drivers\common\openserial.c -> openserial_obj.c
Objectifying       build\python_gcc\bsp\boards\uart.h -> uart_obj.h
Compiling          build\python_gcc\drivers\common\openserial_obj.o
Objectifying       build\python_gcc\drivers\common\opentimers.c -> opentimers_obj.c
Compiling          build\python_gcc\drivers\common\opentimers_obj.o
Archiving          build\python_gcc\drivers\libdrivers.a
Indexing           build\python_gcc\drivers\libdrivers.a
Compiling          build\python_gcc\bsp\boards\python\board_obj.o
Compiling          build\python_gcc\bsp\boards\python\bsp_timer_obj.o
Compiling          build\python_gcc\bsp\boards\python\debugpins_obj.o
Compiling          build\python_gcc\bsp\boards\python\eui64_obj.o
Compiling          build\python_gcc\bsp\boards\python\leds_obj.o
Compiling          build\python_gcc\bsp\boards\python\radio_obj.o
Compiling          build\python_gcc\bsp\boards\python\radiotimer_obj.o
Compiling          build\python_gcc\bsp\boards\python\uart_obj.o
Compiling          build\python_gcc\bsp\boards\python\supply_obj.o
Compiling          build\python_gcc\bsp\boards\common\aes_cbc.o
Compiling          build\python_gcc\bsp\boards\common\aes_ccms.o
Compiling          build\python_gcc\bsp\boards\common\aes_ctr.o
Compiling          build\python_gcc\bsp\boards\common\aes_ecb.o
Compiling          build\python_gcc\bsp\boards\common\firmware_crypto_engine.o
Compiling          build\python_gcc\bsp\boards\common\dummy_crypto_engine.o
Archiving          build\python_gcc\bsp\boards\libbsp.a
Indexing           build\python_gcc\bsp\boards\libbsp.a
gcc -shared -o build\python_gcc\projects\common\oos_openwsn.pyd build\python_gcc\projects\common\03o
os_openwsn\03oos_openwsn_obj.o build\python_gcc\projects\common\03oos_openwsn\openwsnmodule_obj.o -L
C:\Python27\libs -Lbuild\python_gcc\bsp\boards -Lbuild\python_gcc\kernel\openos -Lbuild\python_gcc\d
rivers -Lbuild\python_gcc\openstack -Lbuild\python_gcc\openapps -lopenstack -lopenapps -lkernel -ldr
ivers -lbsp -lpython27 -Wl,--out-implib,build\python_gcc\projects\common\liboos_openwsn.a
scons: done building targets.


...

Code Block
languagebash
C:\Users\ThomasTengfei\Desktop\openwsn-sw\software\openvisualizer>scons runweb --sim
scons: Reading SConscript files ...
 ___                 _ _ _  ___  _ _
| . | ___  ___ ._ _ | | | |/ __>| \ |
| | || . \/ ._>| ' || | | |\__ \|   |
`___'|  _/\___.|_|_||__/_/ <___/|_\_|
     |_|                  openwsn.org
scons: done reading SConscript files.
scons: Building targets ...
Copy("bin\openVisualizerApp\sim_files", "..\..\..\openwsn-fw\bsp\boards\python\openwsnmodule_obj.h")
Mkdir("bin\openVisualizerApp\sim_files\windows")
Copy("bin\openVisualizerApp\sim_files\windows\oos_openwsn-x86.pyd", "..\..\..\openwsn-fw\build\python_gcc\projects\common\oos_openwsn.pyd")
Copy("bin\openVisualizerApp\sim_files", "..\..\..\openwsn-fw\build\python_gcc\projects\common\oos_openwsn.pyd")
Delete("build\runui\web_files")
Mkdir("C:\Users\ThomasTengfei\Desktop\openwsn-sw\software\openvisualizeropenvisualizer\build\runui")
Copy("build\runui\openvisualizer.confweb_files", "bin\openVisualizerApp\openvisualizer.confweb_files")
MkdirDelete("C:\Users\Thomas\Desktop\openwsn-sw\software\openvisualizer\build\runui")
Copy("build\runui\logging.conf", "bin\openVisualizerApp\logging.conf\sim_files")
Mkdir("C:\Users\ThomasTengfei\Desktop\openwsn-sw\software\openvisualizer\build\runui")
Copy("build\runui\trace.confsim_files", "bin\openVisualizerApp\trace.confsim_files")
DeleteuiRunner(["build\runui\web_files")
Mkdir("C:\Users\Thomas\Desktop\openwsn-sw\software\openvisualizer\build\runui")
Copy("build\runui\web_files", "bin\openVisualizerApp\web_files")
Delete("build\runui\sim_files")
Mkdir("C:\Users\Thomas\Desktop\openwsn-sw\software\openvisualizer\build\runui")
Copy("build\runui\sim_files", "bin\openVisualizerApp\sim_files")
uiRunner(["bin\openVisualizerApp\openVisualizerWeb"], ["bin\openVisualizerApp\bin\openVisualizerWeb"], ["bin\openVisualizerWeb.py"])
1310:0946:2215 INFO create instance
1310:0946:2215 INFO create instance
1310:0946:2215 INFO create instance
1310:0946:2215 INFO create instance
1310:0946:2215 INFO create instance
1310:0946:2215 INFO create instance
1310:0946:2215 INFO create instance
1310:0946:2215 INFO create instance
1310:0946:2215 INFO create instance
13:09:22 INFO 3 [OPENWSN] booted
OpenVisualizer
web interface started at  0.0.0.0: 8080
enter 'q' to exit
> 13:09:22 INFO 2 [OPENWSN] booted
13:09:22 INFO 1 [OPENWSN] booted

...

Info

As SCons on Windows can be run with scons.bat, you can launch the simulation on another window with the following command :

C:\Users\ThomasTengfei\Desktop\openwsn-sw\software\openvisualizer>start cmd.exe /k "scons.bat" runweb --sim
Closing SCons window will kill the simulation.

...

Code Block
languagebash
C:\Users\Thomas>pingTengfei>ping bbbb::1415:92cc:0:2

Pinging bbbb::1415:92cc:0:2 with 32 bytes of data:
Reply from bbbb::1415:92cc:0:2: time=101ms
Reply from bbbb::1415:92cc:0:2: time=67ms
Reply from bbbb::1415:92cc:0:2: time=97ms
Reply from bbbb::1415:92cc:0:2: time=91ms

Ping statistics for bbbb::1415:92cc:0:2:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 67ms, Maximum = 101ms, Average = 89ms

...

Code Block
languagebash
C:\Users\Thomas>pingTengfei>ping bbbb::1415:92cc:0:3

Pinging bbbb::1415:92cc:0:3 with 32 bytes of data:
Reply from bbbb::1415:92cc:0:3: time=206ms
Reply from bbbb::1415:92cc:0:3: time=95ms
Reply from bbbb::1415:92cc:0:3: time=153ms
Reply from bbbb::1415:92cc:0:3: time=76ms

Ping statistics for bbbb::1415:92cc:0:3:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 76ms, Maximum = 206ms, Average = 132ms

...

Code Block
languagebash
C:\Users\ThomasTengfei\Desktop\openwsn-fw\openapps\cinfo
OpenWSN 1.4.1
Python
Python
Python
Done. Press enter to close.

...

Tip
titleOops!

Before you can go on, you need to install Wireshark 6TiSCH dissectors:

  • Download 32bit/64bit version from httphttps://builderwww.openwsnwireshark.org/job/6TiSCH%20Wireshark/
  • Install with default settings

Start Wireshark (run as administrator) on the OpenWSN interface at address, and configure the filtering for zep (the ZigBee encapsulation protocol).

For now, you don't see any packets, that's normal:

Image Removed

In the OpenVisualizer's "Event bus" tab, check the "Wireshark debug" box.

Image Removed

You now see all the packets exchanged over the simulated radio environment, exciting!

...

Start Wireshark (run as administrator) on the OpenWSN interface at address, and configure the filtering for zep (the ZigBee encapsulation protocol).

You now see all the packets exchanged over the simulated radio environment, exciting!

Image Added


You may not able to see the 6LoWPAN packet in your Wireshark, then you need to configure  Wireshark to decode it. Choose one packet in your wireshark and right click to choose "Decode As".

Image Added


In the prompt window, Choose 6LoWPAN protocol on the Current column.

Image Added

Click "OK" to close the window and do a "Reload" or press "Ctrl+R" to reload current setting. After this operation, you will see the 6LoWPAN packets.

You also need to configure the Wireshark to tell which IPv6 prefix is the network is using. In packet detail content, right click the 6LoWPAN dissect area and choose "Protocol Perference" → "Open 6LoWPAN Perference".

Image Added

Type bbbb::/64 in the Context 0 textbox to indicate the prefix is using bbbb::, and click OK to close the window. A "Reload" Operation is also required.

Image Added

Here is an example pcap file of openwsn simulation network with three motes: example.

Closing the OpenVisualizer

In the command prompt from where you started the OpenVisualizer, type q quit to close it

Now with real hardware

...

Code Block
languagebash
C:\Users\ThomasTengfei\Desktop\openwsn-fw>scons board=telosb toolchain=mspgcc bootload=COM4,COM5,COM6 oos_openwsn
scons: Reading SConscript files ...
 ___                 _ _ _  ___  _ _
| . | ___  ___ ._ _ | | | |/ __>| \ |
| | || . \/ ._>| ' || | | |\__ \|   |
`___'|  _/\___.|_|_||__/_/ <___/|_\_|
     |_|                  openwsn.org
scons: done reading SConscript files.
scons: Building targets ...
[...]
Linking   firmware\openos\projects\common\03oos_openwsn_prog.exe
msp430-size firmware\openos\projects\common\03oos_openwsn_prog.exe
   text    data     bss     dec     hex filename
  43156       0    4006   47162    b83a firmware\openos\projects\common\03oos_openwsn_prog.exe
msp430-objcopy --output-target=ihex firmware\openos\projects\common\03oos_openwsn_prog.exe firmware\openos\projects\comm
on\03oos_openwsn_prog.ihex
msp430-objcopy --output-target=binary firmware\openos\projects\common\03oos_openwsn_prog.exe firmware\openos\projects\co
mmon\03oos_openwsn_prog.bin
telosb_bootload(["firmware\openos\projects\common\03oos_openwsn_prog.phonyupload"], ["firmware\openos\projects\common\03
oos_openwsn_prog.ihex"])
starting bootloading on COM4
starting bootloading on COM5
starting bootloading on COM6
[...]
done bootloading on COM4
done bootloading on COM6
done bootloading on COM5
scons: done building targets.

...

Code Block
languagebash
C:\Users\ThomasTengfei\Desktop\openwsn-sw\software\openvisualizer>scons runweb
scons: Reading SConscript files ...
 ___                 _ _ _  ___  _ _
| . | ___  ___ ._ _ | | | |/ __>| \ |
| | || . \/ ._>| ' || | | |\__ \|   |
`___'|  _/\___.|_|_||__/_/ <___/|_\_|
     |_|                  openwsn.org
scons: done reading SConscript files.
scons: Building targets ...
Delete("build\runui\web_files")
Mkdir("C:\Users\tengfei\Desktop\openwsn\openwsn-sw\software\openvisualizer\build\runui")
Copy("build\runui\web_files", "bin\openVisualizerApp\web_files")
Delete("build\runui\sim_files")
Mkdir("C:\Users\tengfei\Desktop\openwsn\openwsn-sw\software\openvisualizer\build\runui")
Copy("build\runui\sim_files", "bin\openVisualizerApp\sim_files")
uiRunner(["bin\openVisualizerApp\openVisualizerWeb"], ["bin\openVisualizerApp\openVisualizerWeb.py"]
)
OpenVisualizer
web interface started at  0.0.0.0: 8080
enter 'q' to exit
>

...

Code Block
languagebash
C:\Users\Thomas>pingTengfei>ping bbbb::1415:9200:12:e63b
Pinging bbbb::1415:9200:12:e63b with 32 bytes of data:
Reply from bbbb::1415:9200:12:e63b: time=285ms
Reply from bbbb::1415:9200:12:e63b: time=276ms
Reply from bbbb::1415:9200:12:e63b: time=437ms
Reply from bbbb::1415:9200:12:e63b: time=431ms
Ping statistics for bbbb::1415:9200:12:e63b:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 276ms, Maximum = 437ms, Average = 357ms

...

Code Block
languagebash
C:\Users\ThomasTengfei\Desktop\openwsn-fw\openapps\cinfo>python cinfo.py
C:\Users\ThomasTengfei\Desktop\openwsn-fw\openapps\cinfo
OpenWSN 1.4.1
TelosB
MSP430f1611
CC2420
Done. Press enter to close.

...