Estudo de Aplicabilidade de Internet of Things por smartphones: Análise de movimentação de usuários

Texto

(1)

Estudo de Aplicabilidade de Internet of Things

por smartphones:

Análise de movimentação de usuários

Thiago Cannabrava de Sousa (Universidade Federal do ABC)

thiago.cannabrava@aluno.ufabc.edu.br

Ugo ibusuki (Universidade Federal do ABC)

ugo.ibusuki@ufabc.edu.br

Erik Gustavo Del Conte (Universidade Federal do ABC)

erik.conte@ufabc.edu.br

Este trabalho apresenta uma síntese de conceitos, nomenclaturas e tecnologias que tem sido utilizada no contexto de Manufatura Avançada. A Internet of Things (IoT) é uma tecnologia vista como um dos principais braços da indústria 4.0 para transformar digitalmente a indústria, e está presente e tem sido explorada em quase todos os demais setores da sociedade. Em função disso, esse trabalho explora a aplicabilidade desta tecnologia por smartphones. Nos resultados, foi observado como um smartphone pode ser utilizado para coletar dados do ambiente, por meio de seus sensores embarcados, em aplicações que agreguem valor para um negócio. Foi desenvolvida uma aplicação de monitoramento de condições (Condition Monitoring) e o emprego de predições de movimentação de usuários por Machine Learning.

(2)

1 1. Introdução

O mundo tem passado por um por fenômeno chamado transformação digital, o qual tem emergido como um importante evento para pesquisas em sistemas da informação (Bharadwaj et al., 2013). Para Vial (2019) a transformação digital pode ser vista como um processo onde tecnologias digitais possuem um papel central na criação de novas proposições de valor bem como reforça as disrupções que tem acontecido na sociedade e na indústria. Sousa e Rocha (2019), que analisaram as competências e habilidades necessárias para o gerenciamento de novos modelos de negócios disruptivos digitais, citam que a Internet of Things (IoT) é uma das tecnologias que será responsável pela criação e distribuição de novos produtos e serviços em escala e taxa sem precedentes. Nesse sentido, a internet das coisas deve permitir a criação de novos processos digitais, novas infraestruturas para gerenciamento de dados e levará à redefinição e remodelamento da natureza do trabalho.

Visto a importância da IoT para a transformação digital, este trabalho objetiva verificar a aplicabilidade de smartphones como um “dispositivo IoT” por meio de uma aplicação, em específico, que consiste em identificar atividades de movimentação de usuários a partir de dados de vibração gerados por um smartphone enviados para uma plataforma IoT, onde as predições devem ocorrer.

2. Referencial teórico

Essa sessão apresentará uma revisão de literatura das principais tecnologias e conceitos que são amplamente empregados no processo de transformação digital, e, que ao tempo, serão utilizadas na construção deste trabalho. Serão abordados os conceitos de IoT, protocolos de comunicação e trabalhos relacionados.

2.1. Arquitetura para solução IoT

(3)

2 De uma forma geral, os principais componentes constituintes de uma arquitetura de solução IoT são: identificadores, sensores, conectividade com a internet e software. Visto isso, ao integrar todos componentes, a IoT é a rede de coisas, com clara identificação de elementos, incorporada com inteligência de software, sensores e conectividade ubíqua com a Internet. A figura 1 apresenta o modelo de arquitetura que divide a solução em quatro níveis: nível de dispositivos (things); nível de rede IoT (infraestrutura para transporte de dados); nível de Plataforma IoT (fornece o gerenciamento de serviços e conectividade com os objetos); e o nível de aplicação IoT (aplicações baseadas em modelos de negócios) (CARTLIDGE, 2017).

Figura 1 - arquitetura básica de uma solução IoT

Fonte: (CARTLIDGE, 2017)

Alguns dos sensores IoT mais modernos do mercado, tem a capacidade de medir mais de uma grandeza. Como no caso do sensor XDK da fabricante Bosch Rexroth (figura 2). O Cross

Domain Development Kit (XDK) é um dispositivo multissensorial flexível para medição de até

