2012-02-06 17:17:25 +01:00
|
|
|
|
# Sample configuration file for OwlPS Positioner
|
2010-06-23 15:00:46 +02:00
|
|
|
|
|
2011-04-27 16:36:36 +02:00
|
|
|
|
# [Miscellaneous options]
|
|
|
|
|
|
2012-06-08 14:42:12 +02:00
|
|
|
|
# This option controls whether or not the output text files are flushed
|
|
|
|
|
# (written to the storage support) after each line.
|
|
|
|
|
# The default is to flush.
|
2011-03-29 14:21:14 +02:00
|
|
|
|
#flush-output-files = true
|
|
|
|
|
|
2012-06-08 12:27:51 +02:00
|
|
|
|
# "Replay" mode. With this option enabled, the current time is the
|
|
|
|
|
# emission timestamp of the most recent request; you will want to
|
|
|
|
|
# enable this when reading inputs (requests) off-line to replay
|
|
|
|
|
# scenarios, if time-related options are enabled (e.g.
|
|
|
|
|
# positioning.calibration-requests-timeout).
|
2012-08-24 16:32:49 +02:00
|
|
|
|
# To be useful, this option requires the listeners' clocks to be
|
|
|
|
|
# synchronised. If it is not the case, you should leave it disabled.
|
2012-06-08 12:27:51 +02:00
|
|
|
|
# The default is to run in "live mode", i.e. with this option disabled.
|
|
|
|
|
#replay = off
|
|
|
|
|
|
2010-06-23 15:00:46 +02:00
|
|
|
|
[data-input]
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# The options in this section are related to the data that are read
|
|
|
|
|
# when the program starts.
|
2010-06-23 15:00:46 +02:00
|
|
|
|
|
2013-06-14 21:54:26 +02:00
|
|
|
|
# Description of the machines running the listeners (capture points).
|
|
|
|
|
cp-medium = CSV
|
|
|
|
|
cp-csv-file = /usr/local/etc/owlps/listeners.csv
|
2011-03-29 12:48:56 +02:00
|
|
|
|
|
2011-07-19 18:40:17 +02:00
|
|
|
|
# Description of the clients
|
|
|
|
|
mobile-medium = CSV
|
2012-02-06 17:25:47 +01:00
|
|
|
|
mobile-csv-file = /usr/local/etc/owlps/mobiles.csv
|
2011-07-19 18:40:17 +02:00
|
|
|
|
|
2011-04-27 16:36:36 +02:00
|
|
|
|
# Description of deployment area topology.
|
|
|
|
|
# You probably don't need a full description of the topology, see the
|
|
|
|
|
# topology example file for details.
|
|
|
|
|
# Uncomment the following line to activate the topology reading.
|
|
|
|
|
#topology-medium = CSV
|
2013-05-14 19:37:18 +02:00
|
|
|
|
#areas-csv-file = /usr/local/etc/owlps/topology.csv
|
|
|
|
|
#waypoints-csv-file = /usr/local/etc/owlps/waypoints.csv
|
2010-06-23 15:00:46 +02:00
|
|
|
|
|
2011-03-29 12:48:56 +02:00
|
|
|
|
#reference-points-medium = CSV
|
2013-05-14 19:37:18 +02:00
|
|
|
|
#reference-points-csv-file = /usr/local/etc/owlps/reference_points.csv
|
2010-06-23 15:00:46 +02:00
|
|
|
|
|
|
|
|
|
[input]
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# The following options are related to the input of the requests
|
|
|
|
|
# (positioning requests and (auto-)calibration requests) from the
|
|
|
|
|
# aggregator.
|
2010-06-23 15:00:46 +02:00
|
|
|
|
|
2011-03-29 12:48:56 +02:00
|
|
|
|
#medium = CSV
|
2013-05-14 19:37:18 +02:00
|
|
|
|
#csv-file = /tmp/input.csv
|
2011-03-29 12:48:56 +02:00
|
|
|
|
|
|
|
|
|
#medium = UDP
|
|
|
|
|
#udp-port = 9902
|
|
|
|
|
|
|
|
|
|
[log]
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# The following options allow to log the requests received from the
|
|
|
|
|
# aggregator.
|
2011-03-29 12:48:56 +02:00
|
|
|
|
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# Uncomment the following line to completely disable logging (has
|
|
|
|
|
# precedence over the other logging options):
|
2011-03-29 12:48:56 +02:00
|
|
|
|
#medium = none
|
|
|
|
|
|
2013-05-14 19:37:18 +02:00
|
|
|
|
#medium = CSV
|
|
|
|
|
#csv-file = /tmp/owlps-positioner.log
|
2010-06-23 15:00:46 +02:00
|
|
|
|
|
|
|
|
|
[positioning]
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# The options in this section are related to the way the requests are
|
|
|
|
|
# handled and the results are computed.
|
2010-06-23 15:00:46 +02:00
|
|
|
|
|
2011-04-27 16:36:36 +02:00
|
|
|
|
# Uncomment lines to activate one or more algorithm.
|
|
|
|
|
#algorithm = Real
|
|
|
|
|
#algorithm = InterlinkNetworks
|
|
|
|
|
#algorithm = FBCM
|
2011-12-30 13:43:01 +01:00
|
|
|
|
#algorithm = NSS
|
2010-06-23 15:00:46 +02:00
|
|
|
|
#algorithm = FRBHMBasic
|
|
|
|
|
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# This option allows to create a new mobile when a request is sent by
|
|
|
|
|
# a mobile which is not currently in the mobiles' list (i.e. not
|
|
|
|
|
# declared in the mobiles' configuration file). If unset, the requests
|
|
|
|
|
# sent by unknown mobiles will be dropped.
|
|
|
|
|
# It is unactivated by default, mainly to avoid interferent devices.
|
|
|
|
|
#accept-new-mobiles = false
|
|
|
|
|
|
2013-06-14 21:54:26 +02:00
|
|
|
|
# This option allows to create a new capture point (CP) when a request
|
|
|
|
|
# is captured by a CP which is not currently in the CPs' list (i.e. not
|
|
|
|
|
# declared in the CPs' configuration file), or when a self-calibration
|
|
|
|
|
# request is sent by an unknown CP.
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# It is unactivated by default for the sake of security.
|
2013-06-14 21:54:26 +02:00
|
|
|
|
#accept-new-cps = false
|
2011-12-27 18:07:28 +01:00
|
|
|
|
|
2013-06-14 21:54:26 +02:00
|
|
|
|
# When receiving a calibration or autocalibration request from a CP,
|
|
|
|
|
# containing the transmiter's coordinates, memorise the new CP's
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# coordinates.
|
|
|
|
|
# This is unactivated by default for the sake of security.
|
2013-06-14 21:54:26 +02:00
|
|
|
|
#update-cp-coordinates-online = false
|
2011-12-27 18:07:28 +01:00
|
|
|
|
|
2011-07-30 14:21:37 +02:00
|
|
|
|
# Coordinates of the deployment area.
|
|
|
|
|
# This is used to delimit the area in which reference points are
|
2013-07-10 00:00:00 +02:00
|
|
|
|
# generated (when generate-reference-points includes "mesh"), and
|
|
|
|
|
# also by the MinMax trilateration method.
|
2012-04-11 16:31:48 +02:00
|
|
|
|
# Since MinMax is currently the only trilateration method implemented
|
2011-04-27 18:57:00 +02:00
|
|
|
|
# in OwlPS, you should define these parameters if you use any of the
|
2012-04-11 16:31:48 +02:00
|
|
|
|
# trilateration-based algorithms (InterlinkNetworks, FBCM, FRBHM).
|
2012-05-02 17:29:26 +02:00
|
|
|
|
# With the autocalibration, the Z coordinate is the floor number, not
|
2012-01-09 10:31:12 +01:00
|
|
|
|
# a true coordinate in meters.
|
2011-04-27 18:57:00 +02:00
|
|
|
|
# They are declared as strings (X;Y;Z). Do not quote!
|
2011-07-30 14:21:37 +02:00
|
|
|
|
#area-start = -2;-2;0
|
|
|
|
|
#area-stop = 20;30;6
|
2011-04-27 18:57:00 +02:00
|
|
|
|
|
2012-03-02 10:54:34 +01:00
|
|
|
|
# Algorithm to calculate the similarity, in the signal strength space,
|
|
|
|
|
# of two measurements.
|
|
|
|
|
# The following algorithms are implemented:
|
|
|
|
|
# - mean: The mean of all the packets in the measurement is
|
|
|
|
|
# computed, then the euclidean distance between the two means is
|
|
|
|
|
# used.
|
|
|
|
|
# - interval: The mean Im and the standard deviation Is of the
|
|
|
|
|
# packets in the measurement I are computed; the closest reference
|
|
|
|
|
# measurement R is the one with the highest number of packets in
|
|
|
|
|
# the interval [Im-Is, Im+Is].
|
2012-03-06 12:27:15 +01:00
|
|
|
|
# - interval2: Derived of the previous one, this algorithm
|
|
|
|
|
# computes the percent of packets in both the intervals
|
|
|
|
|
# [Im-0.674×Is, Im+0.674×Is] and [Im-Is, Im+Is].
|
|
|
|
|
# Assuming a normal distribution, we should find approximately
|
|
|
|
|
# 50% of the packets in the first interval, and 68% in the second
|
|
|
|
|
# interval. The closest R is the one for which the percents of
|
|
|
|
|
# the two intervals are the closest to these theoretical scores.
|
2012-03-02 10:54:34 +01:00
|
|
|
|
# The default is "mean".
|
|
|
|
|
#ss-similarity = mean
|
2012-08-24 16:32:49 +02:00
|
|
|
|
#ss-similarity = interval
|
|
|
|
|
#ss-similarity = interval2
|
2012-03-02 10:54:34 +01:00
|
|
|
|
|
2011-12-30 12:21:59 +01:00
|
|
|
|
# Smallest possible value for a received signal strength, in dBm. This
|
2013-06-14 21:54:26 +02:00
|
|
|
|
# depends on the sensibility of the CPs' Wi-Fi hardware. It is used to
|
|
|
|
|
# compensate for CPs that are not in coverage in a given measurement.
|
2011-12-30 12:21:59 +01:00
|
|
|
|
# The default value is -99 dBm, which should be fine in most cases.
|
|
|
|
|
#smallest-ss = -99
|
|
|
|
|
|
2011-07-22 11:29:30 +02:00
|
|
|
|
# Generate reference points from the (auto)calibration requests
|
|
|
|
|
# received.
|
2013-07-10 00:00:00 +02:00
|
|
|
|
# This option can be set to any combination of the following values,
|
|
|
|
|
# separated by any characters of your choice (or even none):
|
|
|
|
|
# - false (default): do not generate reference points; this is
|
|
|
|
|
# equivalent to an empty string and if at least one of the next
|
|
|
|
|
# values are present, the presence of the "false" string in the
|
|
|
|
|
# option's value will be ignored.
|
2013-05-17 21:08:35 +02:00
|
|
|
|
# - mesh: generate reference points according to the regular meshing
|
|
|
|
|
# defined by the options area-start/stop and
|
|
|
|
|
# generated-meshing-grain-*.
|
2013-07-10 00:00:00 +02:00
|
|
|
|
# - line: generate reference points according to the line defined by
|
|
|
|
|
# the option generated-line-path and generated-line-step.
|
2013-05-17 21:08:35 +02:00
|
|
|
|
# - list: generate only the reference points defined by the option
|
|
|
|
|
# generated-points-list.
|
2013-07-10 00:00:00 +02:00
|
|
|
|
# Any other or extra characters are ignored, and the string is
|
|
|
|
|
# equivalent to "false" if it doesn't contain any valid value.
|
|
|
|
|
# Default value:
|
2011-07-22 11:29:30 +02:00
|
|
|
|
#generate-reference-points = false
|
2013-07-10 00:00:00 +02:00
|
|
|
|
# Example of valid value to activate both meshing and list generation:
|
|
|
|
|
#generate-reference-points = mesh+list
|
|
|
|
|
#generate-reference-points = list,mesh
|
|
|
|
|
#generate-reference-points = meshlist
|
|
|
|
|
#generate-reference-points = falselistmesh
|
2011-07-22 11:29:30 +02:00
|
|
|
|
|
2012-05-31 20:18:49 +02:00
|
|
|
|
# With this option disabled, each generated reference point contains
|
|
|
|
|
# a single packet in a single calibration request, computed from the
|
|
|
|
|
# mean of the real measurements.
|
|
|
|
|
# If enabled, the generated reference points will contain a series of
|
|
|
|
|
# packets, better matching the real requests; if no packet ID from the
|
|
|
|
|
# real requests match, a single packet reference point is generated
|
|
|
|
|
# instead. Default is enabled.
|
|
|
|
|
#generate-multi-packet-reference-points = true
|
2012-02-29 17:14:23 +01:00
|
|
|
|
|
2013-07-10 00:00:00 +02:00
|
|
|
|
# When generate-reference-points includes "list", the reference points
|
|
|
|
|
# are generated with the specified distance (in metres) between one
|
|
|
|
|
# another, in the X and Y axis.
|
2011-07-29 16:14:39 +02:00
|
|
|
|
#generated-meshing-grain-x = 0.5
|
|
|
|
|
#generated-meshing-grain-y = 0.5
|
2012-05-02 17:29:26 +02:00
|
|
|
|
# The Z option is currently a floor number instead of a vertical
|
2012-06-08 14:42:12 +02:00
|
|
|
|
# coordinate in meters. You should leave it to 1, except if you are
|
|
|
|
|
# deploying across non-contiguous floors, which is unlikely.
|
2012-01-09 10:31:12 +01:00
|
|
|
|
#generated-meshing-grain-z = 1
|
2011-07-23 18:08:54 +02:00
|
|
|
|
|
2013-07-10 00:00:00 +02:00
|
|
|
|
# When generate-reference-points includes "line", the reference points
|
|
|
|
|
# are generated along to the path defined by this option. They are
|
|
|
|
|
# generated in a straight line between the given points. At least one of
|
|
|
|
|
# the points provided must be the coordinates of a capture point, and
|
|
|
|
|
# the path defined here should "link" (include) all the capture points
|
|
|
|
|
# that are going to be used for this kind of autocalibration.
|
|
|
|
|
# In the string, the values are separated by semicolons, and each group
|
2014-02-18 16:22:35 +01:00
|
|
|
|
# of coordinates can optionally be surrounded by parenthesis. The two
|
2013-07-10 00:00:00 +02:00
|
|
|
|
# following examples, which declare a path following the points (1;1;1),
|
|
|
|
|
# (10;1;1) and (10;10;1), are equivalent:
|
|
|
|
|
#generated-line-path = (1;1;1);(10;1;1);(10;10;1)
|
|
|
|
|
#generated-line-path = 1;1;1;10;1;1;10;10;1
|
|
|
|
|
|
|
|
|
|
# When generate-reference-points includes "line", the reference points
|
|
|
|
|
# are generated with this (approximate) distance (in metres) between one
|
|
|
|
|
# another.
|
|
|
|
|
#generated-line-step = 0.5
|
|
|
|
|
|
|
|
|
|
# When generate-reference-points includes "list", the list of reference
|
|
|
|
|
# points declared here is be generated. In the string, the values are
|
2014-02-18 16:22:35 +01:00
|
|
|
|
# separated by semicolons, and each group of coordinates can optionally
|
2013-07-10 00:00:00 +02:00
|
|
|
|
# be surrounded by parenthesis. The two following examples, which
|
|
|
|
|
# declare the points (1;2;1) and (4;2.5;1), are equivalent:
|
2013-05-17 21:08:35 +02:00
|
|
|
|
#generated-points-list = (1;2;1);(4;2.5;1)
|
|
|
|
|
#generated-points-list = 1;2;1;4;2.5;1
|
|
|
|
|
|
2011-06-17 16:02:19 +02:00
|
|
|
|
# This option allows the calibration requests sent during the
|
|
|
|
|
# positioning phase to be added to the calibration request's list. They
|
|
|
|
|
# are added to the calibration requests read by InputDataReader during
|
|
|
|
|
# the start-up phase. If this option is not activated, the calibration
|
|
|
|
|
# requests are handled as positioning requests.
|
|
|
|
|
# This option must be activated for the self-calibration to work, but
|
|
|
|
|
# it is not activated by default for security purposes.
|
|
|
|
|
#accept-new-calibration-requests = false
|
|
|
|
|
|
2011-12-28 13:40:51 +01:00
|
|
|
|
# Maximum age of the calibration requests, in seconds. If greater than
|
2012-08-24 16:32:49 +02:00
|
|
|
|
# zero, the calibration requests older than this timeout will be
|
2012-06-08 12:27:51 +02:00
|
|
|
|
# deleted. See also the replay option.
|
2011-12-28 13:40:51 +01:00
|
|
|
|
#calibration-requests-timeout = 0
|
|
|
|
|
|
2012-06-08 18:43:41 +02:00
|
|
|
|
# With this option activated, the calibration requests associated with
|
|
|
|
|
# an existing reference point are deleted when receiving a new
|
|
|
|
|
# calibration request, before to associate the new request with the
|
|
|
|
|
# reference point.
|
|
|
|
|
# The default is true, as there is generally no point keeping old
|
|
|
|
|
# calibration requests.
|
|
|
|
|
#unique-calibration-requests = true
|
|
|
|
|
|
2011-07-23 11:44:04 +02:00
|
|
|
|
# If you activate the above option and want the calibration requests
|
|
|
|
|
# to be treated as positioning requests (in addition to the normal
|
|
|
|
|
# treatment of calibration requests), activate this option.
|
|
|
|
|
# The default is false: the first calibration requests' purpose is to
|
|
|
|
|
# serve the positioning process, not to use it.
|
|
|
|
|
#position-calibration-requests = false
|
|
|
|
|
|
2011-12-30 13:43:01 +01:00
|
|
|
|
[positioning.nss]
|
|
|
|
|
# This subsection contains the options related to the NSS (a.k.a. RADAR)
|
|
|
|
|
# algorithm and derivated.
|
2011-06-29 16:45:36 +02:00
|
|
|
|
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# For a given positioning request, average all the calibration requests
|
2012-03-02 10:54:34 +01:00
|
|
|
|
# associated with a reference point before to compute the SS similarity.
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# The default is false, i.e. the positioning request is compared
|
|
|
|
|
# directly to each calibration request.
|
|
|
|
|
#average-reference-points = false
|
2011-07-19 19:05:38 +02:00
|
|
|
|
|
2013-06-14 21:54:26 +02:00
|
|
|
|
# Do not select reference points on which a CP is sit, as far as
|
|
|
|
|
# possible (i.e. if there are reference points where no CP sits).
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# This is useful if you are using autocalibration and want to select
|
|
|
|
|
# only the generated reference points.
|
|
|
|
|
# The default is false.
|
2013-06-14 21:54:26 +02:00
|
|
|
|
#ignore-cp-reference-points = false
|
2011-06-16 19:05:14 +02:00
|
|
|
|
|
2010-06-23 15:00:46 +02:00
|
|
|
|
[output]
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# The following options are related to the output of the results.
|
2010-06-23 15:00:46 +02:00
|
|
|
|
|
2012-08-24 16:39:00 +02:00
|
|
|
|
# Compute the euclidean distance error in two dimensions instead of
|
|
|
|
|
# three dimensions. This can be useful when doing experiments on only
|
|
|
|
|
# one floor.
|
|
|
|
|
# The default is false, i.e. the error is computed in 3D.
|
|
|
|
|
#2d-error = false
|
|
|
|
|
|
2011-04-27 16:36:36 +02:00
|
|
|
|
# This is the default output if none is specified.
|
2011-03-29 12:48:56 +02:00
|
|
|
|
#medium = Terminal
|
|
|
|
|
|
|
|
|
|
#medium = CSV
|
2013-05-14 19:37:18 +02:00
|
|
|
|
#csv-file = /tmp/owlps-positioner.out
|
2011-07-30 13:58:05 +02:00
|
|
|
|
|
2011-07-30 16:02:43 +02:00
|
|
|
|
#medium = UDP
|
2012-08-24 16:32:49 +02:00
|
|
|
|
# Currently, the host must be an IPv4 address (not a DNS name, nor an
|
|
|
|
|
# IPv6).
|
2011-07-30 16:02:43 +02:00
|
|
|
|
#udp-host =
|
|
|
|
|
#udp-port = 9910
|
|
|
|
|
|
2013-07-05 17:07:31 +02:00
|
|
|
|
# The TCPEvAAL output follows the specification of EvAAL 2012 to
|
2013-06-22 02:10:38 +02:00
|
|
|
|
# communicate with the SocketAdapter program developed by the
|
2011-12-27 18:07:28 +01:00
|
|
|
|
# organizers.
|
2011-07-30 16:02:43 +02:00
|
|
|
|
# Note: you can use only one algorithm when using the TCPEvAAL output.
|
|
|
|
|
#medium = TCPEvAAL
|
|
|
|
|
# Currently, the host must be an IP address (not a DNS name).
|
|
|
|
|
#tcpevaal-host = 127.0.0.1
|
|
|
|
|
#tcpevaal-port = 4444
|
|
|
|
|
|
2011-07-30 13:58:05 +02:00
|
|
|
|
# vim: syntax=cfg
|