Você está na página 1de 25

Faculdade de Ciência e Tecnologia de Montes Claros

Luís Henrique Siqueira e Maia

RELATÓRIO DE ESTÁGIO SUPERVISIONADO

Montes Claros - MG
2019
Luís Henrique Siqueira e Maia

RELATÓRIO DE ESTÁGIO SUPERVISIONADO

Relatório de Estágio Supervisionado apresen-


tado ao Curso de Engenharia de Controle e Au-
tomação, da Faculdade de Ciência e Tecnologia
de Montes Claros como parte dos requisitos para
obtenção do título de Engenheiro de Controle e
Automação.

Empresa: Inovarse
Supervisor: LUCAS TEIXEIRA MOURA
SOARES

Montes Claros - MG
2019
RESUMO

Esse relatório tem como objetivo apresentar as atividades desenvolvidas durante o período de
estágio supervisionado, tais como a criação de um sistema para avaliação do atendimento ao
cliente, utilizando-se do conceito de Internet das Coisas (Internet of Things - IoT) aplicado em
um sistema embarcado como seus respectivos sensores para realizar esta tarefa. Além disso,
fez-se o uso de softwares para desenho do layout de uma placa de circuito impresso, seguindo os
passos de projeção e de impressão para que o sistema embarcado e seus componentes utilizados
no projeto fossem soldados e integrados num mesmo circuito compacto. Ainda será feita uma
breve apresentação da empresa, dos materiais utilizados para o desenvolvimento, das tarefas
solicitadas ao acadêmico e dos resultados obtidos.

Palavras-chave: Sistema de avaliação, Internet das Coisas, sistema embarcado, Circuito im-
presso.
LISTA DE ILUSTRAÇÕES

FIGURA 1 – Microcontrolador ESP32 DOIT DevKit v1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11


FIGURA 2 – IDE do Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
FIGURA 3 – Figura do MUTEX e Loop Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
FIGURA 4 – Esquemático do circuito da placa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
FIGURA 5 – Camada superior da placa de circuito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
FIGURA 6 – Camada inferior da placa de circuito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
FIGURA 7 – Placa Impressa com as barras de pinos soldadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
FIGURA 8 – Placa Impressa com os sensores e atuadores conectados e soldados . . . . . . 20
FIGURA 9 – Sistema de avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
SUMÁRIO

INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
CAPÍTULO 1 APRESENTAÇÃO DA EMPRESA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1 Apresentação da Empresa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1 Empresa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Ramo de Atuação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1 Missão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.2 Visão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.3 Valores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Parceiros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
CAPÍTULO 2 ATIVIDADES DESENVOLVIDAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1 Objetivos Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Materiais Utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 NodeJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.2 Framework Ionic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.3 Framework Cordova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.4 WampServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.5 Microcontrolador ESP32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.6 IDE do Arduino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.7 EasyEDA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Metodologia do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1 Análise do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.2 Levantamento de requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5 Atividades Desenvolvidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5.1 Sistema físico para avaliação do atendimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.5.1.1 Comunicação do meio físico com o servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.1.2 Configuração, armazenamento, recuperação e autenticação do meio físico com
a rede sem fio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.1.3 Interrupções e acesso a região critica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.5.1.4 Criação, desenvolvimento, confecção e impressão da placa de circuito . . . . . . . . . . . 17
2.5.1.5 Página de cadastro do sistema físico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
CAPÍTULO 3 RESULTADOS, APRESENTAÇÃO, ANÁLISE E DISCUSSÃO . . . . . . . . . 22
CONSIDERAÇÕES FINAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5

INTRODUÇÃO

O estágio tem um papel importante na formação do acadêmico, ao passo que possibilita