8 grandezas: aceleração, giroscópio, ruído sonoro, força de campo magnético, luminosidade, temperatura, pressão e humidade. O dispositivo conta com uma unidade de microprocessamento em borda, que permite pré-processamento e pós-processamento do dado em borda, programação de monitoramento preditivo além de ser propriamente um gateway com um stack de protocolos de comunicação (CoAP, MQTT) com interface Wifi e TCP/IP (“Overview - XDK”, [s.d.]).

(4)

3

Figura 2 - Multisensor IoT XDK

Fonte: (“Overview - XDK”, [s.d.])

2.2. Arquitetura para solução IoT

Um protocolo de comunicação é um conjunto de regras que governam a comunicação entre computadores e uma rede. Desta maneira, para que dois computadores possam conversar, eles precisam falar a mesma língua (“Chapter 2: Protocol”, [s.d.]).

2.3. Protocolo MQTT

O MQTT (Message Queue Telemetry Transport) consiste em um protocolo de mensagens leve, criado para comunicação M2M (Machine to Machine) e Internet of Things. Foi projetado como um transportador de mensagens no modelo publish/subscribe (pub/sub) que utiliza pouca banda de transmissão dos dados (“MQTT”, [s.d.]).

Foi desenvolvido pela IBM e Eurotech e é projetado para enviar dados através de redes intermitentes ou com baixa banda de dados e, por esse motivo, é desenvolvido com base no modelo que garante alta taxa de entrega das mensagens. O protocolo é executado em TCP/IP ou outros protocolos de rede que fornecem conexões bidirecionais ordenadas, sem perdas (“MQTT Version 3.1.1”, [s.d.]).

O modelo (pub/sub) implementa um middleware chamado de broker, cujo responsabilidade é de receber, enfileirar e disparar as mensagens recebidas dos publishers para os subscribers. O

Publisher é responsável por se conectar com o broker e publicar mensagens, já o subscriber é

responsável por se conectar ao broker e receber as mensagens que ele tiver interesse. O modelo

publish/subscribe para troca de mensagens, utiliza o conceito de tópicos para processar as

(5)

4

Figura 3 - Arquitetura do Protocolo MQTT

Fonte: (ENOMOTO, 2018)

As principais plataformas IoT do mercado apresentam suporte ao protocolo MQTT: AWS, Azure, Google, ThingSpeak, TagoIO, Konker, GE Predix.io, Siemens MindSphere e outras. Já na literatura, é possível observar trabalhos relacionados com a aplicabilidade de smartphones em soluções IoT. Marah et al. (2020) propuseram aplicabilidade de smartphone para IoT

analytics centrada em borda. Os autores utilizaram um estudo de caso para predição da

intensidade luminosa para medir o desempenho da arquitetura proposta, bem como o desempenho do smartphone e funções da arquitetura. Rateni; Dario; Cavallo (2017) revisaram aplicações e abordagens para smartphone no contexto da indústria alimentícia, e descobriram que este novo campo de pesquisa representa uma área promissora e que possui alto impacto científico e comercial. Kumar Dhar et al. (2014) propuseram a utilização de um smartphone como um gateway para redes de sensores wireless. O autor utilizou hardware Arduino para protótipo, sensor de monóxido de carbono e um smartphone como um gateway para enviar os dados para uma plataforma IoT (Thingspeak®).

3. Metodologia de pesquisa

Nas próximas subseções, são apresentados o método e os materiais utilizados para aplicação do

smartphone como um “dispositivo IoT” em uma solução IoT.

3.1. Materiais e método

(6)

5 utilizados no experimento:

Figura 4 - Materiais utilizado no estudo

Fonte: Autoria própria

O modelo utilizado no experimento é o modelo Samsung SM-G9600 com sistema operacional Android versão 10. Contudo, a lista de softwares e aplicativos é maior:

 Plataforma como um Serviço (PaaS) Tago IO®  Aplicativos:

o Automate versão 1.22.2;

o MQTT Publisher Plugin versão 1.4.0.

3.1.1. Plataforma como um Serviço (PaaS): TagoIO®

(7)

6 3.1.2. Aplicativos: Automate® e MQTT Publisher

O Automate® (instalado no sistema operacional Android® do smartphone) é um aplicativo que permite a criação e automatização de tarefas a partir das funções disponíveis no smartphone. O Automate® tem como principal vantagem a programação em alto nível de funções presentes no smartphone, e expande o horizonte de aplicações devido a capacidade de integração de outros sistemas, como no caso de plug-in’s.

