Protótipo de interfone sem fio com áudio e...

Post on 25-Aug-2021

1 views 0 download

Transcript of Protótipo de interfone sem fio com áudio e...

Protótipo de interfone sem fio

com áudio e vídeo

Aluno: André Vinicius Bampi

Orientador: Miguel Alexandre Wisintainer

Roteiro

• Motivações

• Objetivos

• Fundamentação teórica

• Trabalhos Correlatos

• Requisitos

• Especificações

• Implementação

• Operacionalidade

• Resultados

• Conclusões

• Extensões

Motivação

• Automação residencial (domótica)

⚫ Tendência no cenário mundial

⚫ Interesse no cenário nacional

• Software livre

• Raspberry Pi

• VoIP

Objetivo geral

• Desenvolver um protótipo de interfone

sem fio com vídeo utilizando o Raspberry

Pi

Objetivos específicos

• Construir um hardware a partir do RaspberryPi e periféricos para as funções de interfone

• Construir um hardware a partir do RaspberryPi e periféricos para a comunicação entre o sistema de interfones e equipamentos externos

• Desenvolver um conjunto de softwares que forma um sistema de interfones com áudio e vídeo e com comunicação com equipamentos externos.

Fundamentação Teórica

Automação residencial

(domótica)• Primeiras tecnologias: EUA, 1970

• Propósito: tornar o dia a dia das pessoas

mais simples, automatizando tarefas

frequentes em suas residências

• Necessidades: acessibilidade, conforto,

economia e segurança

VoIP

• Voz sobre IP

• Voz, vídeo, chat, etc.

• Meios: softphone, ATA ou telefones IP

• Principais protocolos: SIP e RTP

Raspberry Pi

• Minicomputador de baixo custo* do

tamanho de um cartão de crédito

• Primeira versão: 2012

• Propósito geral

• Sistemas operacionais: Raspbian, Snappy

Ubuntu Core, Windows 10 IoT, etc.

• Portas GPIO

*Não no Brasil

Raspberry PiModelos 2B e 3B+, respectivamente

Asterisk

• PABX IP livre

• Mantido pela Digium

• Recursos: voz, vídeo, conferência, menus

interativos, distribuição de chamadas, etc.

• Asterisk Gateway Interface (AGI)

Elastix

• Sistema operacional baseado em Linux

focado em PABX IP

• Livre até a versão 4

• Baseado no CentOS com Asterisk até a

versão 4, no Debian com 3CX depois

Linphone

• Softphone

• Chamadas de voz, vídeo e chat

• Versões pra Linux, Windows, OSX,

Android, IOS, Windows Phone, etc

Trabalhos correlatos

Plataforma de comunicação multimédia para dispositivos

de baixo custo com o uso de protocolos seguros

(LEITE, 2014)

• Desenvolvimento de aplicações cliente e

servidor VoIP

• Softwares livres

• Biblioteca LibLinphone

• Software cliente executa em Raspberry Pi

• Chamadas de áudio e vídeo

Uma Arquitetura de Hardware e Software Livres para

um Telefone VoIP

(AMÉRICO FILHO ET. AL., 2012)

• Telefone VoIP

• Hardware e softwares livres

• Processador DSP da Analog Devices

• Chamadas de áudio

• Biblioteca LibLinphone

Servidor VoIP com sistema de segurança doméstica

integrada de baixo custo

(DESTEFANI e PAUKNER, 2013)

• Sistema de segurança doméstica

• Telefonia IP e controle de equipamentos

externos

• PABX IP Asterisk

• Cliente e servidor executando em

Raspberry Pi

• Chamadas de áudio

Requisitos funcionais

• Interface gráfica com funções semelhantes às de um

interfone

• Exigir autenticação do usuário

• Permitir chamadas de áudio com ou sem vídeo

• Encaminhar chamada para telefone caso não seja atendida

• Armazenar um histórico de chamadas

• Disponibilizar uma interface para as funções de

administração

• Permitir o bloqueio de usuários

• Permitir o cadastro de usuários no servidor

• Pemitir o usuário ocultar sua imagem durante uma chamada

• Permitir o controle de equipamentos externos

Requisitos não funcionais

• Utilizar o minicomputador Raspberry Pi para os interfones

• Periféricos para o interfone: display LCD, placa de som USB,

amplificador de áudio, monofone, webcam e teclado numérico

• Sistema operacional Raspbian

• Funcionar numa rede local com ou sem fio

