• Nenhum resultado encontrado

BRisa: Um Arcabouço para o Desenvolvimento de Aplicações Baseadas no Padrão UPnP

N/A
N/A
Protected

Academic year: 2021

Share "BRisa: Um Arcabouço para o Desenvolvimento de Aplicações Baseadas no Padrão UPnP"

Copied!
8
0
0

Texto

(1)

BRisa: Um Arcabouc¸o para o Desenvolvimento de Aplicac¸˜oes

Baseadas no Padr˜ao UPnP

Leandro M. de Sales, Thiago B. M. de Sales, Hyggo O. Oliveira, Angelo Perkusich e Wendel Soares

1Programa de P´os-Graduac¸˜ao em Ciˆencia da Computac¸˜ao

Centro de Engenharia El´etrica e Inform´atica Universidade Federal de Campina Grande

Campina Grande – PB – Brasil

{leandro,thiagobruno,hyggo,perkusic,wendel}@embedded.ufcg.edu.br

Resumo. Neste artigo, apresenta-se o projeto BRisa, uma implementac¸˜ao do

padr˜ao UPnP (Universal Plug and Play) baseada em software livre. O BRisa ´e um arcabouc¸o que permite o f´acil desenvolvimento de aplicac¸˜oes que pre-cisam fazer descoberta de dispositivos e servic¸os em uma rede. Com o BRisa, ´e poss´ıvel controlar equipamentos residenciais, tais como televisores, portas, janelas, lˆampadas, cˆameras de seguranc¸a, ar-condicionados, aparelhos de som,

impressoras, entre outros. A motivac¸˜ao deste projeto ´e construir uma

fer-ramenta que possa abstrair do desenvolvedor de aplicac¸˜oes de rede toda a complexidade de implementac¸˜ao do referido padr˜ao, que inclui manipulac¸˜ao (criac¸˜ao e parsing) de arquivos XML, uso de implementac¸˜oes de protocolos de rede, tais como TCP, UDP e HTTP, bem como o desenvolvimento do protocolo especificado pelo padr˜ao UPnP para descoberta e disponibilizac¸˜ao de servic¸os, tais como o de descric¸˜ao de dispositivo e disponibilizac¸˜ao e acesso a servic¸os e eventos UPnP vinculados a um determinado dispositivo.

1. Introduc¸˜ao

A popularizac¸˜ao dos dispositivos eletrˆonicos port´ateis tais como PDAs, celulares e Inter-net tablets tem proporcionado o desenvolvimento de mecanismos para conectar e

com-partilhar informac¸˜oes. O padr˜ao de conectividade Universal Plug and Play (UPnP)1 ´e

considerado uma boa opc¸˜ao para prover servic¸os ub´ıquos por meio da utilizac¸˜ao de dis-positivos m´oveis, fazendo uso de tecnologias j´a consolidadas da Internet, tais como o HTTP, o SOAP e o XML.

