Habilite a detecção de anomalias em sensores em todos os ativos - AWS IoT SiteWise

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Habilite a detecção de anomalias em sensores em todos os ativos

Crie um modelo de computação ()AWS CLI

Para criar um modelo computacional, use a interface de linha de AWS comando (AWS CLI). Depois de definir o modelo de computação, treine o modelo e programe a inferência para fazer a detecção de anomalias nos ativos em. AWS IoT SiteWise

As etapas a seguir explicam esse processo:

  1. Para configurar a detecção de anomalias, use o UpdateAssetModel (AWS CLI) e atenda aos seguintes requisitos:

    1. Pelo menos uma propriedade de entrada que seja de um DOUBLE ou do tipo de INTEGER dados. É uma propriedade de medição ou transformação e é usada para treinar o modelo.

    2. Uma propriedade resultante do tipo de STRING dados. Ela deve ser uma propriedade de medição e armazena os resultados da detecção de anomalias.

  2. Crie um arquivo anomaly-detection-computation-model-payload.json com o seguinte conteúdo:

    nota

    Crie um modelo de computação fornecendo diretamente assetProperty como fonte de dados.

    { "computationModelName": "name of ComputationModel", "computationModelConfiguration": { "anomalyDetection": { "inputProperties": "${properties}", "resultProperty": "${p3}" } }, "computationModelDataBinding": { "properties": { "list": [ { "assetProperty": { "assetId": "asset-id", "propertyId": "input-property-id-1" } }, { "assetProperty": { "assetId": "asset-id", "propertyId": "input-property-id-2" } } ] }, "p3": { "assetProperty": { "assetId": "asset-id", "propertyId": "results-property-id" } } } }
  3. Execute o comando a seguir para criar um modelo de computação:

    aws iotsitewise create-computation-model \ --cli-input-json file://anomaly-detection-computation-model-payload.json

ExecuteAction Preparação da carga útil da API

As próximas etapas para executar o treinamento e a inferência são realizadas com a ExecuteActionAPI. Tanto o treinamento quanto a inferência são configurados com uma configuração de carga de ação JSON. Ao invocar a ExecuteActionAPI, a carga útil da ação deve ser fornecida como um valor com uma stringValue carga útil.

A carga útil deve seguir rigorosamente os requisitos da API. Especificamente, o valor deve ser uma string simples sem caracteres de controle (por exemplo, novas linhas, guias ou retornos de carro). As opções a seguir fornecem duas maneiras confiáveis de fornecer uma carga útil de ação válida.

Opção 1: usar um arquivo de carga útil limpo

O procedimento a seguir descreve as etapas para um arquivo de carga útil limpo:

  1. Limpe o arquivo para remover os caracteres de controle.

    tr -d '\n\r\t' < original-action-payload.json > training-or-inference-action-payload.json
  2. Execute a ação com o arquivo@=file://....

    aws iotsitewise execute-action \ --target-resource computationModelId=<MODEL_ID> \ --action-definition-id <ACTION_DEFINITION_ID> \ --action-payload stringValue@=file://training-or-inference-action-payload.json

Opção 2: string embutida com aspas escapadas

