Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Tecnologia da Internet das Coisas

Usando AWS Jobs para atualizar e configurar dispositivos IoT


Amazon Web Services (AWS) é um dos ambientes de estrutura mais populares para a Internet das Coisas (IoT), juntamente com o Microsoft Azure e o Google Cloud IoT. Dispositivos inteligentes são conectados à estrutura usando a Internet e interagem com ela usando o protocolo MQTT. Além de interagir com dispositivos, o framework também oferece grandes oportunidades de armazenamento e processamento de dados, representação de dados para um usuário, análise de dados (incluindo métodos de inteligência artificial), controle de acesso com um poderoso sistema de privilégios e muito mais.

Para armazenar dados, o ambiente AWS fornece (além de diferentes DBMS relacionais e não relacionais) um sistema de armazenamento de arquivos hierárquico baseado em nuvem chamado Simple Storage Service (S3). Cada arquivo no armazenamento S3 pode ter um localizador universal de recursos (URL), acessível de fora. Nesse caso, o arquivo pode ser acessado por meio de um navegador da Web, com os privilégios de acesso apropriados. Se o conteúdo do arquivo for uma página HTML, então, usando este arquivo, um usuário interativo pode acessar as opções de estrutura da AWS e dispositivos inteligentes conectados a ela. Os recursos desta página são especificados pelo código JavaScript que ela contém (esse código pode ativar funções das interfaces de programação de aplicativos (APIs) da estrutura como um todo e seus componentes separados).

Funções Lambda

Além das páginas da web, o código do programa no ambiente de estrutura da AWS pode ser armazenado como funções lambda. Esses são trechos de código com nomes especiais, escritos em uma das seguintes linguagens:Python, Java, C # ou Node.Js. Eles são armazenados na nuvem e são chamados em determinados eventos. Um evento pode ser iniciado por uma página da web (como chamar uma determinada API HTTP REST em uma determinada URL), por outra função lambda ou por um dispositivo inteligente (por meio do envio de uma mensagem MQTT de um determinado tipo). Em todos esses casos, os eventos podem ter parâmetros. As funções Lambda são usadas como middleware para a interação entre dispositivos inteligentes, recursos da AWS (por exemplo, bancos de dados) e as páginas da web com as quais o usuário interage diretamente (Figura 1).

clique para ampliar a imagem

Figura 1. Arquitetura de interação do componente AWS (Fonte:Auriga)

Existem limites rígidos para lambdas da AWS, por exemplo, o tempo de execução para lidar com uma única solicitação é limitado, a quantidade de memória que um lambda pode usar ao lidar com uma única solicitação é limitada. Se algum limite for excedido, a execução do lambda será abortada. Esses limites são configurados pelo usuário ao criar o lambda, mas não podem exceder certos valores.

Um dispositivo IoT se conecta à nuvem usando o protocolo TCP, que fornece integridade de dados e armazenamento em buffer; no caso de uma conexão lenta, o protocolo se encarrega de acumular dados no lado de envio e enviá-los pelo pipeline quando possível. Além disso, um protocolo AWS em cima do TCP se encarrega de restabelecer a conexão TCP persistentemente no caso de perda de conexão.

No entanto, os problemas de conectividade entre um dispositivo IoT e a nuvem normalmente não afetam lambdas devido à natureza unidirecional específica do protocolo MQTT. Ao se comunicar com um dispositivo IoT, um lambda apenas envia uma mensagem MQTT e não espera por uma resposta; se e quando a resposta chegar, é responsabilidade de uma função lambda diferente tratá-la e enviar outra mensagem MQTT para o dispositivo IoT, se necessário.

AWS Jobs

Um dos componentes da estrutura da AWS é o serviço de trabalho (AWS Jobs). Ele é usado para criar e executar ações de longa duração (trabalhos) em um ou vários dispositivos IoT conectados ao AWS e para gerenciar esses trabalhos. Em comparação com outros serviços da AWS, o serviço AWS Jobs apareceu recentemente.

