HomeGuidesAPI Reference
GuidesAPI ReferenceGitHubAirheads Developer CommunityLog In

Location Streaming Event

A location event is generated when the location of a client (station) is computed using RSSI values reported by the Instant Access Points (IAPs) periodically. The event message includes coordinates of the client on the VisualRF floor plan. Therefore, an existing visualRF floor plan with AP location mapping is a prerequisite for the Location Streaming Events.

Location Event Protocol Buffer File

message mac_address
{
   optional bytes addr = 1;
}
enum target_dev_type
{
   TARGET_TYPE_UNKNOWN = 0; 
   TARGET_TYPE_STATION = 1; 
   TARGET_TYPE_ROGUE = 3;
}
enum algorithm
{
   ALGORITHM_TRIANGULATION = 0; 
}
enum measurement_unit 
{
   METERS = 0; 
   FEET = 1; 
}
message stream_location
{
   optional float sta_location_x = 1; 
   optional float sta_location_y = 2; 
   optional uint32 error_level = 3;
   optional algorithm loc_algorithm = 9; 
   optional measurement_unit unit = 14; 
   required mac_address sta_eth_mac = 15; 
   optional string campus_id_string = 16;
   optional string building_id_string = 17; 
   optional string floor_id_string = 18; 
   optional target_dev_type target_type = 19
   optional bool associated = 20;
}

Parameter Descriptions

The following table lists the field, type, rule, and descriptions of the above mentioned protobuf file

Field

Type

Rule

Description

target_type

target_dev_type

optional

Indicates the type of the device. It contains the following:

  • UNKNOWN—Indicates the type of device as unknown.
  • STATION—Indicates the type of device as Wi-Fi station or client.
  • ROGUE—Indicates the type of device as rogue.

loc_algorithm

algorithm

optional

Indicates the algorithm that populated the X and Y coordinates. It contains the following:

  • TRIANGULATION—Indicates the estimated location of the unknown APs by triangulating location.

unit

measurement_unit

optional

Indicates the unit of measurement used for floor specifications. It contains the following:

  • METERS—Indicates the floor specifications, measured in meters.
  • FEET—Indicates the floor specifications, measured in feet.

sta_location_x

float

optional

Indicates the X coordinate used to determine the client location on a floormap. This value is based on the number of feet or meters, if configured. The station is from the top left corner of the floormap.

sta_location_y

float

optional

Indicates the Y coordinate used to determine the client location on a floormap. This value is based on the number of feet or meters, if configured. The station is from the top left corner of the floormap.

error_level

uint32

optional

Indicates the radius of the horizontal uncertainty, computed at 95%. This is the sum of the probability of all the potential locations in this uncertainty circle that represents 95% probability of the whole venue. The unit of this radius is configured and published in the unit field.

sta_eth_mac

mac_address

required

Indicates the MAC address of the client station or rogue.

campus_id_string

string

optional

Indicates the ID number that identifies a specific campus.

building_id_string

string

optional

Indicates the ID number that identifies a specific campus building.

floor_id_string

string

optional

Indicates the ID number that identifies a specific building floor.

associated

bool

optional

Indicates whether the client is associated with an AP on the network. For example, 1 indicates that the client is associated with an AP and 0 indicates that the client is not associated with an AP.

Example for the Location Message

sta_location_x: 333.671569824
sta_location_y: 220.563110352
error_level: 92
loc_algorithm: ALGORITHM_TRIANGULATION
unit: FEET
sta_eth_mac {
  addr: "\320\323\340\[email protected]"
}
campus_id_string: "77d249ac35b548cab35fb48a8a1e7dd5__default"
building_id_string: "77d249ac35b548cab35fb48a8a1e7dd5__1"
floor_id_string: "77d249ac35b548cab35fb48a8a1e7dd5__ee80edb6-0476-4c9e-93a4-d79acd2c6f7a"
target_type: TARGET_TYPE_ROGUE
associated: false

Did this page help you?