As etapas a seguir descrevem as etapas para fornecer a carga em linha e evitar arquivos intermediários:

  • Use aspas duplas de escape (\") dentro da string JSON.

  • Coloque a StringValue=.. expressão inteira entre aspas duplas.

exemplo de uma carga útil de ação que escapou:
aws iotsitewise execute-action \ --target-resource computationModelId=<MODEL_ID> \ --action-definition-id <ACTION_DEFINITION_ID> \ --action-payload "stringValue={\"exportDataStartTime\":1717225200,\"exportDataEndTime\":1722789360,\"targetSamplingRate\":\"PT1M\"}"

Treine o AWS CLI

  1. Execute o seguinte comando para encontrar actionDefinitionId da ação AWS/ANOMALY_DETECTION_TRAINING. computation-model-idSubstitua pela ID retornada na etapa anterior.

    aws iotsitewise describe-computation-model \ --computation-model-id computation-model-id
  2. Crie um arquivo chamado anomaly-detection-training-payload.json e adicione os seguintes valores:

    nota

    A carga útil deve estar em conformidade com. Opção 1: usar um arquivo de carga útil limpo

    1. StartTimecom o início dos dados de treinamento, fornecidos em segundos de época.

    2. EndTimecom o final dos dados de treinamento, fornecidos em segundos de época.

    3. Você pode configurar Configurações avançadas de inferência opcionalmente.

      1. (Opcional) TargetSamplingRate com a taxa de amostragem dos dados.

      2. (Opcional) LabelInputConfiguration para especificar períodos de tempo em que ocorreu um comportamento anômalo para melhorar o treinamento do modelo.

      3. (Opcional) ModelEvaluationConfiguration para avaliar o desempenho do modelo executando inferências em um intervalo de tempo especificado após a conclusão do treinamento.

    { "exportDataStartTime": StartTime, "exportDataEndTime": EndTime }
    exemplo de um exemplo de carga útil de treinamento:
    { "exportDataStartTime": 1717225200, "exportDataEndTime": 1722789360 }
  3. Execute o comando a seguir para iniciar o treinamento (sem fornecer o ativo como recurso de destino). Substitua os parâmetros a seguir no comando:

    aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id \ --action-definition-id training-action-definition-id \ --action-payload stringValue@=file://anomaly-detection-training-payload.json
  4. Execute o comando a seguir para verificar o status do processo de treinamento do modelo. O resumo da execução mais recente mostra o status da execução (RUNNING/COMPLETED/FAILED).

    aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-id computation-model-id
  5. Execute o comando a seguir para verificar a configuração do modelo treinado mais recente. Esse comando produz uma saída somente se pelo menos um modelo tiver concluído o treinamento com êxito.

    aws iotsitewise describe-computation-model-execution-summary \ --computation-model-id computation-model-id

Iniciar e interromper a inferência ()AWS CLI

Depois de treinar o modelo, inicie a inferência, que instrui você AWS IoT SiteWise a começar a monitorar seus ativos industriais em busca de anomalias.

Inicie a inferência

  1. Execute o seguinte comando para encontrar actionDefinitionId da ação AWS/ANOMALY_DETECTION_INFERENCE. computation-model-idSubstitua pelo ID real do modelo de computação criado anteriormente.

    aws iotsitewise describe-computation-model \ --computation-model-id computation-model-id
  2. Crie um arquivo anomaly-detection-start-inference-payload.json e adicione o código a seguir. Substitua os seguintes parâmetros conforme descrito:

    nota

    A carga útil deve estar em conformidade com. Opção 1: usar um arquivo de carga útil limpo

    1. DataUploadFrequency: configure a frequência com que o cronograma de inferência é executado para realizar a detecção de anomalias. Os valores permitidos são: PT5M, PT10M, PT15M, PT30M, PT1H, PT2H..PT12H, PT1D.

      "inferenceMode": "START", "dataUploadFrequency": "DataUploadFrequency"
    2. (Opcional) DataDelayOffsetInMinutes com a compensação de atraso em minutos. Defina esse valor entre 0 e 60 minutos.

    3. (Opcional) TargetModelVersion com a versão do modelo a ser ativada.

    4. (Opcional) Configure o weeklyOperatingWindow com uma configuração de turno.

    5. Você pode configurar Configurações avançadas de inferência opcionalmente.

      1. Inferência de alta frequência (5 minutos — 1 hora).

      2. Inferência de baixa frequência (2 horas — 1 dia).

      3. Programação flexível.

  3. Execute o comando a seguir para iniciar a inferência. Substitua os parâmetros a seguir no arquivo de carga útil.

    1. computation-model-idcom o ID do modelo de computação de destino.

    2. inference-action-definition-idcom o ID da AWS/ANOMALY_DETECTION_INFERENCE ação da Etapa 1.

    aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id \ --action-definition-id inference-action-definition-id \ --action-payload stringValue@=file://anomaly-detection-inference-payload.json
  4. Execute o comando a seguir para verificar se a inferência ainda está em execução. O inferenceTimerActive campo é definido como TRUE quando a inferência está ativa.

    aws iotsitewise describe-computation-model-execution-summary \ --computation-model-id computation-model-id
  5. O comando a seguir lista todas as execuções de inferência:

    aws iotsitewise list-executions \ --target-resource-type COMPUTATION_MODEL \ --target-resource-id computation-model-id
  6. Execute o comando a seguir para descrever uma execução individual. execution-idSubstitua pelo id da Etapa 5 anterior.

    aws iotsitewise describe-execution \ --execution-id execution-id

Pare a inferência

  1. Execute o seguinte comando para encontrar actionDefinitionId da ação AWS/ANOMALY_DETECTION_INFERENCE. computation-model-idSubstitua pelo ID real do modelo de computação criado anteriormente.

    aws iotsitewise describe-computation-model \ --computation-model-id computation-model-id
  2. Crie um arquivo anomaly-detection-stop-inference-payload.json e adicione o código a seguir.

    { "inferenceMode": "STOP" }
    nota

    A carga útil deve estar em conformidade com. Opção 1: usar um arquivo de carga útil limpo

  3. Execute o comando a seguir para interromper a inferência. Substitua o seguinte parâmetro no arquivo de carga:

    1. computation-model-idcom o ID do modelo de computação de destino.

    2. inference-action-definition-idcom o ID da AWS/ANOMALY_DETECTION_INFERENCE ação da Etapa 1.

    exemplo do comando stop inference:
    aws iotsitewise execute-action \ --target-resource computationModelId=computation-model-id \ --action-definition-id inference-action-definition-id \ --action-payload stringValue@=file://anomaly-detection-stop-inference-payload.json