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/sExemplo 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: 3Exemplo 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)