Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Configuração do estado desejado para circuitos

Piscando um LED usando um domínio específico Linguagem aplicada por meio de um Módulo Twin a um contêiner Docker executando Johnny 5 em um Raspberry Pi.

História

Visão geral:

Azure IoT Edge permite que dispositivos conectados intermitentes obtenham as propriedades desejadas por meio de “Módulo Twins”. Esses gêmeos podem ser usados ​​como uma configuração de estado desejada para conduzir um comportamento específico dentro dos Módulos Edge. Os Edge Modules são executados como cargas de trabalho de contêiner para permitir a autocorreção e a implantação rápida sem a necessidade de conectividade constante. Quando a Internet está disponível, os dispositivos podem tirar proveito dos serviços em nuvem para chamar métodos dentro dos módulos.

Neste projeto, desenvolvemos um Módulo IoT Edge usando o SDK IoT NodeJS do Azure que obtém um estado desejado da nuvem que configura os pinos GPIO em um Raspberry Pi para realizar as operações desejadas em um circuito conectado usando Johnny 5.

Isso pode permitir casos de uso interessantes como:* Permitir vários modos de operação para um único circuito aplicando configurações de estado diferentes * Failover de hardware redundante com dois dispositivos conectados ao mesmo circuito quando orquestrado e devidamente configurado com kubernetes.

Antecedentes:

A configuração do estado desejado é um conceito popular que costuma ser usado ao provisionar servidores pela primeira vez e para garantir a conformidade em sistemas em execução. Estendemos esse conceito para circuitos usando serviços projetados para resiliência e operação saudável em áreas onde a conectividade de rede pode ser intermitente. Esta abordagem nos permite mudar o comportamento de um circuito conectado em tempo de execução e permitir cenários interessantes envolvendo redundância de hardware.

O tempo de execução do Azure IoT Edge da Microsoft nos permite formar uma base sólida para o projeto. Este tempo de execução é executado como um serviço no hardware local e permite a orquestração de “módulos” em contêineres que são configurados por dispositivo na nuvem do Azure. Dois módulos de sistema são sempre empregados, o agente de borda que obtém e aplica as configurações de implantação do módulo e o hub de borda que permite o envio de mensagens em cache para a nuvem e a comunicação entre os módulos.

Começamos criando um módulo Azure IoT Edge usando o SDK do Azure IoT NodeJS. Este módulo recebe uma configuração dupla que especifica as propriedades desejadas e relatadas para um determinado dispositivo. Nós empregamos uma linguagem específica de domínio que é analisada em uma configuração Johny 5. Isso nos permite definir como um circuito deve funcionar na nuvem e aplicá-lo ao nosso módulo IoT Edge.

Um exemplo de configuração é fornecido abaixo:

“Config”:“{\” periféricos \ ”:[{\” tipo \ ”:\” Led \ ”, \” nome \ ”:\” alarme \ ”, \” configurações \ ”
:{\ ”Pin \”:\ ”GPIO18 \”}, \ ”initialState \”:{\ ”método \”:\ ”piscar \”, \ ”ponto final \”:500}, \
“outputAlias ​​\”:\ ”Alias2 \”}, {\ ”digite \”:\ ”Botão \”, \ ”nome \”:\ ”botão \”, \ ”configurações \”:
{\ ”pino \”:\ ”GPIO20 \”}, \ ”outputAlias ​​\”:\ ”alias1 \”}]} ”,

Este exemplo define um dispositivo LED no GPIO18 com um estado inicial de intermitência ligado / desligado a cada 500 ms. O estado do LED pode se propagar para outros módulos usando o outputAlias. Um botão também é empregado no GPIO20, que publica as mudanças de estado para o alias1. Em tal configuração, podemos responder independentemente às mudanças de estado em módulos adicionais roteando o outputAlias.

Atualmente, suportamos a configuração de um termômetro, LED e dispositivo de botão usando este mecanismo.

Passos para reproduzir:

Para começar, você precisará de uma assinatura do Microsoft Azure com um Hub IoT implantado.

Em seguida, você desejará iniciar a configuração do seu hardware conectando um LED ao GPIO18 do Raspberry Pi. As instruções para este processo podem ser encontradas aqui.


Com os circuitos e os serviços em nuvem preparados, você desejará instalar o tempo de execução do Azure IoT Edge em seu Raspberry Pi seguindo este guia. Assim que o runtime for instalado, você precisará provisionar manualmente o dispositivo seguindo estas instruções.

Em seguida, criaremos uma implantação especial no Azure que nos permitirá piscar nosso LED.



Crie uma implantação conforme mostrado abaixo:


O URL da imagem:

toolboc / johnny5onedge:0.0.981-arm32v7

As opções de criação do contêiner:

{“ExposedPorts”:{“9229 / tcp”:{}}, “HostConfig”:{“PortBindings”:{“9229 / tcp”:[{“HostPort”:“9229”}]}, “Privilegiado”:​​verdadeiro , “Dispositivos”:[{“PathOnHost”:“/ dev / i2c-1”, “PathInContainer”:“/ dev / i2c-1”, “CgroupPermissions”:“rwm”}, {“PathOnHost”:“/ dev / gpiomem ”,“ PathInContainer ”:“ / dev / gpiomem ”,“ CgroupPermissions ”:“ rwm ”}],“ Montagens ”:[{“ Tipo ”:“ bind ”,“ Fonte ”:“ / lib / modules / ” , “Destino”:“/ lib / modules /”}]}}

As propriedades desejadas do Módulo Twin:

{
“propriedades.desejada”:{
“config”:“{\” periféricos \ ”:[{\” tipo \ ”:\” Led \ ”, \” nome \ ”:\” alarme \ ”, \” configurações \ ”:{\” pin \ ”:\” GPIO18 \ ”}, \” initialState \ ”:{\” método \ ”:\” piscar \ ”, \” período \ ”:500 }, \ ”OutputAlias ​​\”:\ ”alias2 \”}, {\ ”tipo \”:\ ”Botão \”, \ ”nome \”:\ ”em \”, \ ”configurações \”:{\ ”pin \ ”:\” GPIO20 \ ”}, \” outputAlias ​​\ ”:\” alias1 \ ”}]}”
}
}

Salve quando terminar. Em seguida, pule as seções “Especificar Rotas” e “Especificar Métricas” até chegar a “Dispositivos de Destino”.

Defina a Prioridade para 10 e adicione uma condição de destino de tags.environment =’blinK

Leia mais informações… ..

Configuração de estado desejado para circuitos


Processo de manufatura

  1. Kubernetes no Azure:ferramentas e dicas para o sucesso
  2. Certificações do Azure:os especialistas do Cloud Institute explicam o que é melhor para você
  3. A Certificação Azure DevOps é adequada para mim?
  4. Como se preparar para o exame de certificação Azure DevOps sem treinamento?
  5. Como fazer gerenciamento de custos efetivo para AWS, GCP e Azure
  6. Circuitos de controle
  7. Configurações para IHMs em Situações de Risco
  8. Cabos blindados para circuitos de sinal (Parte 2)
  9. Cabos blindados para circuitos de sinal (Parte 1)
  10. Microsoft lança Azure Edge Zones para aplicativos 5G