O conceito original de Plug and Play (PnP) era focado na conectividade dinˆamica de dispositivos ao computador. Um driver de dispositivo controlado pelo sistema opera-cional detecta o perif´erico e o torna dispon´ıvel para o usu´ario atrav´es das chamadas de sistema. O padr˜ao UPnP especifica uma abordagem diferente: os dispositivos se conec-tam `a rede e s˜ao detectados pelos sistemas com o uso de protocolos de rede, em lugar dos drivers de dispositivos. Os protocolos de rede adotados pelo UPnP s˜ao todos con-siderados padr˜oes na Internet [3], tais como HTTP, UDP e TCP. As chamadas ao sistema usadas no Plug and Play s˜ao substituidas por chamadas remotas de m´etodos com o uso de

(2)

Webservices baseados no protocolo SOAP. Uma rede UPnP ´e um conjunto de computa-dores interconectados, aparelhos de rede e dispositivos que utilizam o padr˜ao UPnP para descobrir, descobrir, anunciar e acessar servic¸os de rede.

O projeto BRisa [Guedes et al. 2008, Sales et al. 2011] visa prover um arcabouc¸o para criar ferramentas que oferec¸am suporte `a comunicac¸˜ao entre dispositivos de rede. O arcabouc¸o BRisa alcanc¸a este objetivo por meio da definic¸˜ao e publicac¸˜ao de protocolos que controlam os dispositivos UPnP, abstraindo do desenvolver de aplicac¸˜oes toda a com-plexidade de implementar as especificac¸˜oes do padr˜ao UPnP. A proposta ´e que o padr˜ao UPnP permita conex˜ao transparente entre dispositivos eletrˆonicos usuais, tais como celu-lares, impressoras, reprodutores multim´ıdia, mas tamb´em outros dispositivos menos co-muns de se conectarem `as redes, tais como perif´ericos convencionais como cˆameras de seguranc¸a, aparelhos dom´esticos como luzes, portas, sensores de temperatura, cortinas etc.

Nesta perspectiva, a ferramenta descrita neste artigo pode ser utilizada no de-senvolvimento de aplicac¸˜oes de redes para diferentes contextos, tais como redes m´oveis e ub´ıquas, redes pervasivas, grids, cloud computing e redes de sensores sem-fio. Por exemplo, recentemente utilizou-se o BRisa para desenvolver um gateway UPnP para Representac¸˜ao de Servic¸os de Rede de Sensores sem Fio [Campos et al. 2010]. Este

gateway permite que os servic¸os fornecidos por todos os n´os sensores pudessem ser

de-scobertos e controlados por pontos de controle atrav´es de um dispositivo UPnP. Um outro exemplo ´e o UPnP-UP (User Profile) [Sales et al. 2009, Sales et al. 2010], uma extens˜ao para o padr˜ao UPnP para dar suporte `a autenticac¸˜ao e autorizac¸˜ao de usu´arios em redes UPnP.

Neste artigo ser´a apresentado o arcabouc¸o de desenvolvimento de aplicac¸˜oes UPnP chamado BRisa-UPnP. Trata-se de um projeto de software voltado para `a construc¸˜ao de aplicac¸˜oes ad-hoc que acessam e fornecem servic¸os de rede. Estes servic¸os podem ser acessados e fornecidos de forma transparente entre os dispositivos atrav´es de uma API de programac¸˜ao simples de usar e port´avel: o BRisa funciona nos trˆes princi-pais sistemas operacionais da atualidade, Linux, MacOS e Windows; al´em da plataforma Nokia/Maemo e Nokia/MeeGo, com vers˜oes iniciais para as plataformas Google/Android e Samsung/Bada.

Na pr´oxima sec¸˜ao ser´a apresentada uma vis˜ao geral do padr˜ao UPnP. O BRisa-UPnP ser´a apresentado na Sec¸˜ao 3, bem como instruc¸˜oes b´asicas de como utiliz´a-lo com instruc¸˜oes de instalac¸˜ao, documentac¸˜ao e exemplos. Na Sec¸˜ao 4, ser´a apresentado alguns estudos de casos de aplicac¸˜oes desenvolvidas com o BRisa-UPnP. Por fim, na Sec¸˜ao 5 s˜ao apresentadas as considerac¸˜oes finais sobre o BRisa-UPnP e seus desdobramentos futuros.

2. Vis˜ao Geral do Padr˜ao UPnP

O padr˜ao UPnP define uma arquitetura para conectividade entre diferentes dispositivos com diferentes tipos de interfaces de comunicac¸˜ao. Foi projetado para proporcionar flex-ibilidade e simplicidade na descoberta de dispositivos e servic¸os em uma arquitetura de rede ad hoc, distribu´ıda e aberta, a qual tem como base protocolos padr˜oes da Internet, tais como o TCP/IP, HTTP e SOAP. O padr˜ao foi inicialmente proposto pela Microsoft, em 1999, em conjunto com outras 28 empresas, incluindo Intel, Hewlett-Packard, Compaq e Samsung.

(3)

Atualmente, mais de 800 empresas fazem parte do UPnP Forum2, o qual objetiva definir e publicar padr˜oes, protocolos e modelos, permitindo a interoperabilidade entre diferentes dispositivos e servic¸os de rede em ambientes dom´esticos e corporativos. As empresas est˜ao organizadas em comitˆes por ´areas espec´ıficas, encarregadas de definir padr˜oes para dispositivos e desenvolver implementac¸˜oes de testes que concretizem as especificac¸˜oes propostas. Os comitˆes existentes est˜ao divididos nas seguintes ´areas: automac¸˜ao residencial e seguranc¸a, Internet gateway, eletrodom´esticos e ´audio e v´ıdeo. Para permitir interoperabilidade entre diferentes dispositivos e f´acil disponibilizac¸˜ao de servic¸os, o padr˜ao UPnP define 5 passos de conectividade.

Est´a ilustrado no cen´ario da Figura 1 um exemplo de aplicac¸˜ao na ´area de ´audio e v´ıdeo do padr˜ao UPnP. Nesta especificac¸˜ao, prop˜oe-se uma abordagem para que dis-positivos m´oveis (pontos de controle) possibilitem a navegac¸˜ao por conte´udos multim´ıdia armazenados em um servidor de m´ıdias e os reproduzam num reprodutor de m´ıdias.

Nesse contexto, um ponto de controle inicialmente envia uma requisic¸˜ao

mul-ticast de descoberta UPnP (M-SEARCH) para obter uma lista de dispositivos UPnP

dispon´ıveis na rede (Etapas 1 e 2). Estas etapas permitem que pontos de controle obten-ham informac¸˜oes sobre os dispositivos na rede, dentre essas, os servic¸os disponibilizados pelos dispositivos. Uma vez obtida a lista de dispositivos e servic¸os, um ponto de controle pode invocar quaisquer servic¸os UPnP disponibilizados pelos dispositivos descobertos (Etapas 3 e 4). Um ponto de controle pode selecionar um conte´udo multim´ıdia disponi-bilizado pelo Servidor de M´ıdias (UPnP Media Server) e reproduz´ı-los (Etapas 5 e 6) em um Reprodutor de M´ıdias (UPnP Media Renderer). Dispositivos UPnP ainda podem lanc¸ar eventos de mudanc¸as de estado na rede. Como exemplo, um Reprodutor de M´ıdias poderia informar aos pontos de controle sobre a mudanc¸a de volume na reproduc¸˜ao do conte´udo multim´ıdia, ou sobre novos conte´udos sendo reproduzidos nesse reprodutor.

3. BRisa

O BRisa ´e um framework de c´odigo aberto dispon´ıvel para ser utilizado em duas lingua-gens de programac¸˜ao: Python e C++, al´em de uma vers˜ao em Java em desenvolvimento. Para oferecer suporte `a construc¸˜ao de dispositivos e servic¸os UPnP, o BRisa ´e separado nos seguintes m´odulos:

• uma API para o desenvolvimento de dispositivos e servic¸os UPnP. Estas classes abstraem toda a complexidade da implementac¸˜ao do padr˜ao descrita na especificac¸˜ao principal do referido padr˜ao, como processamento de conte´udos XML, tratamento de excess˜oes, disponibilizac¸˜ao de Webservices atrav´es do pro-tocolo SOAP e implementac¸˜ao de um servidor Web;

• uma API de ponto de controle, que permite o desenvolvimento de pontos de con-trole personalizados. Neste m´odulo ´e implementado um cliente Web para down-load de arquivos XML, cliente para Webservices para realizar chamadas remotas de m´etodos disponibilizados pelos dispositivos UPnP atrav´es do protocolo SOAP, processamento de XML, descoberta de dispositivos e gerenciamento de eventos UPnP;

• um conjunto de aplicac¸˜oes exemplos e aplicac¸˜oes de gerenciamento do arcabouc¸o. Neste m´odulo s˜ao implementadas a BRisa Configuration Tool para controlar 2UPnP Forum: http://www.upnp.org

(4)

Network Navegação (browsing) Controle Streaming de mídia Requisição de mídia Ponto de Controle 1 2 3 4 5 6 Descoberta Dispositivos Descobertos Servidor de Mídia Renderizador de Mídia

Figura 1. Exemplo de cen ´ario de aplicac¸ ˜ao UPnP na ´area de ´audio e v´ıdeo.

parˆametros de configurac¸˜ao do arcabouc¸o; aplicac¸˜oes exemplos que podem aju-dar o desenvolvedor a desenvolver suas pr´oprias aplicac¸˜oes: uma TV UPnP, Ar-Condicionado UPnP, Calculadora UPnP, Lˆampada Bin´aria UPnP e um ponto de controle UPnP universal, o qual permite descobrir qualquer dispositivo UPnP, ex-ecutar seus servic¸os e se registrar aos eventos UPnP gerados pelos dispositivos encontrados.

3.1. Hist´orico do Projeto