O MQTT Publisher® é um plug-in que permite ser instalado no smartphone e ser integrado com outros aplicativos, e que permite o envio de dados para um broker por meio do protocolo MQTT.

3.1.3. Microsoft Azure Machine Learning®

O Microsoft Azure Machine Learning é um ambiente baseado em nuvem que pode ser usado para treinar, implantar, automatizar, gerenciar e rastrear modelos de Machine Learning (ML). Segundo descrição da plataforma, a plataforma pode ser usado para qualquer tipo de Machine

Learning, desde ML clássico ao Deep Learning, por aprendizagem supervisionado e não

supervisionado. A plataforma tem suporte para escrita do código em linguagem Python, C# ou R. O Azure Machine Learning conta com um ambiente de design do modelo altamente intuitivo que facilitam a interpretação dos processos envolvido no treinamento dos modelos (“O que é o Azure Machine Learning | Microsoft Docs”, [s.d.]).

4. Resultados

A seguir, será apresentado o desenvolvimento do estudo que motivou desvendar a aplicabilidade de smartphones em uma aplicação IoT. O objetivo consiste em desenvolver uma aplicação de condition monitoring com base na tecnologia IoT abordada por meio de um celular, onde análises preditivas para identificação de movimentação de usuários podem ser realizadas na plataforma IoT, por meio dos dados de vibração.

(8)

7 4.1. Abordagem de Internet das Coisas

Como ilustrado na figura 5, a arquitetura da solução IoT utilizada consiste de quatro níveis conforme visto no referencial teórico: o smartphone (dispositivo IoT); o canal de comunicação (Internet, 3G/4G) para transporte de dados com o protocolo MQTT; a plataforma IoT (que oferece serviço de gerenciamento de conectividade e do protocolo); e a camada de aplicação (TagoIO) que consulta um sistema superior de inteligência artificial por meio de um Web

Service para consumir as predições a partir dos dados de vibração. Com o intuito de ilustrar a

aplicabilidade de smartphones em IoT, a aplicação vai explorar os seguintes sensores do

smartphone: acelerômetro, medidor de ruído, medidor de luminosidade e intensidade do campo

magnético. O monitoramento das quatro grandezas tem o intuito de ilustrar como o smartphone pode ser usado em analogia ao sensor IoT XDK da Bosch, que permitem o sensoriamento de até 8 grandezas.

Figura 5 - Arquitetura de comunicação entre dispositivos e a aplicação IoT

Fonte: Autoria própria

(9)

8

Figura 6 - Apresenta a programação em blocos no Automate®

Fonte: Autoria própria

Conforme figura 6, o programa se inicia com blocos flow, que iniciam a leitura, seguido pelo bloco de função do sensor e o plug-in MQTT com a parametrização do broker de acordo com as características do protocolo MQTT. Por último, o bloco delay que temporiza o disparo das mensagens com os dados coletados e fecha um laço infinito para leitura contínua dos sinais.

4.1.1. Smartphone como um gateway

Como visto no referencial teórico, a indústria 4.0 traz a mensagem de que a transformação digital, empregada na manufatura, deve levar ao aumento de eficiência operacional das empresas. Nesse sentido, ao considerar que muitos processos podem não ter sido concebido para as visões da indústria 4.0, alguns estudos têm considerado o uso de arquitetura de sistemas ciber-físicos e gateways para inserir estas máquinas e processos aos padrões da indústria 4.0, no que é definido como Smart Retrofitting (GUERREIRO et al., 2018).

No caso dos gateways, estes possuem a função de atuar como “ponte” entre diferentes protocolos de comunicação. E isso, permite dizer, que este estudo também pode ser visto como uma forma de empregar um smartphone como um gateway, ao utilizar o aplicativo Automate® e o plug-in MQTT Publisher® para coletar dados de equipamentos que não possuem conectividade com a internet.

4.1.2. Criação de valor para solução IoT por meio de dashboards

(10)

9 a informação contida na variável em diversos formatos. A TagoIO® conta com diversos tipos de Widgets. Além disso, a aplicação pode ser dividida em abas de forma a melhor organizar os painéis de análise e assim poder se extrair informações de maneira mais fácil. Os painéis de monitoramento (dashboards) são a essência da geração de valor nas soluções IoT, ao permitir monitorar e controlar “things” de qualquer lugar no mundo (CARTLIDGE, 2017).