obter uma experiência prévia do mercado de trabalho, já que profissionais habilidosos e bem
preparados são mais visados no mercado. Atualmente, a presença de profissionais de Tecnologia
da Informação (TI) nas empresas é indispensável, pois grande parte do trabalho requer o uso de
tecnologia como recurso.
Durante o período do estágio, foi possível adquirir novos conhecimentos, tanto na parte
de hardware como de software, além do trabalho em equipe. Ademais, agregou-se o valor
das disciplinas de controle e automação no decorrer do curso, pois aplicou-se a ideia dos
conhecimentos lecionados em sala de aula.
Assim, esse relatório tem por objetivo apresentar o desenvolvimento no estágio curricular
do acadêmico Luís Henrique Siqueira e Maia, descrevendo as atividades empenhadas como
estagiário de Engenharia de Controle e Automação, da Faculdade de Ciencia e Técnologia
de Montes Claros (FACIT), na empresa Inovarse, atuando no desenvolvimento de aplicações
Web, na área de programação em sistemas embarcados e confecção de placas de circuito para
impressão.
6

CAPÍTULO 1 APRESENTAÇÃO DA EMPRESA

Esse capítulo tem por objetivo apresentar os dados gerais da empresa, tais como histórico,
ramo de atividade e mercado de atuação; principais clientes, atividades e serviços que fornece,
sua missão e sua visão.

1.1 Apresentação da Empresa

Nome da Empresa: Inovarse


Endereço Completo: R. João Pinheiro, 292, Centro, Montes Claros/MG.

1.1.1 Empresa

A empresa Inovarse possui sede na cidade de Montes Claros e atua no mercado desde
o mês de fevereiro de 2018. Seu objetivo principal é criar e fornecer soluções tecnológicas
inovadoras que destaquem-na por sua influêcia competitiva, uma vez que o mercado tem exigido
um novo comportamento em relação às empresas e pessoas, sendo necessário adotar ferramentas
sofisticadas em suas atividades. Desse modo, a Inovarse, ao investir nesses quesitos, mostra-se
uma empresa concorrente e inovadora mesmo em tempos de crise, produzindo o seu melhor a
cada negócio realizado.

1.2 Ramo de Atuação

A Inovarse atua no ramo empresarial e conta com uma equipe profissionalmente qualificada
com as novas tendências de tecnologias do mercado, fornecendo para empresas de todos os
portes produtos e serviços:

a) Desenvolvimento de aplicativos móveis e web;

b) Desenvolvimento de sistemas voltados para Internet das Coisas (Internet of Things - IoT);

c) Loja Virtual;

d) Companhas patrocinadoras;

e) Marketing virtual e consultorias;


7

1.2.1 Missão

A Inovarse tem como missão apresentar-se como empresa estável, que garante seu lugar
entre as demais no mercado competitivo, contando como diferencial a sua inovação. Ela é uma
empresa que procura antecipar-se segundo as tendências do mercado, utilizando-se de recursos
tecnológicos, como softwares e hardwares para assegurar seus negócios.

1.2.2 Visão

Sua visão constitui-se empresarial, cujo objetivo é alcançar seu reconhecimento como
empresa precursora na especialização e no desenvolvimento tecnológico para comércios e setores
empresariais, oferencendo soluções completas através do uso de softwares e hardwares que
atendam às necessidades de cada negócio; tudo isso, a fim de garantir a qualidade em seus
serviços.

1.2.3 Valores

A empresa Inovarse possui os seguintes pontos como valores internos:

a) Apresentação de conduta adequada e ética profissional;

b) Prioridade à satisfação de seus clientes;

c) Valorização de seus colaboradores através de ações de reconhecimento e de oportunidades


de desenvolvimento;

d) Contribuição para as práticas de cidadânia nos ambientes em que atua;

e) Asseguramento da qualidade na prestação de seus serviços e de segurança em seus produ-


tos;

1.3 Parceiros

A empresa agrega parceiros da região do norte de Minas Gerais, estabelecendo acordos


que almejam tanto à otimização de seu atendimento no mercado quanto à de empresas na área
tecnológica da região.
8

CAPÍTULO 2 ATIVIDADES DESENVOLVIDAS

Nesse capítulo, serão apresentadas as atividades realizadas durante a execução do estágio,


bem como as ferramentas e metodologias empregadas para o desenvolvimento do sistema
proposto, que envolve a aplicação de conceitos voltados para Internet das Coisas, abordando,
primeiramente, o uso de um sistema embarcado como meio para obter as informações da
avaliação do antendente, seguido pela criação e desenvolvimento da lógica de programação do
sistema embarcado. Posteriormente, descrever-se-á a comunicação entre o sistema embarcado e
o servidor para que este possa armazenar os dados da avaliação no banco de dados. Por último,
apresentar-se-á a elaboração e o desenho de uma placa para posterior confecção e impressão de
circuito, a fim de ser utilizada para integrar o sistema embarcado e seus componentes.

