58 lines
2.1 KiB
Python
58 lines
2.1 KiB
Python
import os
|
|
import sys
|
|
|
|
# 🔹 Desativar logs do DepthAI
|
|
os.environ["DEPTHAI_LEVEL"] = "ERROR"
|
|
|
|
import depthai as dai
|
|
import json
|
|
|
|
# Obtém todos os dispositivos conectados
|
|
devices = dai.Device.getAllAvailableDevices()
|
|
|
|
device_list = []
|
|
|
|
for idx, device_info in enumerate(devices):
|
|
with dai.Device(device_info) as device:
|
|
try:
|
|
memory_usage = device.getDdrMemoryUsage()
|
|
memory_info = {
|
|
"remaining": memory_usage.remaining,
|
|
"total": memory_usage.total,
|
|
"used": memory_usage.used
|
|
}
|
|
except:
|
|
memory_info = None # Se houver erro, define como None
|
|
|
|
try:
|
|
temp = device.getChipTemperature()
|
|
temp_info = {
|
|
"css": temp.css,
|
|
"mss": temp.mss,
|
|
"upa": temp.upa,
|
|
"dss": temp.dss
|
|
}
|
|
except:
|
|
temp_info = None # Se houver erro, define como None
|
|
|
|
device_data = {
|
|
"index": idx,
|
|
"id": device_info.getMxId(), # ID do dispositivo
|
|
"name": device_info.name, # Nome do dispositivo
|
|
"state": device_info.state.name, # Estado do dispositivo
|
|
"usb_speed": str(device.getUsbSpeed().name) if hasattr(device, 'getUsbSpeed') else None, # Velocidade USB
|
|
"available_camera_sensors": [sensor.name for sensor in device.getConnectedCameras()], # Sensores de câmera disponíveis
|
|
"version": str(device.getDeviceInfo().protocol) if hasattr(device, 'getDeviceInfo') else None, # Versão do protocolo
|
|
"memory_usage": memory_info, # Uso de memória DDR
|
|
"temperature": temp_info, # Temperatura do chip
|
|
"bootloader_version": str(device.getBootloaderVersion()) if hasattr(device, 'getBootloaderVersion') else None, # Bootloader
|
|
"is_pipeline_running": device.isPipelineRunning() if hasattr(device, 'isPipelineRunning') else None # Pipeline rodando?
|
|
}
|
|
|
|
device_list.append(device_data)
|
|
|
|
# 🔹 Imprime apenas o JSON, sem logs extras
|
|
json_output = json.dumps(device_list, indent=4)
|
|
sys.stdout.write(json_output)
|
|
sys.stdout.flush()
|