dc.description.abstract |
Com o advento da internet das coisas (IoT), existem dispositivos que podem se comunicar
com a internet enviando e recebendo dados. Muitos desses dispositivos são
utilizados em casas, salas, escritórios para prover um melhor conforto ou até poupar energia e tempo dos usuários. Um sistema de controle para ambientes inteligentes
deve automaticamente ajustar seus parâmetros e controlar seus dispositivos, para as preferências do usuário, baseado em dados previamente coletados dos sensores de
dispositivos inteligentes que apontam o comportamento e interação do usuário com o ambiente. Esse trabalho descreve o desenvolvimento de um sistema que leva os atuais
requerimentos da Internet das Coisas em consideração.
Uma solução para ambientes inteligentes da internet das coisas, precisa contar com
vários módulos que desempenham funções distintas. Para implementação de um ambiente
inteligente, esse projeto considera quatro componentes principais. Primeiramente,
uma sala inteligente onde existem vários sensores e atuadores disponíveis para controle das distintas variáveis do ambiente. Um gateway inteligente que faz a ponte entre os dispositivos da sala e a internet, além de detectar usuários. Um aplicativo híbrido
que permita o usuário controlar e monitorar o sistema remotamente através da internet,
recebendo em tempo real os dados provenientes de sensores do ambiente. Finalmente,
um algorítimo ciente de contexto para controle automático do ambiente.
Para implementação da sala inteligente, foi escolhida uma sala do Laboratório de Integração
de Software e Hardware (LISHA) da UFSC. Essa sala já havia sido parcialmente
instrumentada com dispositivos inteligentes em projetos prévios de internet das coisas,
capazes de medir consumo energético de quatro tomadas e três lâmpadas, além de controlar o ar-condicionado e lâmpadas. Para isso foram utilizados microcontroladores
EPOSMote III. Esses microcontroladores rodam o sistema operacional EPOS e possuem conectividade sem fio IEEE 802.15.4. O firmware presente nas lâmpadas estava
funcional, enviando mensagens Modbus do consumo a cada segundo, entretanto,
todas as tomadas tiveram seu firmware reprogramado para agir da mesma maneira.
Foram também desenvolvidos nodos extras para a coleta de dados de luminosidade e
temperatura internos e externos, presença e umidade.
Um gateway de controle embarcado para internet das coisas estende as funcionalidades
de um simples gateway, provendo inteligência e recursos para processamento
das aplicações locais. O gateway é capaz de filtrar e avaliar as mensagens Modbus recebidas dos microcontroladores além de implementar tarefas de gerenciamento de
mais alto nível. Esse gateway foi implementado na plataforma Intel Galileo 2ª geração.
A placa foi conectada a um microcontrolador EPOSMote III, que recebe as mensagens
Modbus pela rede IEEE 802.15.4 e as encaminha através de comunicação serial USB para serem processadas pela placa Galileo. Além da conectividade IEEE 802.15.4, a
placa também foi conectada via Ethernet a um roteador sem fio IEEE 802.11, que além de prover conectividade à internet para a placa, permite que ela esteja localizada na mesma sub-rede a qual o celular dos usuários da sala se conectam. Isso permite que
a placa escaneie a sub-rede e identifique os usuários presentes no ambiente. Essa
plataforma também possui uma instância de um servidor HTTP para estabelecer comunicação
entre ela e o servidor. Sensores e LEDs foram adicionados a placa para obter ainda mais informação e fornecer feedback do estado dos serviços desempenhados
pela placa. Um Daemon integra todas essas atividades executando-as paralelamente
com threads.
Uma aplicação híbrida, lida com uma questão crítica de projetos para internet das
coisas, a portabilidade. Já que a grande maioria dos dispositivos de IoT podem ser
remotamente controlados, um usuário deve ter acesso ao controle desses dispositivos
da maneira mais conveniente possível. Por esse motivo foi implementado um aplicativo
híbrido baseado no framework Apache Cordova, que gera aplicativos para diferentes
plataformas a partir de uma única implementação. O aplicativo desenvolvido possibilita
que o usuário monitore os dados do ambiente em tempo real e controle todos os dispositivos possíveis. Para isso é estabelecido um protocolo de comunicação através
de requisições HTTP REST com o servidor.
Nesse projeto, os dados coletados de sensores de dispositivos inteligentes são usados para definir contextos e preferências do usuário. Uma combinação de técnicas e conceitos de machine learning e data mining são utilizados para realizar predições
de controle para os dispositivos baseados no contexto atual. Um classificador de
floresta randômica é aplicado nos dados coletados da sala e nos dados previamente
inseridos para o controle de um dado dispositivo, para obtenção da relevância dos
dados para o controle de um dado dispositivo. Feito isso uma rede neural é treinada,
baseada nos dados coletados da interação do usuário com a sala, utilizando somente
os dados relevantes para o treino. Treinada a rede, o algorítimo faz predições de
controle da sala. Os conceitos de reinforcement learning são utilizados para atribuir recompensas ou punições as predições da rede, onde uma predição certa (quando não existe intervenção ou ajuste por parte do usuário após uma predição de controle) é recompensada sendo adicionada ao conjunto de dados do usuário, e uma errada (quando o usuário faz alguma alteração para uma dada predição de controle do
algorítimo) é punida adicionando as novas preferências do usuário e retreinando a rede.
Dessa maneira, o algorítimo continuamente aprende os comportamentos e preferências do usuário. Ao final das predições, pode ser adicionado um otimizador, com heurísticas de redução de consumo energético. Nesse trabalho foi utilizado um controlador fuzzy
onde foram implementadas regras de economia de energia no uso de lâmpadas de acordo com a luminosidade.
A implementação dos componentes do sistema foram devidamente validados, avaliando
suas respectivas métricas. Para validação e coleta de resultados, o sistema funcionou
durante um período de aproximadamente duas semanas na sala inteligente do Laboratório de Integração de Software e Hardware da UFSC. O sistema foi configurado para
procurar por apenas um usuário e aprender a controlar uma das lâmpadas da sala de acordo com o comportamento deste. Todos os requisitos funcionais e não funcionais
delineados no projeto foram cumpridos.
A utilização de um gateway embarcado para controle se mostrou bastante efetiva. O gateway foi capaz de detectar o usuário presente na sala e controlar os dispositivos
de acordo com as predições feitas pelo algorítimo ciente de contexto. A filtragem e
avaliação das mensagens recebidas evitou que dados errôneos fossem incorporados
nos bancos de dados e permite a redução de processamento nos microcontroladores.
O aplicativo implementado foi capaz de controlar e monitorar a sala. O uso de um framework de desenvolvimento para gerar aplicações híbridas permitiu que isso fosse possível de diferentes plataformas (Android e Web foram testadas).
Dados contextuais do ambiente se mostraram muito úteis para o controle e a otimização
de consumo energético, validando o conceito proposto por esse trabalho. A arquitetura
do algorítimo, utilizando técnicas de data mining para redução da dimensionalidade
dos dados, acompanhado das capacidades de modelagem de não-linearidades das
redes neurais, também se mostrou adequada para a aplicação em questão. |
pt_BR |
dc.description.abstract |
With the advent of the Internet of Things, devices can now receive and send data to the Internet. Many of these devices are used in homes, rooms and offices for better comfort, save user’s time and energy. A complete smart space control system should
automatically adjust its settings to the user preferences based on data previously
collected from the smart things. In this project we use environmental data collected from sensors of the smart things to define contexts and preferences of the user for such. By feeding contextual data to a context-aware decision engine, composed by
a combination of machine learning and data mining techniques and concepts. The
context-aware decision engine is capable of identifying important data co-relations and
use the environment’s contextual information to make intelligent control decisions and
adjust the environment’s settings to the user’s preferences and reduce the overall power
consumption, yielding better services to the user and improving human-technology
interaction. |
pt_BR |