2.1 Objetivos Geral

O objetivo geral desse projeto é desenvolver um módulo de avaliação ao atendente como


parte de um sistema de atendimento, aplicando-se os conceitos de Internet das Coisas.

2.2 Objetivos Específicos

A partir do objetivo geral, foram definidos os objetivos específicos para o desenvolvimento


do sistema de avaliação ao atendente, tais como:

a) Empregar o uso de um sistema embarcado, com sensores e atuadores, para avaliação do


atendimento pelo cliente;

b) Criar e desenvolver a lógica de programação a ser utilizada como rotina principal pelo
sistema embarcado;

c) Utilizar protocolo de comunicação no sistema embarcado para realizar sua comunicação


com o servidor e, posteriormente, armazenar no banco de dados a avaliação efetuada pelo
cliente;

d) Projetar o layout de uma placa para impressão de seu circuito, a fim de ser utilizada para
acoplar o sistema embarcado com seus respectivos componentes.
9

2.3 Materiais Utilizados

A presente sessão tem por objetivo apresentar os materiais utilizados durante a execução
das atividades do estágio obrigatório, descrevendo o uso de softwares e hardwares que cooperam
para o cumprimento desse projeto, segundo a orientação de seu supervisor.

2.3.1 NodeJS

O NodeJS1 é um Framework voltado para criação de aplicações web em JavaScript,


com alto desempenho. Esse software possui uma única tarefa (Thread) orientada a eventos,
caracterizada por realizar chamadas não bloqueantes, o que permite a ele executar, de forma
contínua, a rotina de programação principal da aplicação desenvolvida em sua plataforma. Desse
modo, a aplicação prossegue com a execução de sua rotina sem a necessidade de aguardar o
retorno de respostas solicitadas pelo usuário.
Nesse projeto, o NodeJS foi empregado em sua versão 8.12.0 como requisito necessário
para desenvolver aplicações não bloqueantes em JavaScript, instalando-se alguns pacotes reutili-
záveis, tais como os Frameworks Ionic e Cordova, que cooperam para o desenvolvimento de
aplicações web nesse projeto.

2.3.2 Framework Ionic

O Ionic2 Framework é um software de código aberto, open-source, utilizado para o


desenvolvimento de aplicações web, conhecidas como Aplicativos Web Progressivos (Progressive
Web Apps - WPA), e de aplicações móveis, com disponibilidade de reutilização do código para
as plataformas Android, IOS e Windows (FRAMEWORK, 2019).
Sua plataforma voltada para o desenvolvimento de aplicações possui a capacidade de
separá-la em três camadas distintas, tais como a camada de interação com o usuário (View), a
camada de manipulação dos dados (Model) e a camada de controle (Control). Juntas, essas três
camadas formam a arquitetura padrão (Model-View-Cotrol - MVC) que facilita na estruturação,
visualização e rápida manutenção do código.
Na sequência, o Ionic foi empregado em sua versão 3.20.1 para prosseguir com o desen-
volvimento da aplicação WPA utilizada como ferramenta de controle e gestão de antendimento
ao cliente. Desse modo, foi realizado pelo estagiário a criação de um página para efetuar o cadas-
tramento, a atualização e a deleção das informações pertencentes a cada sistema de avaliação
1 Disponível em: <https://nodejs.org/en>. Acesso em: 03 de jun. 2019.
2 Disponível em: <https://ionicframework.com/docs/v3/cli>. Acesso em: 03 de jun. 2019.
10

empregado, segundo o conceito de IoT.

2.3.3 Framework Cordova

O Framework Cordova3 , ou Apache Cordova, é um software voltado para o desenvolvi-


mento de aplicações web que tem como objetivo renderizar as páginas da aplicação desenvolvidas
para que possam ser utilizadas em plataformas nativas, tais como Android, Ios e Windows Phone
(BALDO, 2015).
Nesse projeto, o Apache Cordova, versão 8.1.2, foi empregado em conjunto com o Ionic
para utilização dos comandos disponíveis pela Interface de Linha de Comando do Ionic (Interface
Line Command - CLI), a fim de instalar dependências no projeto e efetuar a compilação da
aplicação desenvolvida.