O projeto BRisa foi iniciado em 2006 na Universidade Federal de Campina Grande como um projeto em parceria com o Instituto Nokia de Tecnologia. Atualmente o projeto tem sido desenvolvido em parceria com a Universidade Federal de Alagoas no contexto de um projeto de cooperac¸˜ao entre as duas instituic¸˜oes. Por ser um projeto de c´odigo aberto, o projeto BRisa tem recebido atenc¸˜ao dos desenvolvedores de todas as partes do mundo, que enviam atualizac¸˜oes de correc¸˜oes, implementac¸˜ao de novas funcionalidades, exemplos de aplicac¸˜oes etc.

Na Figura 2, apresenta-se um hist´orico do projeto e os principais acontecimentos desde ent˜ao. Note-se que o projeto BRisa tem recebido apoio da comunidade, tem sido utilizado em grandes projetos, como pelo projeto KDE, assim como apoio de empresas, como a Sony, que doou recentemente um PS3 ao projeto, uma vez que o mesmo suporta o padr˜ao UPnP.

3.2. Instalac¸˜ao e documentac¸˜ao do BRisa UPnP

O processo de instalac¸˜ao do projeto BRisa ´e muito simples. Atualmente, disponibiliza-se pacotes de instalac¸˜ao para Windows, Linux e MacOS. Todos os passos de instalac¸˜ao do BRisa est´a dispon´ıvel na documentac¸˜ao oficial do projeto. Note-se que apenas a vers˜ao do BRisa em C++ est´a dispon´ıvel para as plataformas mencionadas, embora seja poss´ıvel,

(5)