Seguindo a arquitetura da solução IoT, a aplicabilidade do smartphone se mostra factível com o desenvolvimento dos painéis gráficos e dashboards que são utilizados em aplicações IoT. A figura 7 apresenta os painéis gráficos e as dashboards criados para monitorar os dados gerados pelo celular de forma a permitir o monitoramento de aplicações que necessitem de monitoramento de uma das grandezas específicas.

Figura 7 – Dashboards dos sensores de intensidade de vibração, luminosidade, ruído e campo magnético

(11)

10 4.2. Aplicação de Inteligência Artificial

A proposta de aplicação de inteligência artificial neste trabalho complementa a arquitetura da solução IoT por meio do emprego de Machine Learning para fazer predições e, assim, identificar as atividades de movimentação de usuários do smartphone a partir dos dados do acelerômetro. A identificação da atividade é realizada a partir do consumo de um Web Service fornecido pela Microsoft Azure Machine Learning® que hospeda um modelo Machine

Learning treinado para identificar a atividade a partir dos dados de aceleração.

Os próximos subtópicos apresentam o desenvolvimento e resultados do emprego de Machine

Learning para identificar a atividade de movimentação de usuários, como proposta específica

de aplicação para os dados coletados do experimento realizado. O treinamento de um modelo de Machine Learning foi realizado a partir do processo ilustrado na figura 8 (“Azure Machine Learning - Parte 2”, [s.d.]):

Figura 8 - Processos para desenvolvimento de modelo de Machine Learning

Fonte: (“Azure Machine Learning - Parte 2”, [s.d.])

Conforme figura 8, a primeira etapa do processo se inicia com a coleta de dados, seguida da etapa de pré-processamento (limpeza e adequação dos dados para o treinamento), depois pela etapa de treinamento dos dados coletados, avaliação e seleção do método que apresentar maior precisão nas predições. Os seguintes subtópicos apresentarão as etapa do processo utilizado no treinamento do modelo predição utilizado na proposta da solução IoT.

4.2.1. Treinamento do modelo: coleta de dados

(12)

11 Uma ensaio experimental, portanto, foi realizado para gravação dos dados enquanto uma sequência de atividades eram realizadas, conforme a tabela 1. As atividades foram realizadas em ordem cronológica e pelo período de tempo estipulado enquanto o aplicativo gravava os dados gerados do sensor de aceleração. A atividade simulou 3 atividades:

 Indivíduo descansando;  Indivíduo caminhando;  Indivíduo correndo.

Tabela 1 - Método utilizado para coleta dos dados

Fonte: Autoria própria

O ensaio experimental para coleta dos dados gerou 97.565 dados. O raw data (dados crus) gerados durante o experimento podem ser vistos no gráfico da figura 9, e é valido ressaltar atenção sobre a necessidade de pré-processamento devido ao formato, que em muitos casos, o dado é gerado. Neste trabalho, configurações no editor de planilhas foram necessárias para reconhecimento adequado dos dados.

Início Fim Período

1 0 seg. 22 seg. 22 seg. Caminhando

2 22 seg. 35 seg. 13 seg. Correndo

3 35 seg. 44 seg. 9 seg. Descansando

4 44 seg. 72 seg. 28 seg. Caminhando

5 72 seg. 114 seg. 42 seg. Correndo

6 114 seg. 134 seg. 20 seg. Descansando

7 134 seg. 149 seg. 15 seg. Caminhando

8 149 seg. 155 seg. 6 seg. Descansando

9 155 seg. 185 seg. 30 seg. Caminhando

10 185 seg. 197 seg. 12 seg. Correndo

11 197 seg. 213 seg. 16 seg. Caminhando

12 213 seg. 229 seg. 16 seg. Descansando

13 229 seg. 243 seg. 14 seg. Caminhando

Método de coleta de dados Tempo

(13)

12

Figura 9: plotagem dos dados cru coletados durante atividade

Fonte: Autoria própria

4.2.2. Treinamento do modelo: pré-processamento