2.3.4 WampServer

O WampServer4 é um software que permite o desenvolvimento de aplicações web, bem


como o armazenamento via banco de dados MySQL. Ainda seu software integra outros softwares,
como PHP, MySQL e Apache, assegurando suporte quanto ao uso de scripts na linguagem PHP
de forma remota ou mediante accesso externo, após efetuada a liberação das portas exigidas pelo
servidor.
O WampServer também foi empregado para o armazenamento da Interface de Programação
da Aplicação (API) - que fora desenvolvida para hospedagem local -, além de possibilitar a
realização de solicitações entre cliente e servidor, bem como o armazenamento no banco de
bados MySQL.

2.3.5 Microcontrolador ESP32

O microcontrolador ESP32, da série ESP8266, adentrou o mercado concorrendo aos


demais microcontroladores através da empresa Espressif, pioneira na produção dos módulos da
série ESP8266, lançando primeiramente a ESP-01 e versões susperiores.
O ESP32 com suas respectivas versões superiores apresentam em seu circuito um módulo
integrado com interface para comunicação via rede sem fio, conhecida como Wireless Fidelity.
Quando comparado ao Arduino, observa-se que esse não possui o módulo integrado como parte
de seu circuito, sendo necessário efetuar a compra de seu próprio shield ou utilizar uma das
3 Disponível em: <https://cordova.apache.org/>. Acesso em: 05 de jun. 2019.
4 Disponível em: <http://www.wampserver.com/en/>. Acesso em: 08 de jun. 2019.
11

versões do ESP8266 para fazê-lo (OLIVEIRA, 2017). Ainda, para programação dessa interface e
utilização de recursos exteriores que podem ser agregados a ela - como sensores e atuadores -, o
ESP8266 pode ser programado através do Ambiente de Desenvolvimento Integrado (Integration
Development Enviroment - IDE) do Arduino.
Assim, o módulo empregado como meio físico para avaliação do atendente - que se utiliza
de sensores e atuadores para o cumprimento deste objetivo -, foi o microcontrolador ESP32
DevKit v1, fabricado pela empresa DOIT.
A figura 1 a seguir apresenta o módulo mencionado:

FIGURA 1 – Microcontrolador ESP32 DOIT DevKit v1


Fonte: Disponível em: <https://docs.zerynth.com/latest/official/board.zerynth.doit_esp32/docs/index.html>

Segundo Zerynth Docs, a ESP32 possui as seguintes características:

a) Microcontrolador: CPU XTENSA LX6 de 12 bits da Tensilica de núcleo único/duplo;

b) Tensão de funcionamento de 3.3V (Volts);

c) 25 Pinos para Entrada e Saída (I/O);

d) 6 pinos para Entrada Analógica (ADC);

e) 2 pinos de Saída Analógica (DAC);

f) Memória flash de 4 Mb;

g) Velocidade de processamento máxima de 240 MHz;

h) Conexão Wi-Fi IEEE 802.11 b/g/n/e/i.


12

2.3.6 IDE do Arduino

Por sua vez, o Ambiente de Desenvolvimento Integrado do Arduino5 é um software gratuito


que proporciona escrita, verificação, carregamento e criação de esboços, além de recursos como a
identação automática através do editor de texto. Seu software foi desenvolvido para ser executado
na maioria dos sistemas operacionais, como Windows, Mac e Linux (ARDUINO, 2019). A
Figura 2 a seguir apresenta a interface do IDE do Arduino:

FIGURA 2 – IDE do Arduino


Fonte: O autor.

O IDE do Arduino foi empregado para criação e desenvolvimento da lógica de programação


do sistema embarcado para que este fosse capaz de atender aos requisitos funcionais do projeto.

2.3.7 EasyEDA

O EasyEDA6 é uma ferramenta profissional baseada na Automação de Design Eletrônicos


