# Software Installation

The following software packages are required to run the sniffer:

- µracoli Sniffer Package
- AVR Programming Software
- Python / pyserial
- Wireshark

## µracoli Sniffer Package

Download the package `uracoli-sniffer-<version>.zip` from http://uracoli.nongnu.org/download.html and unzip it into a local directory. In the package the following files and folders are contained:

        uracoli-sniffer-<version>/
        |-- LICENSE
        |-- README.html
        |-- doc ....................... doxygen html documentation
        |   |-- index.html
        |   `-- ...
        |-- firmware .................. sniffer firmware binaries
        |   |-- sniffer_any2400st.hex
        |   |-- sniffer_psk212.hex
        |   `-- ...
        `-- script
            |-- sniffer.py ............ Python interface script
            |-- p2p.lua ............... example LUA dissector for Wireshark
            `-- ...

## AVR Programming Software

In order to flash the sniffer firmware in the transceiver board, you need either a preinstalled bootloader in the MCU or a hardware programmer, e.g. like AVR-Dragon, JTAG-ICE, AVR ISP, USB-ASP, .... The preferred programming tool under Linux is avrdude. On Windows mostly Atmel AVR Studio is used.

Linux:
  Install the package `avrdude` with the package manager of your distribution.
  - Debian: `dpkg -i avrdude`
  - Ubuntu: `sudo apt-get install avrdude`
  - Suse and Centos/Redhat: install the RPMs.

Windows:
  On Windows very often Atmel AVR Studio is used for flashing AVR controllers. Alternatively you can also use `avrdude` on Windows, it comes either with WinAVR or it can be downloaded also as a seperate package.
  - Atmel AVR Studio http://www.atmel.com/microsite/avr_studio_5/
  - WinAVR http://winavr.sourceforge.net/download.html
  - `avrdude` for Windows: http://tomeko.net/other/avrdude/building_avrdude.php
    Below the compile description, there is a link to the file `avrdude.zip`.

## Python / pyserial

The Python interpreter with version 2.6. or 2.7 (but version must be below 3.0) is required to execute the script `sniffer.py`. Additionaly the module pyserial is required for access to the serial port.

Linux:
  Install the Python packages with the preferred package manager of your distribution, e.g.
  - Debian: `dpkg -i python python-serial`
  - Ubuntu: `sudo apt-get install python python-serial`
  - Suse and Centos/Redhat: install the RPMs `python` and `python-serial`.

Windows:
  Download and install the following packages:
  - Python: http://www.python.org/download/
  - The easiest way to install +pyserial+ on Windows is using the tool +pip+ as described here: Installing and Upgrading Python

## Wireshark

Wireshark is powerful tool for network traffic monitoring. It is used to display, inspect and analyze the IEEE-802.15.4 frames captured from the transceiver board. Beside the main application `wireshark`, the package comes with some other handy command line tools like `tshark` or `dumpcap`. If you are a new wireshark user, you should not miss a look into the Wireshark User Manual.

Note:
  Since the script `sniffer.py` saves the monitored data in PCAP format (see http://en.wikipedia.org/wiki/Pcap), wireshark needs not mandatory to be installed on the PC running the sniffer application. The captured PCAP files can be analyzed also offline on a seperate PC. However for a data life display, a wireshark installation is required.

Linux:
  Install the wireshark package with the preferred package manager of your distribution.
  - Debian: `dpkg -i wireshark`
  - Ubuntu: `sudo apt-get install wireshark`
  - Suse and Centos/Redhat: install the RPMs.

Windows:
  Download the Windows Installer from http://www.wireshark.org/download.html