O acesso ao serviço AWS Jobs é fornecido por meio do console de programação, bem como programaticamente usando o conjunto de funções API.

Um determinado subconjunto dessas funções pode ser usado pelo próprio dispositivo inteligente (pode ser chamado enviando mensagens MQTT). As funções acessíveis através do protocolo MQTT executam ações necessárias para acessar trabalhos e seus parâmetros do lado do dispositivo:GetPendingJobExecutions, StartNextPendingJobExecution, UpdateJobExecution, DescribeJobExecution, etc.

Outras funções são definidas no protocolo HTTPS e devem ser chamadas a partir do código JavaScript em páginas da web, do código do programa de funções lambda e pelos usuários no modo interativo. Essas funções são usadas principalmente para a criação e exclusão de trabalhos e gerenciamento de execução de trabalhos:CreateJob, DeleteJob, DescribeJob, ListJobs, ListJobExecutionsForThing, etc.

Na terminologia de trabalhos da AWS, as principais informações sobre um trabalho são armazenadas em seu documento de trabalho. Este é um documento JSON que é passado da estrutura para o dispositivo de destino e descreve o que deve ser feito. Normalmente, um documento de trabalho inclui o nome da operação e um URL (ou URLs) que se refere à localização dos parâmetros de trabalho de dados.

Este URL pode ser “pré-assinado” por um usuário AWS. Nesse caso, a URL permite o acesso a um determinado objeto para o dispositivo inteligente com os privilégios do usuário que o pré-assinou (para que o dispositivo possa ter acesso aos dados que normalmente não pode acessar). URLs pré-assinados têm um tempo de vida limitado e expiram depois que esse tempo de vida termina, tornando o objeto inacessível novamente.

Um documento de trabalho pode ser criado instantaneamente durante a criação de um trabalho ou pode ser armazenado como um arquivo no armazenamento de arquivos S3 da estrutura AWS. Um link para este arquivo pode ser especificado durante a criação do trabalho.

Outros atributos de trabalho incluem o seguinte:


Quando um trabalho está sendo executado em um dispositivo específico, ele tem um estado. Um conjunto limitado de estados é definido pela estrutura:QUEUED, IN_PROGRESS, FAILED, SUCCESS, CANCELED, REJECTED, REMOVED. O estado atual é alterado por uma solicitação do dispositivo (por exemplo, chamando a função UpdateJobExecution) ou quando um usuário chama uma das funções de gerenciamento de trabalho (por exemplo, cancela o trabalho usando a função CancelJob). Normalmente, o estado de execução do trabalho é IN_PROGRESS enquanto o dispositivo está executando o trabalho e se torna SUCCESS ou FAILED depois que o dispositivo conclui o trabalho.

O diagrama de estado para a execução do trabalho é mostrado na Fig. 2 (aqui, as transições iniciadas pelo dispositivo são mostradas em azul e aquelas iniciadas por outros componentes da AWS são mostradas em verde).

clique para ampliar a imagem

Figura 2. Diagrama de estados durante a execução de jobs AWS (Fonte:Auriga)

Tecnologia da Internet das Coisas

  1. Os processadores abordam a convergência de IoT e AI
  2. IoT fornecendo benefícios em todo o mundo
  3. Ajustar e esquecer:a ameaça representada pela IoT não configurada
  4. Garantindo a segurança cibernética e a privacidade na Adoção de IoT
  5. O tráfego de IoT na empresa está aumentando, assim como as ameaças
  6. 7 dicas essenciais para manter sua rede IoT em casa e segura
  7. A importância de US $ 6 trilhões dos padrões e regulamentos de segurança na era IoT
  8. Atenuando os riscos cibernéticos da IoT e encontrando soluções
  9. Usando IoT para impulsionar indústrias e apoiar a economia em geral
  10. Tornando Memphis ‘inteligente’:Visibilidade, controle e segurança para dispositivos IoT