(Electronics Design Automation - EDA), que perimite ao usuário simular circuitos bem como
desenvolver seus projetos eletrônicos para confecção e impressão de placas de circuito. Ademais,
seu software permite criar e editar diagramas esquemáticos, bem como simular circuitos analógi-
cos e digitais separados ou mistos. Ainda, viabiliza a criação e edição de layouts de placas de
circuito impresso para fabricação.
5 Disponível em: <https://www.arduino.cc/en/Main/Software>. Acesso em: 09 de jun. 2019.
6 Disponível em: <https://easyeda.com/page/download>. Acesso em: 12 de jun. 2019.
13

Segundo a documentação da EasyEDA, essa ferramenta permite:

a) Trabalhar em qualquer lugar, a qualquer hora, em qualquer dispositivo;

b) Capacidades de desenho geral simples, mais fáceis e poderosas;

c) Cooperação em equipe em tempo real;

d) Compartilhamento Online;

e) Disponibilidade de projetos com códigos abertos;

f) Cadeia de compras integrada de componentes e fabricação de PCBs;

g) Captura esquemática;

h) Layoutde PCB;

i) Importação de projetos e bibliotecas (EASYEDA, 2019).

2.4 Metodologia do Trabalho

A metodologia empregada consiste no levantamento dos Requisitos Funcionais e Não-


Funcionais. Como primeira abordagem, foi realizada a análise do problema, seguida do levan-
tamento das funcionalidades para o sistema com suas respectivas implementações. Por último,
fez-se a validação do desenvolvimento deste projeto mediante testes.

2.4.1 Análise do problema

A aplicação anteriormente desenvolvida e empregada nesse projeto, para assegurar o


atendimento ao cliente, apresentava incompletude em suas funcionalidades, pois seu sistema
necessitava de utilizar um meio físico voltado para aplicações IoT que viabilizasse a avaliação
do atedimento pelo cliente após encerrada a sessão, além de a relação custo-benefício não ser
estimulante.
Destarte, esse meio físico deveria ser capaz de armazenar o valor da avaliação efetuada
pelo cliente e comunicar-se com o servidor à distância, por meio do uso de um protocolo para
comunicação via rede sem fio; tudo isso, com intuito de automatizar o processo de avaliação e
reduzir gastos na implementação das funcionalidades para com o projeto.
Por fim, cada meio físico - conhecido também como caixa de avaliação inteligente, ou
SmartBox -, deveria ser cadastrado através do uso da aplicação web desenvolvida e, posterior-
mente, vinculado a determinada bancada de atendimento, identificando, assim, o atendente nas
respectivas avaliações efetuadas por seus clientes.
14

Desse modo, fora necessário efetuar a análise do módulo de avaliação ao atendimento para
que pudesse ser desenvolvido tanto em termos de software como de hardware, levando em conta
as exigências do cliente e do supervisor de estágio, e o custo viável para o projeto.

2.4.2 Levantamento de requisitos

Para o presente projeto, primeiramente, fez-se o levantamento dos Requisitos-Funcionais


para desenvolvimento do sistema de avaliação do atendimento ao cliente. Foi observado que o
mesmo deveria apresentar a capacidade de identificar o status da avaliação através de sensores,
verificar e atualizar registros com pendências de avaliações não efetuadas, comunicar-se com o
servidor à distância e emitir sinais luminosos e sonoros para identificar se a avaliação foi bem ou
mal-sucedida.

2.5 Atividades Desenvolvidas

Nessa sessão serão apresentadas as atividades desenvolvidas no estágio, buscando a imple-


mentação de novas funcionalidades para completar o módulo de avaliação ao atendente como
parte do sistema de atendimento previamente desenvolvido.

2.5.1 Sistema físico para avaliação do atendimento

Para criação do sistema de avaliação visando avaliar o atendimento do cliente após en-
cerrada a sessão, empregou-se a microcontroladora DoiT ESP32 DevKit V1 em conjunto com
alguns sensores e atuadores, tais como o uso de botões, Diodos Emissoes de Luzes (Diode
Emissing Light - LED) e buzzers - elemento eletrônico utilizado para emissão de sinais sonoros.
Primeiramente, os botões, classificados como sensores, foram utilizados para efetuar o
reconhecimento do status da avaliação efetuada pelo cliente, sendo empregados quatro botões
para classificar a avaliação conforme os status "Ruim", "Bom", "Muito Bom"ou "Excelente".
Em segundo, fez-se o uso de Led’s nas cores verde e vermelho para indicar ao cliente se
a sessão está ou não aberta para avaliação. Outrossim, os buzzers tiveram um uso proveitoso
para designar, através de dois sinais sonoros distintos, se a avaliação efetuada pelo cliente foi
registrada ou não no sistema, isto é, no banco de dados do servidor.
15

