OpenVisualizer is the OpenWSN tool for visualization, debugging and simulation of the motes. It's a set of Python scripts designed to aid debugging, or simply to serve as a visualization platform.
Features
- shows the internal state (neighbor table, scheduling table, queue, etc.) of each node connected to the interface;
- displays the multi-hop graph (not-implemented yet);
- translate error codes into human-readable sentences;
- buttons allows a use to trigger the sending of a packet;
- *New! * nodes can be connected either locally or remotely as an OpenVisualizer probe;
- *New! * provides a simulator in order to test the functionalities of the OpenWSN stack (testing and develop purpose).
Page Contents
Running it
To run OpenVisualizer, double click on openVisualizerGui.py, or via command line:
C:\develop\openwsn-sw\software\openvisualizer\bin\openVisualizerGui> python openVisualizerGui.py
Must run as Administrator under Windows, or as superuser on Linux.
Installation
Prerequisites
Package | Role | Installation Notes |
---|---|---|
Python | implementation language | Using v2.7. v3.x not supported yet. |
PySerial | serial to mote | Using v2.6. |
TAP for Windows | IPv6 tunnel driver (Windows only *) | Using v9.9.2. When selecting components, include TAP Utilities as well as the adapter itself. The TUN interface on Windows requires some configuration. Follow our tun/tap for Windows tutorial, specifically the Install tun page and the Configure tun page (perform Computer B steps). |
PyWin32 | tunnel dependency (Windows only) | Using Build 218. Be sure to review README.txt at the download site to retrieve the proper version. |
serial to mote | ||
Silicon Labs CP2102 UART-to-USB bridge | serial to mote (GINA mote only) | For Windows, download CP210x VCP Windows driver. Use the default options. If successful, Windows shows two new programs (Control Panel > Programs > Programs and Features):Silicon Laboratories CP320x USB to UART Bridge (Driver Removal) Silicon Laboratories CP320x VCP Drivers for Windows XP/2003 Server/Vista/7 |
* On Linux, TUN/TAP already is included with the operating system, and OpenVisualizer configures it on the fly. See our TUN/TAP in Linux page for more information.
Download
Package | Role | Installation Notes |
---|---|---|
openwsn-sw | OpenVisualizer software | Download zip or clone with Git. Typically, we use the develop branch as our common development base. |
openwsn-fw | Firmware header files required by openwsn-sw | Download zip or clone with Git. Must install in a sibling directory to openwsn-sw. So, if software is in C:\develop\openwsn-sw , then firmware must be in C:\develop\openwsn-fw . |
Code Organization
Implementation modules
- openVisualizerGui.py is the master module. It can be run in "real" or "simulator" mode. It lists all the connected nodes (real or emulated) through a serial port and, for each, spawns a different execution thread.
- moteProbe.py contains the code which is executed by each thread. Whenever data is received from the mote, it is passed along to Parser.py.
- Parser.py dispatch all the data it receives to respective parser module. In case a frame of Status/Error/ErrorCritical is received from the serial port, ParserInfoErrorCritical.py calls the corresponding
display*
function from moteState.py. In case it receives a request to send data from a mote (see Serial Format thread in this section), it asks the correct openSerial.py thread to answer accordingly. - moteState.py handles everything which is related to the graphical user interface. It is solely based on
TkInter
, the graphical interface which ships by default with Python. A single semaphore is used to arbitrate the access to the graphic elements. - openType.py lists the variables which need to be accessed by multiple modules, such as the handlers of the different threads.
- StackDefines.py is used by ParserInfoErrorCritical.py to translate error and status code into human-readable text.