O tema das plataformas Internet das Coisas está agora em uma onda de "hype", o que é confirmado pela
curva Gartner das principais tendências tecnológicas : desde 2016, as plataformas Internet das Coisas no gráfico substituíram a Internet das Coisas.
Hoje falaremos sobre o que a Samsung oferece e, antes de tudo, sobre o Samsung Artik Cloud.
Conteúdo:
- Apresenta o Samsung Artik Cloud como uma plataforma da Internet das Coisas.
- Aprendendo a trabalhar com o Artik Cloud na prática:
- Crie um novo tipo de dispositivo,
- Simulação de dados
- Recuperando dados da nuvem usando a API REST.
Recursos do Samsung Artik Cloud como plataforma da Internet das Coisas
Sob a plataforma da Internet das coisas, via de regra, eles entendem alguma solução integrada pronta para uso de vários componentes que ajuda a acelerar o processo de trazer um produto de IoT ao mercado.
Quais componentes idealmente devem ter essa plataforma? De acordo com o autor do artigo
“5 coisas a saber sobre o ecossistema da plataforma IoT” da IoT Analytics, a plataforma deve consistir em 8 componentes funcionais:
Tab. 1

No momento, nem todas as plataformas IoT têm esses componentes. Como regra, um foco é focalizado em alguns deles: por exemplo, o Amazon AWS não é um banco de dados comum no qual é criada uma sombra virtual permanente de um dispositivo, o IBM Bluemix tem a capacidade de usar o serviço de análise Watson e, no PTC ThingWorx, é possível criar facilmente uma interface gráfica. aplicações.
Em 2016, a Samsung lançou a família Artik, que atualmente inclui:
- Plataforma de software - Artik Cloud - este material é dedicado a ele,

- Plataforma de hardware - microcomputadores Artik.

Um ponto interessante: a Samsung lança sob um único nome uma plataforma de software e uma solução de hardware, e em diferentes níveis: do menor e mais fraco computador Artik 0 ao poderoso e produtivo Artik 7.
Outro ponto interessante: mais recentemente, em 2017, a Samsung
anunciou a unificação de várias tecnologias sob o nome comum SmartThings Cloud: Samsung Connect (roteadores especializados do Smart Home), SmartThings (soluções de automação residencial) e a família Artik. Nesse caso, todas as funcionalidades existentes serão salvas.
O site oficial do produto está localizado
aqui .
Se considerarmos o Samsung Artik Cloud em termos de uma lista de componentes funcionais (consulte a Tabela 1), obtemos o seguinte:
Quadro 2

Dos principais componentes, atualmente não há nenhum componente de análise e aprendizado de máquina. Mas este ano, a Samsung
anunciou a abertura de mais 4 novos centros científicos de inteligência artificial em todo o mundo. Portanto, há todos os motivos para acreditar que o trabalho nessa área esteja incluído nos planos estratégicos da empresa.
Os benefícios
Preços acessíveis
Tudo é simples aqui. Você pode enviar até 100.000 mensagens por mês gratuitamente. Ao contrário de outros serviços semelhantes, você não precisa anexar um cartão bancário antes de usá-lo. Ela não será exigida de você. Você precisará pagar apenas se decidir usar o Artik Cloud em uma tarefa real em que o número de mensagens por dia e por mês seja crítico - nesse caso, o custo de 1 milhão de mensagens será de US $ 15.
É por isso que o Artik Cloud é ótimo para ensinar aos alunos: se você o usar apenas em sala de aula, as chances de ficarem sem cotas são muito pequenas.
Várias APIs diferentes
No momento, você pode interagir com o Artik Cloud de quatro maneiras ao mesmo tempo:
- API REST
- Websockets
- MQTT
- Coap
Digno de nota é o suporte a dois protocolos ao mesmo tempo, amplamente utilizados na Internet: MQTT e CoAP.
Limitações
Fase beta
O Artik Cloud ainda é um produto jovem (apareceu em 2016). Alguns recursos ainda estão na versão beta. Por exemplo, em um simulador de dispositivo, você não pode trabalhar com mais de um dispositivo.
Documentação incompleta
A documentação está evoluindo. Por exemplo, a API REST agora está muito bem documentada e a documentação da API MQTT precisa ser aprimorada.
Aprendendo a trabalhar com o Artik Cloud na prática
E agora sugerimos que você crie um dispositivo virtual - um rastreador GPS que irá gerar dados aleatórios. Em seguida, acessaremos esses dados do computador.
Criação de conta
Vamos para o site
https://my.artik.cloud/
Existem várias opções de registro. A maneira mais fácil é usar uma conta do Google existente. O spam não será enviado! Verificado por experiência pessoal.

Crie um novo tipo de dispositivo
Você será direcionado para a página do usuário
https://artik.cloud/ .
Aqui você pode adicionar dispositivos ao seu sistema, observar logs, definir regras de interação. Agora, quase nada pode ser feito, uma vez que os dispositivos e sensores de que precisamos não estão entre as opções propostas. Vá diretamente para a página do desenvolvedor:
https://developer.artik.cloud/
Crie um novo tipo de dispositivo.