2.5.1.1 Comunicação do meio físico com o servidor

Para comunicação do sistema embarcado com o servidor, visando atualizar o campo de


avaliação presente como registro previamente inserido no banco de dados após a abertura da
sessão de atendimento ao cliente, fez-se o uso da interface de rede sem fio WiFi do módulo
da ESP32, que utiliza os Protocolos de comunicação Internet (IP) e de Transporte de Controle
(TCP) como base de sua arquitetura de comunicação. Além disso, o uso da biblioteca WiFi,
disponibilizada pela IDE do Arduino, foi essencial para permitir a comunicação entre o sistema
embarcado e o servidor.

2.5.1.2 Configuração, armazenamento, recuperação e autenticação do meio físico com a


rede sem fio

Com o intuito de manter a microcontroladora conectada ao Ponto de Acesso (AP) local


do ambiente, mesmo após quedas de energia ou interrupções em sua rotina de programação
principal, foram empregadas as seguintes bibliotecas: Sistemas de Arquivos (SPI Flash File
System - SPIFFS) e ArduinoJson.
A primeira biblioteca tem como função permitir a leitura e a escrita de dados na Memória
Apenas de Leitura Programável e Apagável Eletricamente (Electrically-Erasable Programmable
Read-Only - EEPROM) da ESP32. Ela foi manuseada para armazenar tanto os dados do Ponto
de Acesso local da rede, como também os dados que identificam o sistema embarcado como um
sistema de avaliação, o que facilitou a vinculação do dispositivo a determinado atendente para o
reconhecimento de cada avaliação pelo cliente.
Por sua vez, a biblioteca ArduinoJson foi utilizada para repassar tanto os dados de confi-
guração da rede local como também os dados do sistema de avaliação em questão para o formato
de Objeto de Notação Simples em JavaScript (JavaScript Object Notation - JSON), a fim de
serem posteriormente armazenados na memória flash do ESP32 para automatização do sistema e
prevenção de falhas, conforme mencionado anteriormente. Ao final, todas as entradas necessárias
para a configuração do sistema foram realizadas utilizando o Monitor Serial do IDE do Arduino.

2.5.1.3 Interrupções e acesso a região critica

A lógica de programação principal do sistema embarcado foi construída para executar


funções dentro de um laço de repetição infinito, tais como a que realiza a leitura dos sinais dos
botões, a que verifica a existência de algum registro de atendimento aberto e não avaliado no
banco de dados e a que atualiza os dados do registro conforme a avaliação efetuada pelo cliente.
16

É importante observar que os sinais emitidos ao pressionar determinado botão são compre-
endidos pelo microcontrolador como sinais de interrupções. Desse modo, ao serem emitidos,
recebem prioridade na execução de seus processos em relação aos demais presentes na rotina
principal. Todavia, o controle de acesso a determinada região crítica faz-se necessário nos sis-
temas embarcados, a fim de que apenas um processo possa acessá-la por vez. Essa técnica é
conhecida como técnica de Exclusão Mútua (Mutual Exclusion - MUTEX).
Para permitir o acesso de apenas um processo por vez na região crítica, aplicaram-se
os conceitos de programação em tempo real previamente vistos em sala de aula, a fim de
evitar possíveis estouros de pilha de memória no sistema embarcado, bem como travamentos e
reinicialização de seu sistema.
Destarte, utilizou-se de uma variável de MUTEX na rotina de programação principal do
sistema embarcado com o intuito de proteger a região crítica, que é constituída por funções que
realizam leitura de sinais e funções que realizam requisições assíncronas. Desse modo, cada
evento de interrupção - acionado mediante o pressionamento de algum botão -, passou a acessar
a região crítica, executar determinada função e sair dela sem prejudicar o funcionamento da
rotina de programação principal do sistema embarcado.
A figura a seguir apresenta a rotina de programação principal do programa com a variável
de Exclusão Mútua empregada:

FIGURA 3 – Figura do MUTEX e Loop Principal


Fonte: O autor.
17

Ainda, é possível observar através da Figura 3 o uso de um sincronizador que foi empregado
para garantir o correto funcionamento desse sistema, estabelecendo um tempo padrão para cada
avaliação, de modo que, sendo bem-sucedida, o sistema executa sua rotina principal sem priorizar
as interrupções externas, permanecendo com o Led vermelho aceso. Logo após esse período, o
sistema retorna à execução da rotina de programação padrão para escutar possíveis interrupções
externas, permanencendo com o Led verde aceso para indicar sua prontidão em receber novas
avaliações.

2.5.1.4 Criação, desenvolvimento, confecção e impressão da placa de circuito

Para criação e desenvolvimento da placa de circuito a ser impressa para acoplar o sistema
embarcado com seus rescpectivos componentes, foi utilizado o software EasyEDA, que permite
a criação de diagramas esquemáticos, bem como a edição, a confecção e a impressão de placas
de circuito.
Primeiramente, para acoplar o sistema embarcado para conectar-se com seus respecivos
sensores e atuadores através das linhas de conexão desenhadas na placa, foram utilizadas duas
barras de pino fêmea com o mesmo número de entrada em cada extremidade da ESP32. De
modo semelhante, fez-se uso de conectores do tipo macho para serem soldados na placa com a
finalidade de extender suas conexões a um conector superior que foi utilizado para fixação de
fios do tipo flat. Esse conector superior foi empregado para facilitar a conexão de cada pino do
microcontrolador com elementos exteriores, seja para sensorear o meio ou atuar nele.
Além disso, como a ESP32 apresenta um decaimento em seu rendimento ideal quando
conectada diretamente a um cabo USB para alimentação de seu circuito, foi utilizado o pino
de entrada Vin para alimentar seu circuito através de uma das linhas de conexão desenhadas na
placa - o que diminui as interferências eletromagnéticas e previne a redução do rendimento do
microcontrolador devido ao afastamento dos campos entre si.
Por último, com o intuito de reduzir as oscilações de entrada, conhecidas como oscilações
de ripple, advindas da rede de Corrente Alternada (CA) para o conversor de Corrente Contínua
(CC), foi empregado um capacitor de 50uF em paralelo à fonte de alimentação do circuito.
A seguir, a Figura 4 apresenta o esquemático da placa de circuito elaborada, constando
o uso de componentes criados pelo próprio estagiário, como os esquemáticos do módulo da
ESP32 e da barra de pinos 2 por 17 (2x17), já que de forma específica os mesmos não foram
encontrados entre as bibliotecas do software e da comunidade para que fossem importados e
utilizados no projeto:
18

FIGURA 4 – Esquemático do circuito da placa


Fonte: O autor.

Por meio da Figura 4, pode-se observar as respectivas conexões entre a placa e a barra de
pinos jack, a presença do capacitor paralelo à fonte de alimentação acoplada em um borner, e a
trilha de alimentação com cor destacada que se conecta à entrada Vin do microcontrolador para
alimentação de seu circuito. Após a construção do esquemático, realizou-se a conversão para o
modo de Impressão da Placa de Circuito (Printed Circuit Board - PCB).
Sucessivamente, foram traçadas rotas de cada trilha e delimitação da área de cobre para
o terminal comum, GND1 e GND2. Resssalta-se que foi de grande importância estudar a
ferramenta, bem como aprender as teclas de atalhos disponíveis para adquirir rapidez, facilidade
e agilidade na confecção da placa de circuito.
Além disso, observando o princípio de indução magnética, cada trilha foi desenhada com
distância considerável entre as demais nas extremidades; isso com o intuito de assegurar a
qualidade do sinal que percorre determinada trilha, evitando possíveis interferências em seus
dados. A Figura de número 5 apresenta a interface final da cama superior:
19

FIGURA 5 – Camada superior da placa de circuito


Fonte: O autor.

