Device information
This example shows how you can query device information.The first part of the code queries all available devices without actually booting any device. For each found device, it prints the following information:- Device name: Either IP, in case of OAK PoE cameras, or USB path in case of OAK USB cameras
- MxId: Unique Mx (chip) identification code
- State: State of the device. Note that OAK PoE cameras have bootloader flashed which initializes the network stack
Demo
Command Line
1Searching for all available devices...
2
3Found device '1.3', MxId: '18443010D116631200', State: 'UNBOOTED'
4Found device '192.168.33.201', MxId: '184430102163DB0F00', State: 'BOOTLOADER'
5Found device '192.168.33.192', MxId: '1844301011F4C51200', State: 'BOOTLOADER'
6
7Booting the first available camera (1.3)...
8Available camera sensors: {<CameraBoardSocket.CAM_C: 2>: 'OV9282', <CameraBoardSocket.CAM_A: 0>: 'IMX378', <CameraBoardSocket.CAM_B: 1>: 'OV9282'}
9Product name: OAK-D Pro AF, board name DM9098
Setup
Please run the install script to download all required dependencies. Please note that this script must be ran from git context, so you have to download the depthai-python repository first and then run the scriptCommand Line
1git clone https://github.com/luxonis/depthai-python.git
2cd depthai-python/examples
3python3 install_requirements.py
Source code
Python
C++
Python
PythonGitHub
1import depthai as dai
2from typing import List
3
4print('Searching for all available devices...\n')
5# Query all available devices (USB and POE OAK cameras)
6infos: List[dai.DeviceInfo] = dai.DeviceBootloader.getAllAvailableDevices()
7
8if len(infos) == 0:
9 print("Couldn't find any available devices.")
10 exit(-1)
11
12
13for info in infos:
14 # Converts enum eg. 'XLinkDeviceState.X_LINK_UNBOOTED' to 'UNBOOTED'
15 state = str(info.state).split('X_LINK_')[1]
16
17 print(f"Found device '{info.name}', MxId: '{info.mxid}', State: '{state}'")
18
19
20# Connect to a specific device. We will just take the first one
21print(f"\nBooting the first available camera ({infos[0].name})...")
22with dai.Device(dai.Pipeline(), infos[0], usb2Mode=False) as device:
23 print("Available camera sensors: ", device.getCameraSensorNames())
24 calib = device.readCalibration()
25 eeprom = calib.getEepromData()
26 print(f"Product name: {eeprom.productName}, board name {eeprom.boardName}")
Need assistance?
Head over to Discussion Forum for technical support or any other questions you might have.