Em seguida, você precisa criar um nome e um identificador exclusivo - será necessário se desejar compartilhar seu dispositivo virtual com a comunidade.

Você será solicitado a criar um "manifesto" no qual os campos do dispositivo são definidos.

Você verá a janela de criação do manifesto aberta na primeira guia: Campos do dispositivo. Como estamos fazendo um exemplo para um rastreador GPS, crie dois campos para latitude e longitude. Eu os chamei
lat (latitude) e
long (longitude).

Você pode definir:
- Nomes de campos (no nosso caso - lat e long ),
- Unidades (já existem unidades padrão para isso).
Clique no botão Avançar. Não há necessidade de especificar "Ações do dispositivo" neste exemplo; portanto, imediatamente depois disso, prossiga para ativar o manifesto.
Criação de dispositivos
Agora você pode criar um novo tipo de dispositivo retornando para
https://my.artik.cloud . Clique em + Adicionar outro dispositivo ...

Simulação de dispositivo
Vamos tentar uma função interessante - simulação de dados. É útil para testes.
No retângulo que indica o dispositivo, clique em "..." e clique em Simular dados do dispositivo.

Aparecerá uma janela na qual você pode definir os parâmetros de simulação para cada campo. Por exemplo, o intervalo da saída de valores, limites, distribuição (no nosso caso, aleatório).

Depois disso, você pode clicar no botão Iniciar simulação.

Os dados começaram a aparecer. Você pode vê-los no gráfico. Para fazer isso, abra a guia Gráficos no menu superior.

Você verá em tempo real os valores de longitude e latitude no intervalo especificado:

Essa programação é bastante conveniente de usar. Pode ser redimensionado, histórico distorcido, alterar o tipo de gráfico. Como você pode ver na captura de tela, também é possível fazer um gráfico de barras e pontos:

Se você deseja ver os metadados, é conveniente usar a guia Logs de Dados. Aqui você verá a data de geração, data de recebimento e representação interna dos dados - este é o formato JSON familiar.

Receba dados da nuvem
Vamos tentar tirar nossos dados simulados da nuvem. Usaremos a API REST - isso é lógico, porque escreveremos código para receber dados em JavaScript.
Clique no nome do dispositivo no menu.

Na janela que se abre, você verá várias chaves de dispositivo, das quais duas são importantes: ID do dispositivo e Token do dispositivo. Quando acessadas de fora, essas chaves funcionam como login e senha. Você precisará deles muito em breve.

Como sei qual solicitação enviar? Existe uma ferramenta de desenvolvedor muito conveniente para isso - o
console da
API . Ele permite que você assista e aprenda exemplos de várias solicitações de API. Vejamos a solicitação GET (Get Last Normalized Messages):

Para atender a essa solicitação, é necessário especificar a qual dispositivo estamos nos referindo (
sdids - aqui precisamos substituir o identificador de dispositivo obtido na etapa anterior), os campos de interesse para nós (
fieldPresense ) e quantos valores queremos obter (
contagem ).
Preencha os campos e clique em Experimente! Você receberá informações suficientes para fazer uma solicitação:

- Chamada é o endereço para o qual a solicitação será enviada,
- Cabeçalhos de solicitação - cabeçalhos a serem enviados junto com a solicitação,
- 200 - código de resposta.
Código JavaScript
Aqui está um exemplo de código JavaScript que receberá uma mensagem da nuvem e a exibirá.
varxmlhttp=newXMLHttpRequest(); varcall = "https://api.artik.cloud/v1.1/messages/last?count=1&fieldPresence=lat&sdids=084d34b198d84f1688b3b7b3fe420fcf"; xmlhttp.open('GET',call,true); xmlhttp.setRequestHeader("Content-Type","application/json"); xmlhttp.setRequestHeader("Authorization","Bearer fc851ddb484842788daa19569b326951"); xmlhttp.onreadystatechange=function(){ if(xmlhttp.status==200){ alert(xmlhttp.responseText); } };
Obviamente, a linha
varcall e o parâmetro de autorização do
portador precisam ser substituídos pelos seus, obtidos na última etapa.
O resultado desse código no navegador Mozilla:

Essa é uma sequência JSON na qual, entre outras coisas, existem as coordenadas
lat e
long necessárias. Resta apenas analisar a sequência usando o analisador JSON, e você tem os dados!
Com base neste exemplo, você pode rotular facilmente um mapa geográfico usando a API Yandex.Maps.

Conclusão
Então, o que implementamos? Um exemplo simples: criando um dispositivo na nuvem, simulando seus dados e recebendo esses dados no seu computador.
Fora dos suportes estão:
- Enviando dados para a nuvem por meio da API REST,
- Interação com a nuvem por meio de outras interfaces, como MQTT,
- Ações (ações do dispositivo),
- Regras (mecanismo de regras).
Para quem estiver interessado em continuar, essas questões podem ser estudadas independentemente, usando a
documentação oficial.
Autor: Tatyana Volkova
Funcionário da Samsung Research Center
Gerente e autor do currículo do projeto Samsung da IoT Academy