Menu

WifiWatch Log in to Edit

Anonymous

WifiWatch


1. Overview

The WifiWatch module periodically measures the signal strength (%) of a specific wireless network, given by its SSID and the name of the interface. It provides other modules with this information through the OpenMORA board.

2. Usage

2.1 Configuration file

The WifiWatch module reads its main configuration from the pWifiWatch section of a mission file. The parameters read from this section are:

1.    <b>AppTick:</b> The value of AppTick must be kept low, otherwise the module might fail. A value of 1 is good.
2.    <b>CommsTick</b>
3.    <b>GUID:</b> Interface used to monitor the network. Usually there will be only one. In Windows, the GUID can be obtained in the registry (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\X). Remember that the braces ({}) must be included.
4.    <b>SSID:</b> Name of the network to be monitored.
2.2 OpenMORA variables

The signal strength will be published in the WIFI_POWER variable.

3. Module development

This section contains all the information about the development of the module. Read it if you intend to gain insight about the implementation or you plan to improve or debug it.

3.1 Implementation

The module uses the CWirelessPower object built inside MRPT. It is included in mrpt/hwdrivers/CWirelessPower.h. CWirelessPower offers an interface to the Wifi subsystem in an OS independent manner. WifiWatch periodically requests the CWirelessPower object for a measurement, and publishes the results.

3.2 Limitations of the implementation

In Linux, CWirelessPower uses Wireless Tools. To obtain an updated value of the power, a scan must be performed. This operation requires superuser rights. Thus, WifiWatch will ask for the root (or user, depending on the sudo settings of the system) password before starting to monitor the network.

3.3 Tests

WifiWatch has been tested while monitoring a fixed access point from a mobile robot. The results obtained match the measurement given by Windows.

3.4 Bugs

This section is subject to change as new bugs are found and old ones solved

  • Sometimes, the value returned by CWirelessPower contains a "spurious" value higher than 100. It has not been determined yet under which conditions this happens.
3.5 TODO
  • Publish the output of the module as a serialized observation, that can be written in a rawlog. At the moment of publishing this document, this feature is being added and debugged.

Discussion

Anonymous
Anonymous

Add attachments
Cancel





MongoDB Logo MongoDB