Skip to main content

Access Sensor Profiles Using the CLI or SDK

Overview

Project Aria glasses have multiple recording profiles, so that you can choose what sensors record or stream data, as well as the settings those sensors use. This page shows how to use the Client SDK or CLI to download profile information and set which profile is used.

If a value is not set, Aria glasses will use the default recording profile. If a default recording profile is not set, it will use profile8 when making recordings and profile18 when streaming data.

Go to the Recording Profiles page for more information about possible sensor configurations. You can also view all available recording profile details when you select Create a Recording in the Mobile Companion app. In addition to sensor setup, recording profile information can provide insights into how battery and thermal levels can be affected when streaming or recording.

Retrieve list of available sensor profiles

The CLI or SDK can be used to retrieve the available sensor profiles for recording or streaming stored on your Aria glasses. To make sure you have access to all possible profiles, make sure your Aria glasses OS are up to date.

The available profiles for recording or streaming are the same, but profile12 and profile18 were created specifically for streaming data.

Save streaming/recording profiles

The following commands export all profiles as JSON files. There is one JSON file per recording, profile12.json etc.

import aria.sdk as aria

device_client = aria.DeviceClient()
device = device_client.connect()

# sensor profiles for recording
recording_manager = device.recording_manager
recording_profiles = recording_manager.recording_profiles
print(*recording_profiles)

# sensor profiles for streaming
streaming_manager = device.streaming_manager
streaming_profiles = streaming_manager.streaming_profiles
print(*streaming_profiles)

Example output

Each JSON file will show which sensors are used and how each sensor is configured.

profile12.json will contain the following:

{
"name": "profile12",
"description": "Streaming mode with JPEG (RGB 10fps 2MP, SLAM 10fps, ET 10fps QVGA, JPEG; Audio, GPS, Wi-Fi and BLE off)",
"imu1": {
"enabled": true,
"dataRateHz": 1000
},
"imu2": {
"enabled": true,
"dataRateHz": 800
},
"magnetometer": {
"enabled": true,
"dataRateHz": 10
},
"barometer": {
"enabled": true,
"dataRateHz": 50
},
"audio": {
"enabled": false,
"numChannels": 0,
"sampleRateHz": "0",
"periodSize": 0
},
"gps": {
"enabled": false,
"dataRateHz": 0
},
"ble": {
"enabled": false,
"scanDurationMs": 0
},
"wifi": {
"enabled": false,
"scanDurationMs": 0,
"wifiScanModeActive": false,
"wifiMinDwellTimeMs": 0,
"wifiMaxDwellTimeMs": 0
},
"slamCameras": {
"enabled": true,
"width": 640,
"height": 480,
"fps": 10,
"autoExposureEnabled": true,
"exposureMinUs": "0",
"exposureMaxUs": "0",
"gainMin": 0,
"gainMax": 0,
"exposureUs": "0",
"gain": 0,
"irLedEnabled": false,
"imageFormat": "JPEG",
"jpegEncoderType": "HARDWARE",
"jpegQuality": 80,
"videoEncoderQp": 0,
"videoCodecType": "H264",
"targetIntensity": 0
},
"etCamera": {
"enabled": true,
"width": 320,
"height": 240,
"fps": 10,
"autoExposureEnabled": false,
"exposureMinUs": "0",
"exposureMaxUs": "0",
"gainMin": 0,
"gainMax": 0,
"exposureUs": "1000",
"gain": 1,
"irLedEnabled": true,
"imageFormat": "JPEG",
"jpegEncoderType": "HARDWARE",
"jpegQuality": 80,
"videoEncoderQp": 0,
"videoCodecType": "H264",
"targetIntensity": 0
},
"rgbCamera": {
"enabled": true,
"width": 1408,
"height": 1408,
"fps": 10,
"autoExposureEnabled": true,
"exposureMinUs": "0",
"exposureMaxUs": "0",
"gainMin": 0,
"gainMax": 0,
"exposureUs": "0",
"gain": 0,
"irLedEnabled": false,
"imageFormat": "JPEG",
"jpegEncoderType": "HARDWARE",
"jpegQuality": 80,
"videoEncoderQp": 0,
"videoCodecType": "H264",
"targetIntensity": 0
},
"attention": {
"enabled": false
}
}

Use a recording/sensor profile

Once retrieved a profile can be used to start recording or streaming.

In this example, we use the sensor profile profile12 obtained from the previous step to start streaming:

streaming_manager = device.streaming_manager
streaming_config = aria.RecordingConfig()
streaming_config.profile_name = "profile12"
streaming_manager.streaming_config = streaming_config
streaming_manager.start_streaming()