A etapa de pré-processamento consistiu na inserção da coluna (atributo) “Atividade” atribuindo o estado da atividade no momento do dado coletado conforme o experimento realizado para coleta de dados da tabela 1. E o atributo “Time”, por meio da função “Edit Metadata”, foi excluído dos atributos que causam efeito na variável “Atividade”. A figura 10 apresenta o banco de dados e algumas estatísticas relacionada aos dados pré-processados:

Figura 10 - Visualização do banco de dados para treinamento do algoritmo

Fonte: Autoria própria

4.2.3. Treinamento do modelo

Após o pré-processamento, com os dados preparados, os dados foram treinados. Para isso, o banco de dados foi dividido na seguinte proporção:

(14)

13  25% para validação.

Para o treinamento foram considerados 2 algoritmos de Machine Learning como candidatos ao melhor modelo para predição dentro da classe de classificação:

 Multiclass Decision Forest;  Multiclass Neural Network.

Após o treinamento com base nos dois modelos de classificação, os modelos foram avaliados conforme figura 11:

Figura 11 - (a) Resultado Multiclass Decision Forest; (b) Resultado Multiclass Neural Network

Fonte: Autoria própria

4.2.4. Treinamento do modelo: avaliação do modelo

Como visto na figura 11, o algoritmo Multiclass Decision Forest apresentou melhor desempenho sobre o algoritmo Multiclass Neural Network. E, portanto, algoritmo Multiclass

Decision Forest foi selecionado para tarefa de predição. A figura 12 apresenta o

(15)

14

Figura 12 - Interface do processo para mineração dos dados

Fonte: Autoria própria

4.2.5. Integração do modelo com a plataforma IoT

Após a validação do modelo, foi configurado e implantado um Web Service cuja finalidade é receber as entradas (inputs) de dados proveniente da plataforma IoT, para que o algoritmo possa fazer a predição da atividade do usuário. Um Web Service, é uma solução utilizada para integrar diferentes sistemas, como no caso da plataforma IoT TagoIO® e a inteligência artificial que roda na plataforma Microsoft Azure Machine Learning®. A figura 13 apresenta o modelo de predição treinado, a entrada (input) e saída (output) do Web Service, os dados utilizados para predição e o módulo de processamento do modelo.

Figura 13 - Implementação (Deploy) do Web Service

Fonte: Autoria própria

4.2.6. Teste do modelo

A Microsoft Azure Machine Learning permite a realização de testes do modelo a partir do Web

Service, além de fornecer o código fonte nas linguagens Python, R, C#, para integração do

(16)

15

Figura 14 - Teste do modelo por meio da plataforma Web Service

Fonte: autoria própria

Na figura 14, ao lado esquerdo (Input1), as entradas de dados podem ser inseridas de forma a simular entradas de dados de vibração. Já ao lado direito (Output1), são apresentadas as probabilidades da predição para cada classe de atividade. Conforme visto na imagem, o resultado do teste realizado indica que o usuário está “Correndo” em função de apresentar maior probabilidade de ocorrência (0.92 classe “Correndo”).

5. Conclusão

Visto a necessidade de tornar os processos de manufatura mais eficientes, a indústria 4.0 traz a estratégia de digitalização nos processos de fabricação e, para isso, elenca diversas tecnologias que podem trazer ganhos de eficiência aos processos. Este trabalho abordou a aplicabilidade de

smartphones juntamente com algumas das tecnologias vistas como mais promissoras para o

processo de digitalização, por meio de uma aplicação de IoT e Machine Learning. O

smartphone, por sua vez, cumpriu com a finalidade de permitir conectividade a uma plataforma

