protótipo de interfone sem fio com áudio e...
TRANSCRIPT
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