Bullseye

STREAM
Location as a Service

Resource URL

ws://BullsEyeLaaS-1822157532.us-east-1.elb.amazonaws.com:2300

Resource Information

Response Formats JSON
Authentication Yes (provided in request)
Rate Limited to be determined

Operations

Operation Description
onOpen User App opens websocket connection using host/port. User sends current GNSS data and location data along with the client key
onMessage The user is authenticated, and the location correction calculation and sends the corrected location back to user. User receives the location data and sends subsequent GNSS data.
onClose Closes the web socket connection with LaaS
onError Errors raised by the API can be handled with this operation

Example Request


var socket = new WebSocket('ws://BullsEyeLaaS-1822157532.us-east-1.elb.amazonaws.com:2300');

socket.addEventListener('open', (event) => {
  // Send current GNSS data
  socket.send(requestData);
});

socket.addEventListener('message', (event) =>
  // Receive corrected location
  var eventData = event.data;

  // Send current GNSS data
  socket.send(requestData);
});

// Where the requestData resembles:
var requestData = {
  "clock": {
  	"biasNanos": "NaN",
  	"biasUncertaintyNanos": "NaN",
  	"driftNanosPerSecond": "NaN",
  	"driftUncertaintyNanosPerSecond": "NaN",
  	"fullBiasNanos": -1.18928751577867827E18,
  	"hardwareClockDiscontinuityCount": 21462,
  	"leapSecond": -2147483648,
  	"timeNanos": 0,
  	"timeUncertaintyNanos": 0.0,
  	"hasBiasNanos": false
  },
  "device": {
    "type": "phone",
    "uid": "id to be determined"
  },
  "interval": 1,
  "location": {
    "accuracy": 3.0,
    "altitude": 168.0,
    "bearing": 0.0,
    "elapsedRealtimeNanos": 1215329246467770,
    "latitude": 33.09102857,
    "longitude": -96.63109876,
    "provider": "gps",
    "speed": 0.0,
    "time": 1505252297000
  },
  #note: from gps
  "measurements": [ {
    "accumulatedDeltaRangeMeters": 0.0,
    "accumulatedDeltaRangeState": 0,
    "accumulatedDeltaRangeUncertaintyMeters": 0.0,
    "carrierCycles": -9223372036854775808,
    "carrierFrequencyHz": 0.0,
    "carrierPhase": 0.0,
    "carrierPhaseUncertainty": 0.0,
    "cn0DbHz": 23.8,
    "constellationType": 1,
    "multipathIndicator": 0,
    "pseudorangeRateMetersPerSecond": 539.5206298828125,
    "pseudorangeRateUncertaintyMetersPerSecond": 0.6769999861717224,
    "receivedSvTimeNanos": 250715697994696,
    "receivedSvTimeUncertaintyNanos": 31,
    "snrInDb": 0.0,
    "state": 15,
    "svid": 5,
    "timeOffsetNanos": 0.0
  }, {
    "accumulatedDeltaRangeMeters": 0.0,
    "accumulatedDeltaRangeState": 0,
    "accumulatedDeltaRangeUncertaintyMeters": 0.0,
    "carrierCycles": -9223372036854775808,
    "carrierFrequencyHz": 0.0,
    "carrierPhase": 0.0,
    "carrierPhaseUncertainty": 0.0,
    "cn0DbHz": 24.0,
    "constellationType": 1,
    "multipathIndicator": 0,
    "pseudorangeRateMetersPerSecond": -472.14715576171875,
    "pseudorangeRateUncertaintyMetersPerSecond": 0.6769999861717224,
    "receivedSvTimeNanos": 250715697781212,
    "receivedSvTimeUncertaintyNanos": 27,
    "snrInDb": 0.0,
    "state": 15,
    "svid": 10,
    "timeOffsetNanos": 0.0
  }],
  "requestnbr": 201,
  "user": {
    "accesstoken": "token",
    "name": "name",
    "servicelevel": 1
  }
}

Example Response

{
  "soltype": "DGPS",
  "nmea": {
    "elevation": 163.94722381946613,
    "latitude": 33.09096234254197,
    "longitude": -96.63106023603929
  },
  "code": "200",
  "desc": "OK"
}