• Utilizar o Asterisk no servidor como plataforma de telefonia

VoIP

• Se comunicar por VoIP, via protocolos como SIP, RTP, etc.

• Ser implementado utilizando a linguagem de programação

Python

• Utilizar o banco de dados MariaDB

Especificação

Diagrama de distribuição

Modelo Entidade

Relacionamento (MER)

Diagrama de casos de uso:

Aplicação de administração

Diagrama de casos de uso:

Aplicação de interfone

Diagrama de casos de uso:

Aplicação de controle de ações

Diagrama de atividades:Inicialização/encerramento da aplicação de interfone

Diagrama de atividades:Inicialização/encerramento da aplicação de interfone

Diagrama de atividades:Chamada entre interfones

Diagrama de atividades:Chamada entre interfones

Diagrama de atividades:Aplicação de controle de ações

Diagrama de atividades:Aplicação de controle de ações

Implementação

Construção do hardware:

Interfone

Construção do hardware:

Controlador de ações

Técnicas e ferramentas utilizadas• Linguagem de programação: Python 2.7

• Interface gráfica: GTK

• Ferramentas:

• Eclipse 4.9 com PyDev

• Glade

• Plugins: MySQLdb, Python-gi e Bcrypt

• Banco de dados: MariaDB

• Sistemas operacionais:

• Lubuntu 18.04 LTS (notebook)

• Elastix 2.5 (Servidor)

• Raspbian 9.5 Stretch (outros)

• Ambiente gráfico: LXDE

• PABX IP: Asterisk

• Softphone: Linphone

• Controle de janelas: Wmctrl

• Operadora VoIP: Tellfree

Código-fonte

Comunicação com o LinphoneClasse SIPServiceController: funções de inicialização e encerramento

Comunicação com o LinphoneClasse SIPServiceController: principais funções de chamada

Comunicação com o LinphoneClasse SIPServiceController: função de status de chamada

Comunicação com o Linphone

Classe SIPServiceController: funções de ajuste da janela de chamada com vídeo

Processamento de açõesClasse ActionCallController: função de processamento de ações

Operacionalidade da

Implementação

Interface de configuração do Elastix

Interface de configuração do LinphoneLinphone: configurar dispositivos

Aplicação de administração

ParâmetrosParâmetros do sistema

Cadastro de usuário

Aplicação de interfone

Chamada em andamento

Processamento de ação

Consulta de chamadas

Resultados e Discussões

• Todos os requisitos funcionais atendidos

• Tecnologias descartadas: Java,

Liblinphone e Tkinter

• Limitações:

• Aplicação de interfone não integrada

• Desempenho de vídeo limitado por

causa do display LCD

Comparação com os

trabalhos correlatos

Plataforma de comunicação multimédia para dispositivos

de baixo custo com o uso de protocolos seguros

(LEITE, 2014)

• Semelhanças:

• VoIP

• Softwares livres

• Biblioteca Liblinphone

• Raspberry Pi

• Chamadas de áudio e vídeo

• Diferenças:

• Plataforma VoIP

• Desenvolvimento de aplicações cliente e

servidor

Uma Arquitetura de Hardware e Software Livres para

um Telefone VoIP

(AMÉRICO FILHO ET. AL., 2012)

• Semelhanças:

• VoIP

• Softwares livres

• Biblioteca Liblinphone

• Diferenças

• Telefone VoIP

• Arquitetura própria

• Chamadas de áudio

Servidor VoIP com sistema de segurança doméstica

integrada de baixo custo

(DESTEFANI e PAUKNER, 2013)

• Semelhanças

• VoIP

• Sistema de segurança doméstica

• Asterisk

• Raspberry Pi

• Controle de equipamentos externos

• Diferenças:

• Chamadas de áudio

Comparação com os

trabalhos correlatos

Conclusões

• Ferramentas e equipamentos atenderam

as necessidades do trabalho

• O uso de software livre é viável nesse tipo

de aplicação

• O sistema de interfones pode ser

ampliado para um sistema de automação

residencial e segurança predial completo

• Os objetivos do trabalho foram alcançados

Extensões

• Versão para smartphone da aplicação de interfone

• Versão web da aplicação de administração

• Acrescentar recursos de acessibilidade

• Acrescentar outras funções de automação

residencial e segurança predial

• Substituir o Linphone por uma biblioteca integrada

à aplicação de interfone

• Adaptar a aplicação de controle de ações para

utilizar equipamentos externos reais

Demonstração do sistema

Obrigado