Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Exemplos de Uso do Método get_sensors(idPCD)

Neste notebook, vamos explorar como utilizar o método get_sensors(idPCD) da classe PcdsApiClient para obter a lista de sensores disponíveis para uma PCD específica.

Vamos começar importando as bibliotecas necessárias e configurando a autenticação.

from pySINDA import PcdsApiClient

# Token de autenticação
token = 'seu_token_aqui'

# Instanciando o cliente
pcds = PcdsApiClient(token)

Exemplo 1: Obter a Lista de Sensores de uma PCD

Neste exemplo, vamos utilizar o método get_sensors(idPCD) para obter a lista de sensores disponíveis para uma PCD específica, fornecendo o ID da PCD como parâmetro.

pcd_id = 10681
print(f'Recuperando a lista de sensores da PCD com ID {pcd_id}...')
sensors = pcds.get_sensors(pcd_id)
print(sensors)
Recuperando a lista de sensores da PCD com ID 10681...
[{'id': 10681, 'ativo': True, 'equacao': '+0.1*x +11.3', 'inicioBits': 242, 'nome': 'Bateria', 'quantidadeBits': 5, 'shiftTempo': 0, 'tipoCalibrador': {'name': 'POLINOMIAL', 'id': 1}, 'tipoSensor': {'name': 'PADRAO', 'id': 0}, 'unidadeEngenharia': 'Volt', 'virtual': False}, {'id': 10682, 'ativo': True, 'equacao': '+100*x', 'inicioBits': 247, 'nome': 'CorrPSol', 'quantidadeBits': 5, 'shiftTempo': 0, 'tipoCalibrador': {'name': 'POLINOMIAL', 'id': 1}, 'tipoSensor': {'name': 'PADRAO', 'id': 0}, 'unidadeEngenharia': 'Logico', 'virtual': False}, {'id': 10710, 'ativo': True, 'inicioBits': 92, 'nome': 'Velocidade', 'quantidadeBits': 8, 'shiftTempo': 0, 'tipoCalibrador': {'name': 'BRUTO', 'id': 0}, 'tipoSensor': {'name': 'PADRAO', 'id': 0}, 'unidadeEngenharia': 'm/s', 'virtual': False}]

Exemplo 2: Filtrar Sensores Ativos

Pode ser interessante filtrar apenas os sensores ativos da lista. Neste exemplo, vamos fazer isso e exibir as informações dos sensores ativos.

print('Sensores ativos:')
for sensor in sensors:
    if sensor['ativo']:
        print(f'Nome: {sensor['nome']}, Unidade: {sensor['unidadeEngenharia']}')
Sensores ativos:
Nome: Bateria, Unidade: Volt
Nome: CorrPSol, Unidade: Logico
Nome: Velocidade, Unidade: m/s

Exemplo 3: Analisar Tipos de Sensores

Vamos analisar os tipos de sensores presentes na lista. Para isso, vamos contar a quantidade de cada tipo e exibir o resultado.

from collections import Counter

tipo_sensor_contagem = Counter(sensor['tipoSensor']['name'] for sensor in sensors)
print('Contagem dos tipos de sensores:')
for tipo, contagem in tipo_sensor_contagem.items():
    print(f'{tipo}: {contagem}')
Contagem dos tipos de sensores:
PADRAO: 3

Exemplo 4: Analisar Equações de Sensores

Em alguns casos, você pode precisar analisar as equações associadas aos sensores. Neste exemplo, vamos extrair e exibir as equações de todos os sensores.

print('Equações dos sensores:')
for sensor in sensors:
    equacao = sensor.get('equacao', 'Não disponível')
    print(f'Sensor: {sensor['nome']}, Equação: {equacao}')
Equações dos sensores:
Sensor: Bateria, Equação: +0.1*x +11.3
Sensor: CorrPSol, Equação: +100*x
Sensor: Velocidade, Equação: (Não disponível)