Na camada superior, foram desenhadas as informações acerca da empresa, como o nome


e o telefone para contato. Ainda, a interface dos componentes de forma destacada facilita a
localização de cada componente, bem como das ligações para acessar determinado pino do
microcontrolador.
A seguir, a Figura 6 apresenta a camada inferior com as trilhas desenhadas:

FIGURA 6 – Camada inferior da placa de circuito


Fonte: O autor.
20

Por meio das figuras apresentadas, pode-se observar a presença de furos nas laterais da
placa, os quais foram desenhados para fixá-la sobre o recipiente envolvente, mediante o uso de
parafusos comuns. Após a confecção do circuito, prosseguiu-se com a impressão da placa para
posterior soldagem de seus componentes e fixação no invólucro.
A Figura 7 exibe a placa de circuito impressa com seus respectivos componentes soldados,
com exceção do capacitor e do borner:

FIGURA 7 – Placa Impressa com as barras de pinos soldadas


Fonte: O autor.

Logo depois, os componentes foram soldados utilizando um multímetro - para testes de


continuidade, a fim de averiguar conexões no ato da soldagem dos componentes -, estanho e o
ferro de solda. A Figura 8 demonstra o resultado dessa etapa:

FIGURA 8 – Placa Impressa com os sensores e atuadores conectados e


soldados
Fonte: O autor.
21

Em seguida, o sistema foi lacrado dentro de seu invólucro e testado utilizando a conexão
via cabo USB apenas para garatir seu funcionamento, conforme se vê na Figura 9 abaixo:

FIGURA 9 – Sistema de avaliação


Fonte: O autor.

2.5.1.5 Página de cadastro do sistema físico

Por último, para completar o sistema de atendimento, foi realizada a criação de três páginas
através da aplicação web desenvolvida por meio dos Frameworks Ionic e Cordova, conferindo-a
como ferramenta de gestão a capacidade de inserir determinado sistema físico e vinculá-lo a uma
bancada de atendimento. Ademais, foram criadas as opções de edição, listagem e deleção de
cada registro presente no banco de dados.
A Figura X, a seguir, apresenta a página principal que lista os registros de cada sistema
físico vinculado a determinada bancada para identificação das avaliações no sistema:

Página "Lista dos Sistemas físicos para avaliação"


22

CAPÍTULO 3 RESULTADOS, APRESENTAÇÃO, ANÁLISE E DISCUSSÃO

Por meio do estágio supervisionado exercido na empresa Inovarse, pude aplicar conceitos
teóricos aprendidos em sala de aula, de forma prática. As atividades executadas no estágio
foram baseadas nas disciplinas de Algoritmos e Programação de Computadores, Algoritmos e
Estrutura de Dados, Análise e Programação Orientadas a Objetos, Sistemas Digitais, Sistemas
Microprocessados, Programação em Tempo Real, Redes de Computadores e Eletrônica.
23

CONSIDERAÇÕES FINAIS

O estágio supervisionado foi importante para que eu obtivesse novas experiências, bem
como conhecimento profissional e pessoal, oportunidade em que pude aplicar conhecimentos
teóricos de forma prática. Ao longo deste período na empresa Inovarse, aprendi a lidar com
diversas situações que me proporcionaram experiência e serviram de aprendizado para futura
inserção no mercado de trabalho.
Agradeço aos colaboradores da empresa pelo empenho, confiança e oportunidade de
estágio, o qual me proporcionou experiência, aprendizado e capacitação para criação e desenvol-
vimento de sistemas de automação mediante aplicação de conceitos de Internet das Coisas.
24

REFERÊNCIAS

ARDUINO. Sobre nós. 2019. Disponível em: <https://www.arduino.cc/en/Main/AboutUs>.


Acesso em: 20 jun. 2019.

EASYEDA. Introduction to EasyEDA. 2019. Disponível em: <https://docs.easyeda.com/en/


Introduction/Introduction-to-EasyEDA/index.html>>. Acesso em: 23 jun. 2019.

FRAMEWORK, I. O que é o Ionic Framework? 2019. Disponível em: <https:


//ionicframework.com/docs/intro>. Acesso em: 16 jun. 2019.

Você também pode gostar