IoT, utilizando o protocolo MQTT e sendo capaz de coletar dados do ambiente e enviá-los para uma plataforma IoT. Na camada de aplicação, os dados puderam ser apresentados por meio de painéis (dashboards) de forma a se permitir o monitoramento de condições (condition

(17)

16 tarefas por análises simples e complexas, nesse sentido, são possíveis de serem programadas para gerar alertas, a partir do envio de e-mail ou SMS, ao monitorar máquinas estacionárias ou móveis com análise da vibração, e assim correlacionar a frequência para identificar parâmetros críticos para manutenção preditiva.

Para demonstrar a aplicabilidade dos dados de vibração gerados pelo smartphone, análise de movimentação de usuários foi empregada a partir da aplicação de aprendizagem de máquina por meio de um algoritmo de classificação treinado e implementado na plataforma Microsoft Azure Machine Learning. O algoritmo treinado, e que apresentou melhor desempenho, foi o

multiclass decision forest que permitiu a predição de três classes do atributo “atividade”.

As principais contribuições desta pesquisa se devem ao método, o qual utilizou ferramentas

open source para explorar uma solução IoT, bem como por meio da revisão de nomenclaturas

e conceitos das tecnologias emergentes da indústria 4.0.

As limitações encontradas foram devido a necessidade de maior expertise de TI para poder fazer a integração da plataforma IoT com o Web Service gerado para o modelo de aprendizagem de máquina desenvolvido. A integração se dá por meio de algoritmo desenvolvido em Python 3x que, caso tivesse maior expertise com Python, poderia ser integrada na plataforma de forma que as predições de movimentação pudessem ser determinadas automaticamente.

6. Agradecimentos

Gostaria de agradecer aos docentes Dr. Ugo Ibusuki e Dr. Erik Gustavo Del Conte pela orientação no desenvolvimento deste trabalho.

REFERÊNCIAS

Azure Machine Learning - Parte 2. Disponível em:

<https://gabrielschade.github.io/2018/01/17/azure-machine-learning-2.html>. Acesso em: 17 maio. 2020.

CARTLIDGE, E. The Internet of Things: From Hype to Reality. Optics and Photonics News, v. 28, n. 9, p. 26, 1 set. 2017.

Chapter 2: Protocol. Disponível em: <https://fcit.usf.edu/network/chap2/chap2.htm>. Acesso em: 27 abr. 2020.

CHUI, MICHAEL; LÖFFLER, MARKUS; ROBERTS, R. The Internet of things. McKinsey&Company, 2010.

DIÈNE, B. et al. Data management techniques for Internet of Things. Mechanical Systems and Signal

(18)

17

ENOMOTO, N. H. Protocolo MQTT : Message Queuing Telemetry Transport. 2018.

GUERREIRO, B. V. et al. Definition of smart retrofitting: First steps for a company to deploy aspects of industry 4.0. Lecture Notes in Mechanical Engineering, n. 201519, p. 161–170, 2018.

KLITOU, D.; CONRADS, J.; RASMUSSEN, M. Germany: Industrie 4.0 Fact box for Germany’s Industrie

4.0 policy initiative. n. January, 2017.

KUMAR DHAR, S. et al. Enabling smartphone as gateway to wireless sensor network. Advances in Intelligent

Systems and Computing, v. 266, p. 19–26, 2014.

LOPEZ RESEARCH. “Uma introdução à Internet da Coisas ( IoT )”. n. 866, p. 1–8, 2013.

MARAH, B. D. et al. Smartphone architecture for edge-centric iot analytics. Sensors (Switzerland), v. 20, n. 3, p. 1–19, 2020.

MQTT. Disponível em: <http://mqtt.org/>. Acesso em: 26 abr. 2020.

MQTT Version 3.1.1. Disponível em: <http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html>. Acesso

em: 26 abr. 2020.

O que é o Azure Machine Learning | Microsoft Docs. Disponível em:

<https://docs.microsoft.com/pt-br/azure/machine-learning/overview-what-is-azure-ml>. Acesso em: 27 abr. 2020.

Overview - XDK. Disponível em: <https://xdk.bosch-connectivity.com/overview>. Acesso em: 29 abr. 2020.

RATENI, G.; DARIO, P.; CAVALLO, F. Smartphone-based food diagnostic technologies: A review. Sensors

(Switzerland), v. 17, n. 6, 2017.

ROSE, KAREN; ELDRIDGE, SCOTT; CHAPIN, L. “The Internet of Things: an overview. Understanding the Issues and Challenges of a More Connected World.” Internet Society, p. 1–80, 2015.

SCD-Sense | Connect | Detect. . [s.l: s.n.]. Disponível em: <www.bosch-connectivity.com/SCD>. Acesso em: 29

abr. 2020.

(19)

18

Tago - Plataforma IoT. Disponível em: <https://tago.io/>. Acesso em: 27 abr. 2020.

VIAL, G. Understanding digital transformation: A review and a research agenda. Journal of Strategic

Imagem

Referências

temas relacionados :