• Nenhum resultado encontrado

O fluxo completo de uma operac¸˜ao realizada pela soluc¸˜ao IoT Smart Lock, pode ser detalhada pelo diagrama em blocos da Figura 24, que compreende 6 m´odulos:

1. Usu´ario: ap´os alocar suas fechaduras inteligentes ISL, fica respons´avel por interagir com o aplicativo mobile, para realizar as ac¸˜oes de trav´a-las ou destrav´a-las, al´em de consultar informac¸˜oes sobre as mesmas;

2. Aplicativo mobile: interface com o usu´ario, respons´avel pela comunicac¸˜ao com o servidor de servic¸os e o banco de dados;

3. Servidor de servic¸os: composto por um LaunchPad TI CC2650 e um Raspberry PI 3 Model B, executa 3 aplicac¸˜oes paralelamente:

(a) Broker MQTT-SN, permitindo a comunicac¸˜ao entre IoT Smart Lock e os demais m´odulos da soluc¸˜ao;

(b) Integrador MQTT-Firebase, para que todas as interac¸˜oes via mensagens MQTT-SN, tamb´em sejam devidamente salvas no banco de dados Firebase;

(c) Roteador de borda, fazendo com que o TI CC2650 do ISL se torne acess´ıvel via Internet, disponibilizando um enderec¸o IPv6 v´alido e ´unico para o mesmo.

4. Banco de dados: bloco encarregado pelo armazenamento de todos os dados do sistema; 5. IoT Smart Lock: representa a fechadura inteligente, sendo um conjunto entre uma TI

CC2650, a trava solenoide e demais sensores;

6. Instalac¸˜ao: local onde a fechadura inteligente ser´a alocada, seja ela uma gaveta, porta de arm´ario ou porta interna residencial.

Al´em disso, apresentam-se trˆes tipos de comunicac¸˜ao entre blocos. S˜ao elas:

1. Mensagens MQTT-SN (A): mensagens para comunicac¸˜ao entre aplicativo mobile (2), servidor de servic¸os (3) e IoT Smart Lock (5). Detalhes referentes ao procotolo MQTT podem ser visualizados nas sec¸˜oes 2.2.1 e 2.2.2;

2. Firebase Rest API (B): meio de comunicac¸˜ao com o banco de dados (4), advindos tanto do servidor de servic¸os (3) quanto do aplicativo mobile (2), para busca e inserc¸˜ao de informac¸˜oes;

3. Biblioteca Firebase para Android (C): disponibilizada pela pr´opria equipe do Google Firebase, essa biblioteca facilita o gerenciamento dos dados a partir de um aplicativo para o sistema Android (2).

Dessa forma, caso o usu´ario (1) deseje travar a fechadura inteligente IoT Smart Lock (5) alocada em sua gaveta (6), o mesmo dever´a acessar a aplicac¸˜ao mobile (2) em seu smartphone Android, selecionar a instalac¸˜ao cadastrada e tornar ativo o switch button denominado ”Travar” na tela de detalhes da instalac¸˜ao (apresentada na sec¸˜ao 4.1.5) no aplicativo.

Figura 24: Diagrama em Blocos - Iot Smart Lock

Fonte: Autoria pr´opria.

Ao executar essa ac¸˜ao, o aplicativo Android (2) envia ao broker MQTT (3a) presente no servidor de servic¸os (3), uma mensagem MQTT-SN (A) de valor ”1”ao t´opico ”/lock”referente `a fechadura inteligente (5) desejada (detalhes sobre a comunicac¸˜ao entre tais blocos, os t´opicos MQTT-SN e o broker MQTT, ser˜ao apresentados nas sec¸˜oes 5.3.1, 5.6.1 e 5.4.1, respectivamente).

Em paralelo a esse envio de mensagem ao servidor de servic¸os (3), o aplicativo Android (2), utilizando-se da biblioteca do Google Firebase para Android (C) e da API Rest (B) disponibilizada pelo servic¸o, envia tamb´em uma atualizac¸˜ao de informac¸˜oes para o banco de dados (4), informando que o estado da trava daquela fechadura inteligente (5) foi alterada do valor ”0” para o valor ”1”, indicando uma alterac¸˜ao de estado de ”Aberta” para ”Fechada”. Al´em disso, outro dado atualizado ´e a informac¸˜ao com a data e hora em que tal interac¸˜ao ocorreu, pois ela ser´a apresentada na tela de detalhes da instalac¸˜ao do aplicativo mobile (2). Os detalhes dessa comunicac¸˜ao entre aplicativo mobile (2) e banco de dados (4), podem ser visualizadas na sec¸˜ao 5.3.2 desse documento.

Dando continuidade `a operac¸˜ao de travar a fechadura inteligente, o servidor de servic¸os (3), ao receber a mensagem enviada pelo aplicativo mobile (2) em seu broker MQTT (3a), torna-