!"#$%#"&'"%(%)*%+' !"  #$%&'()'$*+,'-./) 0"  1%2)3+3*+/4%,')5%) 5%(%&6/*6+2%&4/) 7"  #$%&'()%2)894:/&) ;%<=0>>?) @'A=0>>B) ,%-./0&'"%(%)*%+' !"  8A+2%+A')6%A(./)5%)*+3C) 2'()2D+4/)(+2$*%() 0"  E/F+')$'((')')+&,%&G6'A) /)$A/H%4/)$'A')(%A) '$*+,'5/)&/)I'&/*') @%5+')8*'9%A) 1%"2%#"&'"%(%)*%+' !"  #8J),/2$*%4')%2)894:/&) 0"  8'((')')(%A)DG*+<'5/)$/A) /D4A'()%2$A%('() !"  ;;KLM) 0"  1N8ON1) 7"  L%5%()5%)1%&(/A%() ND4=0>>P) QD*=0>>R) 3.)"4)'"%(%)*%+' !"  8A+2%+A')6%A(./)5/)S4TUL+(') 0"  V(4'3+*+<'-./)5/)894:/&TUA+(') 7"  8D3*+,'-W%() !"  VXI) 0"  X+&DY)@'Z'<+&%) ["  @%*:/A+'),/&(+5%A\6%*)&') 5/,D2%&4'-./)5')6%A(./)894:/&) #3A+*=0>!>) 3.#/4)'"%(%)*%+' !"  V(4'3+*+<'-./)5/)S4TUA+(') 0"  E/F+')+&4%A%(('5') 7"  ];V),/2%-'),/&(4AD+A)/) ];VT1/*+5)D('&5/)UA+(') ["  @'+()'$*+,'-W%(C)%Y%2$*/() ^"  1/&9)5/')817)$'A')/)$A/H%4/) '4D'*2%&4%) !"56#$)'"%(%)*%+' !"  @'+/=0>!!) 0"  #$%&'()D2')5%$%&5_&,+')%Y4%A&') 7"  UL+(')#&5A/+5) ["  UL+(')U'5') ^"  @D*GT$*'4'`/A2')%)4%(4%() ?"  @%2/A9)*%'F() B"  8D3*+,'-W%(a) !"  12'A4);%6%*/$%A)

Figura 2. Hist ´orico do projeto BRisa UPnP.

com alguns ajustes, fazer com que a vers˜ao em Python tamb´em funcione em Windows e MacOS.

O site oficial do projeto ´e http://brisa.garage.maemo.org/,

onde ´e poss´ıvel que o usu´ario obtenha toda a documentac¸˜ao necess´aria para

instalac¸˜ao, utilizac¸˜ao e desenvolvimento de aplicac¸˜oes. Recomenda-se o uso da

´ultima vers˜ao do projeto BRisa desenvolvida em C++, cuja documentac¸˜ao est´a

dispon´ıvel no enderec¸o http://brisa.garage.maemo.org/downloads/

qt-brisa-2.0-documentation.pdf. Al´em disso, disponibiliza-se a

documentac¸˜ao completa da API do arcabouc¸o atrav´es do enderec¸o http: //brisa.garage.maemo.org/apidoc/qt/html/index.html.

3.3. Demonstrac¸˜ao do BRisa-UPnP no Sal˜ao de Ferramentas do SBRC

Pretende-se apresentar o funcionamento geral da ferramenta, assim como diversos exem-plos de aplicac¸˜oes desenvolvidas utilizando o BRisa-UPnP. Tamb´em, ser˜ao explorados durante a apresentac¸˜ao da ferramenta diversos exemplos j´a dispon´ıveis no reposit´orio do projeto. Al´em disso, pode-se explorar diversos cen´arios de aplicac¸˜oes, a depender do tempo dispon´ıvel para apresentac¸˜ao e interesse do p´ublico presente, como, por exemplo, pode-se desenvolver exemplos simples de aplicac¸˜oes durante a sess˜ao do sal˜ao de ferra-mentas, estes exemplos podem ser baseados em id´eias fornecidas pela pr´opria audiˆencia.

4. Estudos de Caso

Nesta sec¸˜ao ´e apresentado um estudo de caso no contexto do projeto BRisa. No estudo de

caso ser´a apresentado o UPnPFS, um sistema de arquivo que utiliza o projeto FUSE3.

(6)

4.1. UPnP-FS

O UPnPFS ´e um sistema de arquivos baseado no FUSE que permite a descoberta de dispositivos UPnP, execuc¸˜ao de servic¸os e notificac¸˜ao de eventos de cada dispositivo encontrado como se fossem arquivos comuns. O sistema ´e composto de dois m´odulos principais, que s˜ao executados em paralelo:

• O m´odulo FUSE, que consiste no sistema de arquivos propriamente dito exportado para o usu´ario e respons´avel pelas operac¸˜oes b´asicas de um sistema de arquivos, tais como escrita e leitura;

• O m´odulo UPnP, desenvolvido utilizando o BRisa, que permite a descoberta de dispositivos UPnP e o acesso aos servic¸os providos pelos dispositivos encontra-dos. Na pr´atica, o m´odulo BRisa ´e um ponto de controle UPnP, o qual realiza as chamadas remotas de m´etodo, gerenciamento e leitura de arquivos XMLs etc. A id´eia do UPnPFS ´e utilizar as operac¸˜oes de sistema de arquivo para mapear a lista de dispositivos em diret´orios, a lista de servic¸os do dispositivo em sub-diret´orios de cada dispositivo e a lista de ac¸˜oes de cada servic¸o em arquivos dentro do sub-diret´orio do respectivo servic¸o. Quando um usu´ario monta um sistema de arquivo UPnPFS, ele

informa um ponto de montagem. ´E nesse ponto de montagem que o UPnPFS criar´a a

es-trutura de diret´orios correspondente aos dispositivos UPnP encontrados na rede de acordo com o descrito anteriormente. A estrutura de diret´orios constru´ıda no ponto de montagem ´e dinˆamica, surgindo e ocultando diret´orios representando dispositivos conforme os mes-mos s˜ao encontrados na rede ou dispositivos se desconectam dela, respectivamente.

Na pr´atica, o UPnPFS ´e um ponto de controle UPnP transformado em um sistema de arquivo. Neste caso, todas as vezes que um dispositivo ´e encontrado, o sistema de arquivo UPnPFS cria a estrutura de diret´orio descrita anteriormente para o dispositivo encontrado (diret´orio do dispositivo, sub-diret´orios de servic¸os e respectivos arquivos de ac¸˜oes de cada servic¸o). O sistema de arquivos UPnPFS deve permitir a execuc¸˜ao de ac¸˜oes, que basicamente consiste em permitir que um usu´ario abra o arquivo da ac¸˜ao que ele desejar executar e o conte´udo do arquivo seja a lista dos parˆametros necess´arios para a execuc¸˜ao da ac¸˜ao, cada parˆametro por linha, especificado no formato parametro =

<valor>, onde <valor> deve ser especificado pelo usu´ario. Ap´os preencher todos os

val-ores dos parˆametros o usu´ario dever´a salvar o arquivo. Cada operac¸˜ao, feita pelo usu´ario, de salvar um arquivo de ac¸˜ao, corresponde ao interesse do usu´ario de executar a ac¸˜ao cor-respondente. Note-se que ´e permitido que o usu´ario tamb´em execute ac¸˜oes n˜ao abrindo o arquivo, mas redirecionando uma sa´ıda qualquer para o arquivo da ac¸˜ao correspon-dente. Desta forma, o sistema de arquivo UPnPFS suporta uma operac¸˜ao similar a echo parametro1 = valor1; parametro2 = valor2; parametro3 = valor3 >> arquivo da acao. Uma operac¸˜ao similar deve ser feito para permitir que o usu´ario se registre a um determi-nado evento UPnP, executando um comando como echo subscribe >> arquivo do evento ou echo unsubscribe >> arquivo do evento.

Ap´os a implementac¸˜ao do UPnPFS utilizando o arcabouc¸o BRisa via FUSE foi poss´ıvel montar o sistema de arquivo utilizando o comando “mount -t upnpfs nodev /m-nt/network upnp devices”. A palavra reservada nodev permite montar um sistema de ar-quivo que n˜ao necessitam de um dispositivo de bloco ou um dispositivo de caracter.

No momento que o comando de montagem do sistema de arquivo UPnPFS ´e exe-cutado, os dois m´odulos supracitados s˜ao carregado. Ao ser carregado, por padr˜ao o

(7)

sis-tema de arquivo automaticamente procura por dispositivos na rede e constr´oi a estrutura de diret´orios correspondentes no ponto de montagem. Embora o UPnPFS busque por dis-positivos no momento que ele ´e montado, quando ele for iniciado, o usu´ario tem a opc¸˜ao de informar para o FUSE que n˜ao seja feita busca de dispositivos automaticamente. Neste caso, a opc¸˜ao nosearch deve ser especificada como uma opc¸˜ao disponibilizada pelo sis-tema de arquivo UPnPFS, por exemplo, da seguinte forma: ‘mount -t upnpfs -o nosearch nodev /mnt/upnp”.

Ap´os o UPnPFS comec¸ar a encontrar dispositivos, o conte´udo do diret´orio do ponto de montagem (no caso, /mnt/upnp) deve parecer similar como segue:

$ ls /mnt/upnp

+ DeviceFriendlyName1 (diret´orio) + ServiceName1 (diret´orio)

- Action1 (arquivo) - Action2 (arquivo) - (...) (mais ac¸˜oes) - Event1 (arquivo) - Event2 (arquivo) - (...) (mais eventos) + ServiceName2 (diret´orio) + (...) (mais servic¸os) + DeviceFriendlyName2 (diret´orio)

+ ServiceName1 (diret´orio) - Action1 (arquivo) - Action2 (arquivo) - (...) (mais ac¸˜oes) - Event1 (arquivo) - Event2 (arquivo) - (...) (mais eventos)

+ ServiceName2 (diret´orio) + ServiceName3 (diret´orio)

+ (...) (mais servic¸os)

+ (...) (mais dispositivos)

Para desmontar o sistema de arquivos UPnPFS o usu´ario utiliza a forma tradi-cional: “umount /mnt/upnp/ ”. Isto faz com que o ponto de montagem seja liberado e, consequentemente, o descarregamento dos m´odulos BRisa e do FUSE. Para a execuc¸˜ao de uma ac¸˜ao, o usu´ario tem duas opc¸˜oes, editar um arquivo de ac¸˜ao com um editor de pre-ferˆencia e em seguida preencher os parˆametros necess´arios para a execuc¸˜ao da ac¸˜ao. Ap´os salvar, o UPnPFS ser´a respons´avel por executar a ac¸˜ao. Por exemplo, o usu´ario pode uti-lizar o gedit e editar o arquivo /mnt/upnp/DeviceFriendlyName1/ServiceName1/Action2. Isto abrir´a um arquivo contendo um texto similar ao apresentado a seguir. Para se reg-istrar ou cancelar o registro a um determinado evento de um servic¸o UPnP, o usu´ario deve realizar uma operac¸˜ao similar, por´em escrevendo a palavra subscribe ou

unsub-scribe no arquivo de eventos, por exemplo localizado em

/mnt/upnp/DeviceFriendly-Name1/ServiceName1/Action2. parameterName1 = <valor1> parameterName2 = <valor2>

A grande vantagem do uso do UPnPFS, desenvolvido no contexto do projeto BRisa, ´e que este sistema de arquivo abstrai ainda mais a complexidade do uso do padr˜ao UPnP por parte do usu´ario. Note que neste caso at´e mesmo um usu´ario final poder´a utilizar os recursos providos pelo UPnP sem precisar ter conhecimentos de programac¸˜ao.

5. Conclus˜oes

Neste artigo, apresentou-se os conceitos b´asicos do padr˜ao UPnP. Apresentou-se o projeto BRisa, uma implementac¸˜ao de software livre do padr˜ao UPnP, que permite o

(8)

desenvolvi-mento de aplicac¸˜oes baseadas neste padr˜ao de forma r´apida, pois o BRisa abstrai toda a complexidade de se implementar todas as caracter´ısticas previstas pelo padr˜ao UPnP.

O projeto BRisa tem sido utilizado tanto no contexto acadˆemico quanto no ˆambito comercial, com um grande suporte da comunidade de desenvolvimento de software livre, que tem respondido e participado do seu desenvolvimento com contribuic¸˜oes espec´ıficas de correc¸˜oes e novas funcionalidades, que s˜ao aplicadas ao projeto `a medida que estas s˜ao revisadas e testadas.

Como trabalhos futuros do projeto, existem diversas funcionalidades ainda a serem implementadas, tais como melhoria da soluc¸˜ao em C++ para dispositivos mul-tim´ıdia UPnP, adaptac¸˜ao e testes do arcabouc¸o em plataformas m´oveis, como android e bada, assim como construc¸˜ao de mais exemplos de utilizac¸˜ao do projeto BRisa.

Referˆencias

Campos, B., Nakamura, E., and Figueiredo, C. (2010). Gateway upnp para representac¸˜ao de servic¸os de rede de sensores sem fio. II Simp´osio Brasileiro de Computac¸˜ao Ub´ıqua e Pervasiva.

Guedes, A., Santos, D., Sales, L., Perkusich, A., and Almeida, H. (2008). Brisa upnp a/v framework. In Proceedings of the International Conference on Consumer Electronics, 2008. ICCE 2008., pages 1–3.

Sales, L., Sales, T., Almeida, H., and Perkusich, A. (2011). Upnp and smart controlling with qt brisa framework. Smart Developer Magazine: Electronic and Printed.

Sales, T., Sales, L., Almeida, H., and Perkusich, A. (2009). Enabling user authentication and authorization to support context-aware upnp applications. In Proceedings of the XV Brazilian Symposium on Multimedia and the Web, WebMedia ’09, pages 3:1–3:8, New York, NY, USA. ACM.

Sales, T., Sales, L., Almeida, H., and Perkusich, A. (2010). A upnp extension for enabling user authentication and authorization in pervasive systems. Journal of the Brazilian Computer Society, 16:261–277. 10.1007/s13173-010-0022-2.

Referências

Documentos relacionados

O PROGRAMA AGENTES LOCAIS DE INOVAÇÃO, por este Edital, torna público a Retificação do Edital 03/2011, a Lista de Convocados para Realização das Dinâmicas de Grupo e

General: Knowing the conceptual and methodological foundations of the main projective methods; Identify and understand the operational concepts of projection and distress; Identify

II - os docentes efetivos, com regime de trabalho de 20 (vinte) horas semanais, terão sua carga horária alocada, preferencialmente, para ministrar aulas, sendo o mínimo de 8 (oito)

Os testes de desequilíbrio de resistência DC dentro de um par e de desequilíbrio de resistência DC entre pares se tornarão uma preocupação ainda maior à medida que mais

3 O presente artigo tem como objetivo expor as melhorias nas praticas e ferramentas de recrutamento e seleção, visando explorar o capital intelectual para

15, estão representados os teores médios de safrol contido em óleo essencial obtido, no decorrer do progresso de extração, da biomassa aérea de pimenta longa procedente de cultivos

As técnicas são baseadas em descontinuidade: detecção de pontos isolados, detecção de linhas e detecção de bordas, e similaridade: limiares (Thresholding), crescimento de

Foram incluídos no estudo os portadores de cirrose hepática e carcinoma hepatocelular diagnosticado pelos critérios da EASL ( European Association for the Study of the Liver ). Após