AWS IoT Device SDK
O AWS IoT fornece um SDK para o TimeTec para conectar o dispositivo de hardware TimeTec IoT e o aplicativo móvel facilmente e rapidamente. O AWS IoT Device SDK permite que os dispositivos TimeTec se conectem, autenticem e troquem mensagens com AWS IoT usando os protocolos MQTT, HTTP ou WebSockets. O Device SDK suporta C, JavaScript e Arduino, e inclui as bibliotecas de clientes, o guia do desenvolvedor e o guia de entrega para fabricantes.
Gateway do dispositivo
O AWS IoT Device Gateway permite que os dispositivos TimTec IoT se comuniquem de forma segura e eficiente com o AWS IoT. O Device Gateway pode trocar mensagens usando um modelo de publicação / assinatura, que permite comunicações de um para um e de um para muitos. Com este padrão de comunicação um-para-muitos AWS IoT torna possível que o dispositivo conectado TimeTec transmita dados para vários assinantes para um determinado tópico. O Device Gateway suporta protocolos MQTT, WebSockets e HTTP 1.1 e o TimeTec pode implementar facilmente suporte para protocolos proprietários ou legados. O Device Gateway escalas automaticamente para suportar mais de um bilhão de dispositivos sem infraestrutura de provisionamento.
Autenticação e autorização
O AWS IoT fornece autenticação mútua e criptografia em todos os pontos de conexão, de modo que os dados nunca são trocados entre dispositivos e AWS IoT sem identidade comprovada. O AWS IoT suporta o método de autenticação AWS (chamado 'SigV4'), bem como a autenticação baseada em certificado X.509.
As conexões usando HTTP podem usar qualquer um desses métodos, enquanto as conexões usando MQTT usam autenticação baseada em certificados e as conexões usando o WebSockets podem usar o SigV4. Com o AWS IoT TimeTec pode usar certificados gerados pela AWS IoT, bem como aqueles assinados pela nossa Autoridade de Certificação (CA) preferida. Podemos mapear nossa escolha de função e / ou políticas para cada certificado, para que possamos autorizar dispositivos ou aplicativos para ter acesso, ou mudar nossa mente e revogar o acesso completamente sem tocar o dispositivo.
O TimeTec pode criar, implantar e gerenciar certificados e políticas para nossos dispositivos IoT no console ou usando a API. Esses certificados de dispositivo podem ser provisionados, ativados e associados às políticas relevantes que são configuradas usando AWS IAM. Isso permite que nossos clientes revogam o acesso instantaneamente para um dispositivo individual se eles optarem por fazê-lo. O AWS IoT também suporta conexões de aplicativos móveis dos usuários usando o Amazon Cognito, que cuida todas as etapas necessárias para criar um identificador exclusivo para os usuários do nosso aplicativo e recuperar credenciais AWS temporárias e de privilégio limitado.
Registro
O Registro estabelece uma identidade para dispositivos e pistas de metadados, como os atributos e recursos dos dispositivos. O Registro atribui uma identidade única a cada dispositivo que é consistentemente formatado independentemente do tipo de dispositivo ou como ele se conecta. Ele também suporta metadados que descrevem os recursos de um dispositivo, por exemplo, se um sensor relata a temperatura e se os dados são Fahrenheit ou Celsius.
O Registro permite aos nossos clientes armazenar metadados sobre seus dispositivos sem custo adicional, e os metadados no Registro não expiram, desde que você acesse ou atualize sua entrada de registro pelo menos uma vez a cada 7 anos.
Som do dispositivo
Com o AWS IoT, podemos criar uma versão virtual persistente ou "sombra, " de cada dispositivo que inclua o estado mais recente do dispositivo para que aplicativos ou outros dispositivos possam ler mensagens e interagir com o dispositivo. As sombras do dispositivo persistem o último estado relatado e o estado futuro desejado de cada dispositivo mesmo quando o dispositivo está desconectado. TimeTec pode recuperar o último estado relatado de um dispositivo ou definir um estado futuro desejado através da API ou usar o mecanismo de regras.
O Device Shadows facilita a criação de aplicativos que interagem com dispositivos TimeTec, fornecendo sempre as APIs REST disponíveis. Além disso, os aplicativos podem definir o estado futuro desejado de um dispositivo sem contabilizar o estado atual dos dispositivos. O AWS IoT irá comparar a diferença entre o estado desejado e o último relatório, e comandar o dispositivo para compensar a diferença.
O SDK do dispositivo AWS IoT facilita o dispositivo TimeTec para sincronizar seu estado com a sua sombra e para responder aos estados futuros desejados definidos através da sombra.
O Device Shadows permite aos nossos clientes armazenar gratuitamente o estado dos seus dispositivos por até um ano. Som do dispositivo persistem para sempre se você atualizá-las pelo menos uma vez por ano, caso contrário expiram.
Regras do motor
O mecanismo de regras possibilita a criação de aplicativos IoT que coletam, processam, analisam e atuam em dados gerados por dispositivos conectados a escala global sem ter que gerenciar qualquer infraestrutura. O Rules Engine avalia mensagens de entrada publicadas no AWS IoT e transforma e entrega para outro dispositivo ou serviço da nuvem, com base nas regras de negócios que você define. Uma regra pode ser aplicada a dados de um ou vários dispositivos, e pode levar uma ou várias ações em paralelo.
O Motor de Regras também pode encaminhar mensagens para os pontos de extremidade AWS, incluindo AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning, Amazon DynamoDB, Amazon CloudWatch e Amazon Elasticsearch Service com integração incorporada da Kibana. Os pontos de extremidade externos podem ser alcançados usando AWS Lambda, Amazon Kinesis e Amazon Simple Notification Service (SNS).
É fácil criar regras dentro do console de gerenciamento ou escrever regras usando uma sintaxe semelhante ao SQL. As regras podem ser criadas para se comportar de forma diferente dependendo do conteúdo da mensagem. Por exemplo, se uma leitura de temperatura exceder um certo limite, ele poderia desencadear uma regra para transmitir dados para AWS Lambda. As regras também podem ser criadas para levar em consideração outros dados na nuvem, como dados de outros dispositivos. Por exemplo, você poderia dizer que adotar uma ação se essa temperatura for superior a 15% acima da média de outros 5 dispositivos.
O Rules Engine fornece dezenas de funções disponíveis que podem ser usadas para transformar os dados, e é possível criar infinitamente mais através da AWS Lambda. Por exemplo, se estamos lidando com uma ampla gama de valores, poderíamos levar a média dos números recebidos. As regras também podem desencadear a execução do seu código Java, Node.js ou Python na AWS Lambda, oferecendo a máxima flexibilidade e potência para processar dados do dispositivo.