a dispon´ıvel para que o IoT Smart Lock (5) possa lˆe-la, uma vez que quando a ISL conecta-se a Internet via o roteador de borda (3c) (detalhes na sec¸˜ao 5.4.3), ela tamb´em se torna um MQTT client(especificac¸˜oes sobre o protocolo MQTT na sec¸˜ao 2.2.1), realizando um ”subscribe” nos t´opicos devidos (visualizar t´opicos utilizados na sec¸˜ao 5.6.1 desse documento).

Dessa forma, ao ler a mensagem ”1” no seu respectivo t´opico ”/lock”, o IoT Smart Lock(5) identifica que deve-se fechar sua trava solenoide acoplada, fazendo que a gaveta (6) do usu´ario (1) torne-se travada pela fechadura inteligente.

Esse mesmo fluxo tamb´em ´e valido para as operac¸˜oes de destravar a fechadura inteligente, assim como ativar ou desativar o alarme da mesma, sendo que as diferenc¸as est˜ao no dado da mensagem MQTT-SN (A) e nos t´opicos que ser˜ao utilizados por cada operac¸˜ao, todas elas detalhadas na sec¸˜ao 5.6.1 desse documento.

Ap´os esse processo de travar a fechadura, caso venha a ocorrer uma violac¸˜ao na gaveta, enquanto a mesma esteja travada e com o alarme ativado, uma mensagem MQTT-SN (A) ser´a enviada pelo ISL (5) ao broker MQTT (3a) presente no servidor de servic¸os (3), no devido t´opico ”/alert”. Essa, assim como qualquer outra interac¸˜ao entre usu´ario (1) e aplicativo mobile (2) ou usu´ario (1) e a sua fechadura inteligente (5), far´a com que o integrador MQTT-Firebase (3b) envie uma requisic¸˜ao POST via a API Rest do Firebase (B), para que esse registro seja devidamente salvo no banco de dados (4) (detalhes dessa comunicac¸˜ao presentes na sec¸˜ao 5.4.2). Como o integrador MQTT-Firebase (3b) registra-se em todos os t´opicos do broker MQTT (3a), todas as interac¸˜oes (logs) do sistema s˜ao registradas. O c´odigo do integrador (3b) pode ser visualizado nas Figuras 40, 41 e 42 do apˆendice E desse documento.

Armazenando todos os dados de instalac¸˜oes, interac¸˜oes (logs), arquivos e dados de usu´ario, o banco de dados (4) (sec¸˜ao 5.5) ent˜ao poder´a ser consultado pelo aplicativo mobile (2), que gerar´a as informac¸˜oes referentes `a essas interac¸˜oes, incluindo a violac¸˜ao exemplificada anteriormente, para que o usu´ario possa ficar ciente da mesma, por meio de gr´aficos e relat´orios gerados, A gerac¸˜ao desses gr´aficos e relat´orios ser´a detalhada na sec¸˜ao 5.3.2.4.

Nas pr´oximas sec¸˜oes, cada um dos blocos presentes no diagrama dessa sec¸˜ao e no fluxo de operac¸˜ao citado anteriormente, ser´a detalhado com especificac¸˜oes dos componentes envolvidos, suas func¸˜oes e os m´etodos de implementac¸˜ao de cada item, tanto de hardware quanto de software.

Documentos relacionados