Universidade de Trás-os-Montes e Alto Douro. Visualização de dados sensoriais em aplicações de Realidade Aumentada

Tamanho: px
Começar a partir da página:

Download "Universidade de Trás-os-Montes e Alto Douro. Visualização de dados sensoriais em aplicações de Realidade Aumentada"

Transcrição

1 Universidade de Trás-os-Montes e Alto Douro Visualização de dados sensoriais em aplicações de Realidade Aumentada Dissertação de Mestrado em Comunicação e Multimédia Por Nuno Filipe Frutuoso Ribeiro Orientador: Doutor Luís Gonzaga Mendes Magalhães Co-orientador: Doutor Emanuel Soares Peres Correia Vila Real, 2013

2

3 Universidade de Trás-os-Montes e Alto Douro Visualização de dados sensoriais em aplicações de Realidade Aumentada Dissertação de Mestrado em Comunicação e Multimédia Por Nuno Filipe Frutuoso Ribeiro Orientador: Doutor Luís Gonzaga Mendes Magalhães Co-orientador: Doutor Emanuel Soares Peres Correia Vila Real, 2013

4

5 Orientação Científica: Doutor Luís Gonzaga Mendes Magalhães Professor Auxiliar com Agregação do Departamento de Engenharias da Escola de Ciências e Tecnologia Universidade de Trás-os-Montes e Alto Douro Doutor Emanuel Soares Peres Correia Professor Auxiliar do Departamento de Engenharias da Escola de Ciências e Tecnologia Universidade de Trás-os-Montes e Alto Douro i

6 ii

7 Problemas não são obstáculos, mas oportunidades ímpares de superação e evolução Maurício Rodrigues de Morais À minha família, amigos e colegas iii

8 iv

9 RESUMO O dia-a-dia é afetado pela constante evolução tecnológica. Uma tecnologia que tem vindo a ganhar destaque explora a interatividade em tempo real, com a criação de sistemas que possibilitam a substituição de grande parte ou até mesmo toda a experiência do utilizador no espaço físico. Esta tecnologia, denominada Realidade Virtual (RV), deu origem à Realidade Aumentada (RA) que, ao invés da RV, não procura substituir a totalidade do mundo real mas sim completá-lo, sobrepondo-lhe objetos virtuais. A motivação desta dissertação surge da perceção da inexistência de um sistema que interligue RA, dispositivos móveis e sistemas de aquisição de dados sensoriais e, visto esta ser uma área pouco explorada, entende-se ser um trabalho que bem explorado pode originar um sistema com bastante interesse e utilidade para o utilizador. Desta forma, o objetivo deste trabalho é a criação de um sistema que interligue estas três tecnologias: RA, dispositivos móveis e sistemas de aquisição de dados sensoriais. Neste trabalho fez-se o planeamento de um sistema de visualização de dados sensoriais em aplicações de RA para dispositivos móveis, composto por três componentes: contextualização sensorial, gestão de dados sensoriais e visualização de modelos virtuais contextualizados. Estes componentes estão responsáveis, respetivamente, pela aquisição de dados sensoriais de contexto, gestão dos dados adquiridos e pela visualização dos mesmos em modelos virtuais apresentados na aplicação executada no dispositivo móvel, influenciando ou condicionando o rendering desses modelos virtuais. Depois do planeamento do sistema, foi concebido e desenvolvido um sistema com as características já referidas e este foi testado num caso de uso, através da implementação de um protótipo de uma sala e da utilização de dois parâmetros sensoriais: intensidade de iluminação e temperatura. Contudo, o componente de contextualização sensorial foi simulado, tendo sido criado uma plataforma web que simula as aquisições dos dados através de botões, ao invés da sua aquisição no espaço físico. Após a sua conceção, os resultados obtidos foram os pretendidos: influenciar ou condicionar a visualização de modelos virtuais baseados nos valores sensoriais de contexto utilizados, sendo possível alterar a iluminação de um candeeiro presente no modelo virtual com base no valor atual da iluminação simulada e da alteração das v

10 texturas desse modelo virtual de acordo com a temperatura atual, sendo utilizados cinco intervalos de temperatura: muito frio, frio, normal, quente e muito quente, aos quais estão associadas as cores azul-escuro, azul, verde, laranja e vermelho, respetivamente. Desta forma, após a conclusão deste caso de estudo, mostrou-se que é possível condicionar a visualização de um determinado modelo virtual através da utilização de parâmetros de entrada sensorial, relativos ao contexto real acerca do local onde de desenvolve a visualização. Palavras-chave Realidade Aumentada, Realidade Virtual, Vuforia, Android, Single Board Computer, Unity3D, aquisição de dados sensoriais vi

11 ABSTRACT The day-to-day life is affected by constant technological evolution. A technology that has gained prominence explores interactivity in real time, with the creation of systems that allow the replacement of most or even the whole user experience in physical space. This technology, named Virtual Reality (VR), gave origin to Augmented Reality (AR) that unlike the VR, doesn t seek to replace the real world entirely but to supplement it, overlapping it with virtual objects. The motivation of this dissertation comes from the perception of the lack of a system interlinking AR, mobile devices and sensory data acquisitions systems, and since this is an area underexplored, is meant to be a work that might originate a system with great interest and utility to the user. This way, the objective of this work is the creation of a system that interconnects these three technologies: AR, mobile devices and sensory data acquisition systems. In this work was made the planning of a sensory data visualization system in AR applications to mobile devices, composed of three components: sensory contextualization, sensory data management and visualization of sensory virtual contextualized models. These components are responsible, respectively, for the acquisition of sensory data context, acquired data management and their visualization acquired in virtual models presented in the application running on the mobile device, influencing or conditioning the rendering these virtual models. After the planning of the system, was designed and developed a system with the characteristics mentioned above and it was tested in a case of use, through the implementation of a prototype of a room and the use of two sensory parameters: illumination intensity and temperature. However, the sensory contextualization component was simulated, having been created a web platform that simulates the acquisition of data via buttons instead of purchase in physical space. After its design, the desired results were obtained: influence or condition the visualization of virtual models based on the sensory context values used, being able to change the lighting of a lamp present in the virtual model based on the current value of vii

12 simulated lighting and change of textures of this virtual model according to the current temperature, being used five temperature ranges: very cold, cold, normal and hot, which are associated with the colors dark blue, blue, green, orange and red, respectively. Therefore, after completing this case study, it was shown that it is possible to condition the viewing of a particular virtual model through the use of sensory input parameters relative to the real context about the location where is developed the visualization. Keywords Augmented Reality, Virtual Reality, Vuforia, Android, Single Board Computer, Unity3D, acquisition of sensory data viii

13 Agradecimentos A realização desta dissertação apenas foi possível graças ao auxílio e apoio prestado por diversas pessoas. Gostava de aqui deixar os meus sinceros agradecimentos a todas elas porque direta ou indiretamente, contribuíram para a conclusão deste trabalho. A todas as pessoas que me motivaram, que me ajudaram a ultrapassar todas as dificuldades encontradas ao longo deste percurso, que me incentivaram a concluir mais esta importante etapa da minha vida. Agradeço então: À UTAD, a mui nobre academia que me acolheu ao longo de cinco anos e me disponibilizou todas as condições para a minha formação académica, especialmente durante o último ano. Aos meus orientadores, Professores Luís Magalhães e Emanuel Peres, pela excelente orientação desde o início, pelo empenho e disponibilidade que sempre demonstraram, pela paciência, dedicação, simpatia e rigor. Sem eles não seria possível a conclusão desta dissertação. À minha família, pais e irmã, que sempre me apoiaram nos momentos mais difíceis e demonstraram imensa compreensão. Às avós, padrinhos, tios, primos e afilhada, pelo espírito de união que nos envolve. À família Meo House, Nuno Severino, Victor Martins, José Rego, Daniel Coelho, Nádia Pimenta, Miguel Pereira, Tiago Rodrigues, Susana Lavrador, Samuel Neto e Margarida Sousa, por todos os momentos inesquecíveis ao longo de cinco anos e que levo na bagagem para toda a vida. À família académica, Liliana Couto, Vítor Santos, Sara Faria, Marisa Ferreira, Filipa Simão, Rita Mota, Sandra Matos, Cláudia Vieira, Mariana Santos, Martinha Sousa e Isabel Lima, que enriqueceram a minha vida académica. Às pessoas de sempre, da Terrinha, com as quais preservo uma amizade inabalável, Tânia Monteiro, André Sousa, Liliana Monteiro, Jorge Lima, Diana Saraiva, Elísia Lopes, Nuno Pinto e Gabriela Moreira. ix

14 Aos meus amigos e futuros Doutores Telmo Adão, Miguel Melo e Martinho Gonçalves, pela disponibilidade que sempre demonstraram quando as dúvidas tomavam conta de mim. Aos amigos de Vila Real, que de uma ou outra forma interagiram comigo e marcaram o meu percurso académico. De entre outros, um especial agradecimento à Andreia Matos, Milene Esteves, Liliana Lei, Alexandra Rodrigues, Davide Borges, Lopo Rego, Pedro Bessa, Ricardo Rodrigues, Flávia Castro, Célia Ribeiro e Susana Sério. Ao meu patrão, Tiago Costa, pela simpatia e compreensão e aos meus colegas da AGE+, um muito obrigado por me acolherem e por todo o profissionalismo e espírito de aprendizagem que me permitem disfrutar. Aos meus colegas do PIEJ: Projeto de Inovação e Empreendedorismo da Juventude, que comigo voluntariamente lutam para transformar o concelho de Marco de Canaveses. Por fim, a todos aqueles que direta ou indiretamente permitiram que esta dissertação fosse um sucesso. A todos, um muito obrigado do fundo do coração! Nuno Ribeiro, UTAD, Vila Real 18 Dezembro de 2013 x

15 Índice RESUMO... V ABSTRACT... VII AGRADECIMENTOS... IX ÍNDICE DE TABELAS... XIII ÍNDICE DE FIGURAS... XV GLOSSÁRIO, ACRÓNIMOS E ABREVIATURAS... XVII 1- INTRODUÇÃO ESTADO DA ARTE REALIDADE AUMENTADA CONCEITO DE REALIDADE VIRTUAL CONCEITO DE REALIDADE AUMENTADA APLICAÇÕES DA RA E DA RV FERRAMENTAS DE RA FERRAMENTAS DE RA PARA DISPOSITIVOS MÓVEIS APLICAÇÕES DE RA PARA DISPOSITIVOS MÓVEIS UNITY3D HYPERTEXT MARKUP LANGUAGE INTRODUÇÃO E HISTÓRIA DO HTML A NOVA VERSÃO: HTML ANDROID INTRODUÇÃO E ESTATÍSTICAS ARQUITETURA DESENVOLVIMENTO EM ANDROID COMPUTAÇÃO FÍSICA INTRODUÇÃO À COMPUTAÇÃO FÍSICA DISPOSITIVOS DE AQUISIÇÃO DE DADOS SENSORIAIS GRANDEZAS A MEDIR NA MODELAÇÃO DE AMBIENTES VIRTUAIS TÉCNICAS DE LOCALIZAÇÃO INDOOR E DETEÇÃO DE PRESENÇA APLICAÇÕES PARA O CASO DE ESTUDO: AS IMOBILIÁRIAS APLICAÇÕES WEB PARA IMOBILIÁRIAS APLICAÇÕES DE RA PARA DISPOSITIVOS MÓVEIS 61 xi

16 3- SISTEMA DE RA COM CONTEXTUALIZAÇÃO SENSORIAL ARQUITETURA DO SISTEMA CONTEXTUALIZAÇÃO SENSORIAL GESTÃO DE DADOS SENSORIAIS VISUALIZAÇÃO DE MODELOS VIRTUAIS CONTEXTUALIZADOS PROPOSTA DE LAYOUT PROTÓTIPO CASOS DE USO BLOCO FUNCIONAL GESTÃO DE DADOS SENSORIAIS BLOCO FUNCIONAL CONTEXTUALIZAÇÃO SENSORIAL BLOCO FUNCIONAL VISUALIZAÇÃO DE MODELOS VIRTUAIS CONTEXTUALIZADOS BASE DE DADOS DISPOSITIVOS MÓVEIS UTILIZADOS NA CONSTRUÇÃO DO PROTÓTIPO 87 4 CASO DE ESTUDO RESULTADOS E CONCLUSÕES REFERÊNCIAS BIBLIOGRÁFICAS xii

17 Índice de tabelas Tabela 1: Condições ideais para o conforto do Homem. Adaptado de (Labour, 2007) Tabela 2: Exemplo de aplicação de textura a um objeto do Modelo Virtual Tabela 3: Exemplificação do código para acionar o objeto "candeeiro" Tabela 4: Cores associadas às texturas dos níveis de temperatura Tabela 5: Implementação do Split dos diferentes níveis de temperatura no Unity3D Tabela 6: Implementação da propriedade GUI.Box, exibindo informação sensorial Tabela 7: Criação de um botão nos scripts do Unity3D xiii

18 xiv

19 Índice de figuras Figura 1: Realidade Virtual não imersiva (à esquerda) e imersiva (à direita) (Tori, R., et al 2006) Figura 2: Realidade mista (Adaptado de Milgram and Kishino, 1994) Figura 3: Captura em tempo real dos batimentos cardíacos (Bucioli et al., 2007) Figura 4: Animação do coração (Bucioli et al., 2007) Figura 5: Visualização do modelo sobreposto no paciente (Lab & Hospital, 1999) Figura 6: Interação do utilizador com a Wii através do Wii Remote (GameGuru, 2006).. 17 Figura 7: A marca de RA e respetivo objeto do EyePet (Fahey, 2010) Figura 8: Diagrama de funcionamento do ARToolKit (Adaptado de (Sinclair, 2001)) Figura 9: Diagrama de Fluxo de Dados do SDK Vuforia num Ambiente de Aplicação (Qualcomm Technologies, 2013b) Figura 10: Visão geral do processo de desenvolvimento de aplicações na plataforma Vuforia (Qualcomm Technologies, 2013a) Figura 11: Geo Layer do Jardim Botânico da UTAD na aplicação Layar, que permite interagir com 18 pontos de interesse Figura 12: Visão geral do Ingress (Bit, 2013) Figura 13: O protocolo HTTP, responsável pela comunicação entre o browser do utilizador e o servidor web Figura 14: Menu principal (esquerda) e aplicação Google Play do sistema operativo Android (direita) Figura 15: Top 8 de sistemas operativos móveis utilizados entre Setembro de 2012 e Setembro de Figura obtida de (Stats, 2013) Figura 16: Arquitetura do Google Android (Google, 2012b) Figura 17: Modelo B do Raspberry Pi Figura 18: Visão geral dos componentes que compõem o Raspberry Pi. Figura adaptada de (Pi, 2011) Figura 19: Arduino Mega. Imagem adaptada de (Arduino, 2012a) Figura 20: Interruptores fotoelétricos (à esquerda), detetor de movimento (centro) e interruptor magnético (à esquerda). Figura adaptada de (O'Sullivan & Igoe, 2004) Figura 21: Trilateração utilizando três pontos de ancoragem (Sanchez et al., 2012) Figura 22: Aplicação Vodafone Praia permite escolher uma praia de Portugal e visualizar dados sensoriais em tempo real ou baseado no histórico Figura 23: Estimativas sensoriais para a Praia de Espinho, na aplicação BeachCam Figura 24: Arquitetura da aplicação para visualização de dados sensoriais em aplicações de realidade aumentada Figura 25: Fluxo do componente de contextualização sensorial Figura 26: Bloco de operação do Webservice Figura 27: Fluxo de dados do bloco de operação Dispositivo Móvel Figura 28: Divisão da interface da aplicação Figura 29: Casos de uso da aplicação concebida Figura 30: Visão geral do simulador de dados sensoriais Figura 31: Esquema do processo de desenvolvimento no Unity3D Figura 32: Exemplo da construção de um pedido ao Webservice Figura 33: Diagrama Entidade-Relacionamento da base de dados do protótipo xv

20 Figura 34: Dispositivos móveis utilizados durante a construção do protótipo Figura 35: Mensagem de erro, apresentada no dispositivo móvel quando não é possível comunicar com o Webservice Figura 36: Interface da aplicação concebida Figura 37: Marca de Realidade Aumentada Stones, disponibilizada pela Vuforia Figura 38: Rendering do Modelo Virtual Figura 39: Captura da marca através de diferentes ângulos permite visualizar o modelo virtual de outras perspetivas Figura 40: Rendering do modelo virtual, com o candeeiro ligado com intensidade Figura 41: Rendering do modelo virtual, com o candeeiro ligado com intensidade Figura 42: Visualização do modelo virtual nos cinco níveis de temperatura Figura 43: Rendering do modelo virtual com os parâmetros de temperatura e iluminação ligados em simultâneo Figura 44: Apresentação da legenda dos níveis de temperatura Figura 45: Interface do dispositivo móvel com o parâmetro da temperatura desativado pelo administrador xvi

21 Glossário, acrónimos e abreviaturas Lista de acrónimos Sigla Expansão.NET.NET Framework 2G Rede de 2ª geração 3D Imagem a três dimensões 3G Rede de 3ª geração 4G Rede de 4ª geração ADT Android Development Tools AJAX Asynchronous Javascript and XML API Application Programming Interface APK (.APK) Android Application Package file ARM Advanced RISC Machine AS ActionScript AS3 ActionScript, versão 3 AVI Audio Video Interleave BD Base de dados BMP Windows Bitmap CSS Cascading Style Sheets CSS3 Cascading Style Sheets, versão 3 DMS Degree Minute Second DOF Degrees of Freedom FTP File Transfer Protocol g Grama Gb Gigabyte GIF Graphics Interchange Format GPS Global Positioning System GPU Graphics Processing Unit GWG Geolocation Working Group HD High-definition video HDMI High-Definition Multimedia Interface HMD Head-Mounted Display HTC High Tech Computer Corporation HTML HyperText Markup Language HTTP Hypertext Transfer Protocol IDE Integrated Development Environment IP Internet Protocol JDK Java Development Kit JPEG Joint Photographic Experts Group JS JavaScript m/s Metros por segundo m2 Metros quadrados Mac Macintosh MAME Multiple Arcade Machine Emulator MB Megabyte MHz Mega-hertz MIDI Musical Instrument Digital Interface xvii

22 MP3 MPEG Layer 3 MP4 MPEG Layer 4 MySQL My Structured Query Language NTFS New Technology File System ºC Graus Celsius OHA Open Handset Alliance OOP Object-oriented programming OpenGL Open Graphics Library OS Operative System PHP PHP:Hypertext Preprocessor Anteriormente Personal Home Page PNG Portable Network Graphics QR-Code Quick Response Code RA Realidade Aumentada RAM Random Access Memory RCA Radio Corporation of America RF Radio frequency, Radiofrequência RFID Radio-Frequency IDentification RM Realidade Mista RV Realidade Virtual SBC Single Board Computer SDK Software Development Kit SGBD Sistema de Gestão de Base de Dados SGML Standard Generalized Markup Language SO Sistema Operativo SQL Structured Query Language SVG Scalable Vector Graphics UARTs Universal Asynchronous Receiver/Transmitter URI Uniform Resource Identifier USB Universal Serial Bus UTAD Universidade de Trás-os-Montes e Alto Douro UV Ultravioleta V Volts VNC Virtual Network Computing VRML Virtual Reality Modeling Language W3C World Wide Web Consortium WHATWG Web Hypertext Application Technology Working Group WWW World Wide Web X3D Extensible 3D XHTML extensible Hypertext Markup Language XML extensible Markup Language xviii

23 Lista de abreviaturas Abreviatura e.g. et al. etc. i.e. Significado(s) por exemplo e outros (autores) etecetera, outros Isto é, por conseguinte xix

24 xx

25 1- Introdução Neste capítulo serão abordados os principais conceitos tecnológicos em que se baseou esta dissertação, assim como a motivação deste trabalho e os seus respetivos objetivos. Por fim, será explicada a organização da dissertação. Há uma tecnologia que tem vindo a evoluir ao longo dos últimos anos, que visa a interatividade em tempo real, com a criação de sistemas que possibilitam a substituição de grande parte ou até mesmo toda a experiência do utilizador no mundo físico com materiais tridimensionais, como gráficos e som (Feiner, Macintyre, & Seligmann, 1993). Esta tecnologia, denominada RV, apesar de ser vista como algo inovador, na verdade surgiu em 1960, quando Ivan Sutherland construiu o Sketchpad, o primeiro sistema de computação gráfica, passando de seguida a trabalhar no Ultimate Display (Packer & Jordan, 2002), o primeiro capacete de RV, apresentado no final dessa década e que ainda hoje é a base das pesquisas dentro deste tema. A RV pode ser definida como um ambiente tridimensional gerado por computador que possibilita ao utilizador navegar e interagir, em tempo real, com este ambiente, recorrendo a dispositivos multissensoriais, como luvas, óculos ou capacetes de RV, aumentando desta forma a sensibilidade dos sentidos do utilizador, sendo que se pode classificar a RV em função da presença do utilizador no mundo real, sendo considerada imersiva quando o utilizador está completamente imerso no ambiente virtual e não imersiva quando o utilizador tem noção do espaço que o rodeia (Tori, Kirner, & Siscoutto, 2006). Milgram et al engloba RA como uma parte da RV (Milgram, Takemura, Utsumi, & Kishin, 1994). Apesar de parecerem a mesma coisa e estarem interligadas, são duas coisas distintas. Enquanto a RV pretende substituir o mundo real, a RA procura apenas aumentá-lo, ou seja, acrescentar-lhe elementos virtuais, criando uma mistura dos dois em tempo real (R. T. Azuma, 1997). Quando comparados, a RA requer menos aparato tecnológico que a RV, sendo apenas necessária uma câmara de vídeo que capture o mundo real, integrando nessa captura os elementos virtuais em tempo real. Milgram criou uma relação entre os ambientes virtuais e real, à qual chamou de Virtuality Continuum, que coloca o ambiente completamente virtual e o completamente real como 1

26 extremos e, a tudo o que se encontra entre estes dois extremos, chama Realidade Mista (Milgram et al., 1994). O dia-a-dia é afetado pela constante evolução tecnológica. Hoje, logo pela manhã, sente-se a necessidade de verificar a caixa de , ver as principais notícias ou até mesmo aceder às redes sociais. Com o aparecimento dos dispositivos móveis, estas tarefas tornaram-se mais simples e deixaram de estar limitadas fisicamente, sendo o acesso possível a partir de qualquer lugar. O mundo dos dispositivos móveis ficou marcado quando, em 2007, a Apple lançou o iphone: um smartphone completamente táctil e que se tornou um símbolo de luxo para a população (Hall & Anderson, 2009). Contudo, no decorrer desse mesmo ano, a Google anunciou um sistema operativo open source que prometia revolucionar o mercado dos smartphones: o Android. Andy Rubin, criador do Android e diretor das plataformas móveis da Google, afirmou que não deve haver nada que os utilizadores possam fazer num computador que não seja possível no seu dispositivo móvel (BBC, 2008). Segundo a Google, existem atualmente centenas de milhões de dispositivos com este sistema operativo (SO) ativos, espalhados por mais de 190 países. Estes números não param de aumentar, sendo diariamente ativos milhões de novos dispositivos (Google, 2012a). O Android dispõe de uma loja de aplicações gratuitas e/ou pagas, denominada Google Play, que possibilita que os utilizadores partilhem as suas próprias aplicações com o resto desta comunidade. Atualmente já é possível conceber aplicações de RA para dispositivos móveis com alguma facilidade, existindo uma panóplia de ferramentas que nos possibilitam criá-las, com maior ou menor detalhe, conforme as nossas necessidades. A framework Vuforia é uma ferramenta poderosa, desenvolvida pela Qualcomm Technologies, Inc, que nos permite conceber aplicações para dispositivos móveis com o SO Android ou ios. Um grupo de investigadores afirma que esta framework utiliza o dispositivo móvel como um portal para um mundo aumentado onde a realidade e a virtualidade parecem coexistir (Balint, Kiss, Magyari, & Simon, 2012). Enquanto a maioria das ferramentas de RA se limita a marcas com limites negros e uma figura geométrica simples, o Vuforia possibilita a utilização de marcas naturais não aparentes (markerless), ou seja, possibilita que qualquer imagem ou objeto possa ser a nossa marca, como por exemplo uma fotografia, uma caixa, um rótulo, entre outros, desde que respeitem determinadas regras impostas pelo algoritmo de deteção da plataforma (Forte, Silva, & Marengoni, 2012). Contudo, existem ferramentas que requerem menos conhecimentos de 2

27 programação disponibilizando, na maioria dos casos, interfaces gráficas que facilitam a conceção de aplicações de realidade aumentada. A Layar é uma ferramenta que utiliza o recetor de Global Positioning System (GPS) do dispositivo para detetar e posteriormente sobrepor informações virtuais à imagem capturada pela câmara do dispositivo móvel em tempo real, sendo que estas informações não são mais que pontos de interesse para o utilizador, como restaurantes, espaços de diversão, culturais, transportes públicos, entre outros. Para Scott, esta ferramenta é bastante útil para quem está numa cidade que não conhece, fornecendo-lhe dicas de locais a visitar, podendo ainda o utilizador descarregar novas Geo Layers, desenvolvidas por qualquer pessoa, sem necessidade de utilização de código (Scott, 2010). Outra ferramenta semelhante à Layar é a Wikitude que, além das funcionalidades já referidas, possibilita também a visualização de conteúdos publicados perto do utilizador, como por exemplo tweets do Twitter, artigos da Wikipedia, vídeos do Youtube e Flickr. Além disso, disponibiliza também um sistema de jogos em realidade aumentada, entre a câmara do dispositivo e o mundo virtual. É assim notório que a RA está cada vez mais presente nos dispositivos móveis. Existem diversas aplicações que utilizam este conceito em prol de entreter ou até mesmo orientar o utilizador, aumentando desta forma a popularidade deste tipo de aplicações (Fröhlich, Oulasvirta, Baldauf, & Nurminen, 2011). A Google possui um jogo multiplayer que explora as potencialidades da RA, chamado Ingress que, apesar de ainda se encontrar em fase beta, possui já uma grande legião de fãs. Este jogo tem como enredo a luta pelo controlo das mentes de todos os habitantes deste planeta e utiliza o mundo real como cenário. Proporcionando uma nova visão do ambiente urbano, o jogador percorre o mundo à procura de energia, que lhe possibilitará posteriormente aceder a portais. Estes portais, virtualmente associados a objetos públicos, estátuas e monumentos ou até mesmo peças de museus, são controlados por uma das duas equipas que o utilizador pode escolher quando inicia o jogo: os iluminados (The Enlightened) e a resistência (The Resistance), que, em equipa, procuram pela sua cidade vestígios da equipa adversária, combatendo-a com o auxílio do seu smartphones e das armas virtuais disponibilizadas pela aplicação. Um outro jogo que combina o mundo real com a virtualidade chama-se X-Rift. Neste jogo, são capturadas frames de vídeo através da câmara do dispositivo móvel e, com base em coordenadas GPS, são adicionados elementos virtuais que o utilizador deverá destruir, como monstros e outros obstáculos. Mas a RA nos dispositivos móveis não se limita aos jogos, mas também a aplicações 3

28 que facilitam ou enriquecem as atividades do utilizador. A aplicação Word Lens Translator utiliza também a câmara do dispositivo móvel para, em tempo real, detetar palavras e frases em inglês e automaticamente fazer a tradução para um dos cinco idiomas disponíveis, entre os quais o português. Por outro lado, a Augment - 3D Augmented Reality utiliza as potencialidades do smartphone para fazer o rendering de objetos virtuais animados no mundo virtual, sendo possível posicioná-los em qualquer parte do ecrã, sendo esta aplicação bastante útil para, por exemplo, simular como fica um móvel numa sala de uma casa. Contudo, a RA também pode ser uma mais-valia relativamente à segurança rodoviária. ionroad Augmented Driving é uma aplicação que exibe informações relativamente à circulação automóvel do utilizador. O dispositivo móvel é estrategicamente colocado na parte da frente do veículo e é calculada a velocidade atual a que este circula e posteriormente determinado o tempo de distância para o veículo que se encontra à sua frente, alertando o utilizador para aumentar a distância, caso tal seja necessário, de forma a circular de forma mais segura. Apesar de todas as inovações que a RA nos proporcionou, a evolução dos sistemas informáticos não se ficaram por aqui, tendo surgido novos equipamentos para aumentar a experiência disponibilizada ao utilizador. O Sullivan e Igoe definem computação física como a interação entre o mundo físico e o mundo do computador (O'Sullivan & Igoe, 2004). Esta interação procura ser o mais invisível possível, criando um ambiente pervasivo. A ideia de computação pervasiva é transformar um ambiente num ambiente autónomo, capaz de obter informações do meio à sua volta e utilizá-las para controlar, configurar e ajustar uma aplicação, de forma completamente invisível e impercetível para o utilizador (Araujo, 2003). Atualmente existem já uma grande quantidade de casas que utilizam esta tecnologia, denominadas casas inteligentes, que utilizam a disseminação de sensores em larga escala para a perceção das atividades diárias dos seus habitantes, como por exemplo sensores de posicionamento ou até mesmo sensores nas cadeiras que detetam quando uma pessoa se senta. Desta forma, a casa consegue reagir à presença do utilizador, de acordo com as suas rotinas, sabendo quando tem de fazer o café, que temperaturas têm de ter as diferentes divisões da habitação ou até mesmo encomendar automaticamente artigos em falta no frigorífico. Um outro sistema pervasivo integra sensores no vestuário que, entre outras funcionalidades, monitorizam os sinais vitais e são capazes de se adaptar à temperatura do corpo da pessoa. Existem imensas ferramentas que possibilitam a criação de sistemas 4

29 pervasivo. Apesar de serem sistemas bastante caros, têm surgido alguns dispositivos, denominados Single Board Computer (SBC), que possibilitam a aquisição de dados sensoriais no espaço físico. Dois exemplos de SBC são o Raspberry Pi e o Arduino, dois equipamentos do tamanho de um cartão de crédito com elevadas capacidades de processamento, que permitem a acoplação de sensores. Além de muitas outras funcionalidades, estes SBC são capazes de sentir o ambiente através de sensores e comunicar as informações recolhidas utilizando ligações sem fios (Barroca et al., 2013). Um exemplo de dados sensoriais que estes dispositivos podem captar são a temperatura, humidade, iluminação e índices ultravioleta, sendo que podem posteriormente ser utilizados para auxiliar na luta contra problemas sociais, tais como determinar os índices de poluição, medir os níveis de radioatividade, analisar o tráfego em tempo real, ruído, humidade e temperatura (Mendez, Labrador, & Ramachandran, 2013). A motivação desta dissertação surge quando analisamos estas três tecnologias, com um elevado potencial e se constata que ainda estão pouco exploradas, quando interligadas. Entende-se que um sistema de RA para dispositivos móveis, que possibilite a aquisição e incorporação de dados sensoriais, poderá tornar-se numa mais-valia importante para os utilizadores. Desta forma, o objetivo deste trabalho é a criação de um sistema que interligue estas três tecnologias: RA, dispositivos móveis e sistemas de aquisição de dados sensoriais. Em primeiro lugar, pretende-se desenvolver um sistema de aquisição de dados sensoriais e registar alguns parâmetros, que serão posteriormente armazenados numa base de dados (BD), recorrendo a webservices. Depois disso, ir-se-á conceber uma aplicação de RA para dispositivos móveis onde seja possível aceder aos dados recolhidos e utilizá-los para alterar propriedades em modelos virtuais, fazendo a simulação dos parâmetros sensoriais a que correspondem. Por fim, existirá uma área de administração, onde será possível fazer a gestão dos parâmetros que podem ser utilizados e também para visualização de históricos dos dados sensoriais adquiridos. Em Portugal existem, pelo menos, dois sistemas deste género que utilizam o contexto das praias e costa marítima portuguesa (Vodafone Praia em Direto e Moche BeachCam), fazendo a aquisição de diversos parâmetros sensoriais, como a temperatura do ar, temperatura da água, velocidade e direção do vento, entre outros, e as disponibilizarem aos seus utilizadores, juntamente com dados estatísticos para determinados períodos de tempo. Considera-se que estas três tecnologias podem ser exploradas noutras áreas, de forma a conceber mais soluções que complementem a vida dos utilizadores. 5

30 Para que este trabalho seja desenvolvido com sucesso, foram estabelecidas algumas metas: Revisão do estado da arte relativo às tecnologias e ferramentas disponíveis para a criação de sistemas de RA para dispositivos móveis, assim como dos dispositivos de aquisição de dados sensoriais; Estudo de aplicações de RA e de aquisição de dados sensoriais já existentes para dispositivos móveis; Conceber e desenvolver um sistema e implementar um protótipo que permita ao utilizador visualizar um modelo virtual, associado a uma marca de RA e, com base em valores sensoriais, altera-lo dinamicamente, simulando características sensoriais; Realização de testes para avaliar o funcionamento do protótipo desenvolvido. De forma a demonstrar o funcionamento deste sistema, será criado um caso de estudos, implementando o protótipo no contexto imobiliário. Após a pesquisa de aplicações de RA para imobiliárias, constatou-se que é uma área praticamente inexplorada e que, apesar de haverem algumas aplicações de RA, as mesmas não estão disponíveis em Portugal. É o caso da HomeSpotter (Apps, 2012), uma aplicação para ios que utiliza a câmara e o recetor GPS do dispositivo para, com base na sua localização, sobrepor às imagens capturadas, informações sobre casas para venda ou aluguer, assim como um radar que mostra a distância para outras casas que se encontrem nesta situação. Esta mesma empresa, possui também uma aplicação que usa QR-Code que, após serem analisados, redirecionam para a página do respetivo imóvel na sua aplicação web. A ARHouse é outra aplicação de RA para ios, que permite às agências imobiliárias simularem um modelo virtual tridimensional de um imóvel diretamente em cima da secretária, descartando os antigos e complicados projetos em papel. Além disso, também permite uma configuração do que é visualizado, podendo-se escolher entre a vista interior ou exterior do imóvel, assim como ter uma vista panorâmica de qualquer um deles. Quando falamos de aplicações RA de imobiliárias em Portugal, não encontramos nenhuma específica, sendo que as únicas que existem utilizam os browsers de RA Layar e Wikitude, criando packs de informação que são adicionados às restantes destas aplicações. Duas plataformas de imobiliárias bastante conhecidas em Portugal são a Casa Sapo e o Imovirtual, que possuem versões para 6

31 dispositivos Android e ios. Contudo, estas aplicações normalmente não passam de uma otimização da página web, mais limpa e com menos detalhe, de forma a facilitar a sua utilização. Após este estudo, constatou-se que não existe um sistema que junte estas três tecnologias e permita a alteração de um modelo virtual, em tempo real, através das entradas recebidas de uma rede sensorial in situ. Esta dissertação encontra-se organizada em quatro capítulos. Além deste capítulo introdutório, no capítulo 2 é feito um levantamento do estado da arte relativo às tecnologias e ferramentas existentes em relação à RA, Android, HTML5 e computação pervasiva, onde são analisados e descritos os principais conceitos de cada um destes temas, assim como as suas vantagens e desvantagens, de forma a perceber as melhores opções para a conceção, especificação e desenvolvimento do sistema pretendido neste trabalho. No capítulo 3 é planeado o sistema, assim como a especificação dos blocos funcionais que o definem. São também apresentados os detalhes da sua implementação e por fim são explicadas todas as funcionalidades do protótipo, assim como o caso de estudo em imobiliárias. No capítulo 4 são apresentadas as conclusões deste trabalho, bem como a justificação da utilização ou não utilização de algumas tecnologias estudadas e por fim algumas considerações para um trabalho futuro. Neste primeiro capítulo foi feito um breve enquadramento tecnológico do estado da arte e das ferramentas disponíveis para a conceção de um sistema de RA para dispositivos móveis interligada com dispositivos de aquisição sensorial, assim como dados alguns exemplos de cada um. Por fim, foi explicada a motivação deste trabalho, assim como estabelecidas algumas metas para o seu êxito. 7

32 8

33 2- Estado da Arte Neste capítulo é feita uma revisão bibliográfica de algumas tecnologias, de forma a perceber quais as que poderão serão utilizadas com a conceção do sistema de visualização de dados sensoriais em aplicações de realidade aumentada, em dispositivos móveis, assim como as limitações e vantagens de cada uma delas. Desta forma, neste capítulo são abordados os conceitos de RV e RA, HTML, Android e computação física Realidade Aumentada Desde primórdios que o ser humano convive com representações da realidade ou da imaginação, expressando-se através de pinturas rupestres, artes plásticas, jogos tradicionais, atividades culturais e outras expressões artísticas. Com o aparecimento do computador, estas ações ganharam outro dinamismo e originaram a multimédia, integrando sons, imagens e fotografias, textos, vídeos e animações e permitiram a criação de aplicações mais interativas. Com o avanço da tecnologia, as aplicações superaram a barreira do monitor permitindo hoje gerar ambientes tridimensionais ultra interativos com o utilizador Conceito de Realidade Virtual Apesar de parecer antagónico, a origem da Realidade Virtual (RV) não é tão recente como se imagina. Em 1960, Ivan Sutherland construiu o Sketchpad, o primeiro sistema de computação gráfica, passando logo depois a trabalhar no primeiro capacete de RV, apresentando-o no final dessa década, com o nome Ultimate Display (Packer & Jordan, 2002), sendo ainda hoje a base das pesquisas dentro deste tema. Na década de 80, Jaron Lanier utilizou pela primeira vez o termo Realidade Virtual, de forma a diferenciar os mundos virtuais por ele criados (Lanier, 1984), surgindo posteriormente diversas definições para este termo. Segundo Burdea, a RV "é um mundo sintetizado não estático, mas sim, que responde às ordens do utilizador sejam eles gestos, vozes, etc" (Burdea & Coiffet, 2003). Dito isto, retira-se o seu conceito base: interatividade em tempo real. Além disso, o termo RV é muitas vezes usado para descrever sistemas que tentam substituir grande parte ou toda a experiência do utilizador do mundo físico com materiais sintetizados em 3D, tais como gráficos e som (Feiner et al., 1993). Além 9

34 disso, esta tecnologia é um ambiente tridimensional gerado por computador que possibilita ao utilizador navegar e interagir em tempo real com esse ambiente, através de dispositivos multissensoriais, como luvas, óculos ou capacetes de RV, aumentando desta forma a sensibilidade dos sentidos do utilizador, permitindo-lhe ver, ouvir, sentir e viajar de forma mais intensa do que é possível no mundo real (Tori et al., 2006). Já Vallino afirma que a RV é uma tecnologia que engloba um amplo espectro de ideias e define-a como um ambiente tridimensional gerado por computador e interativo, onde o utilizador é imerso (Vallino, 1998). Gobbetti e Scateni afirmam que o seu objetivo é colocar o utilizador num ambiente de simulação em tempo real, imersos num mundo autónomo e sensível às suas ações (Gobbetti & Scateni, 1998). A RV pode ser classificada em função da presença do utilizador no mundo real: imersiva ou não imersiva (Tori et al., 2006). Considera-se imersiva quando o utilizador está completamente desligado do mundo real e interage com o ambiente virtual através de dispositivos multisensoriais. Estes dispositivos captam os seus movimentos e comportamentos e espoletam alterações no ambiente virtual. Já num ambiente não emersivo o utilizador está dividido entre o mundo real e o virtual, sendo necessária a utilização de, por exemplo, um monitor para ser transportado para o mundo virtual, continuando assim ter percepção do que se passa no mundo real. Na Figura 1 vê-se um exemplo de RV imersiva e não imersiva. FIGURA 1: REALIDADE VIRTUAL NÃO IMERSIVA (À ESQUERDA) E IMERSIVA (À DIREITA) (TORI, R., ET AL 2006). De acordo com as definições anteriormente dadas, o aspeto mais importante da RV é a interação que esta tecnologia possibilita, estando relacionada com a capacidade do computador detetar as ações ou movimentos do utilizador e reagir imediatamente, provocando alterações ou impulsionar eventos no ambiente virtual. A interação mais simples consiste na navegação, onde o utilizador se move no ambiente virtual 10

35 recorrendo a um dispositivo de realidade aumentada, obtendo assim visualização de novos pontos de vista do ambiente (Tori et al., 2006). Segundo os autores citados anteriormente, uma interação propriamente dita ocorre quando o utilizador explora, manipula, aciona ou altera objetos virtuais dentro do ambiente virtual. Os sistemas de RV são complexos e são capazes de suportar interações em tempo real entre vários componentes de hardware e software. No que diz respeito a hardware, a utilização de sistemas computacionais é imprescindível, já que um sistema de realidade virtual envolve dispositivos de entrada, responsáveis por captar as interações do utilizador e as transmitir ao sistema. Entre esses dispositivos, pode-se mencionar: luvas, reconhecedores de voz, teclados 3D, entre outros. Como dispositivos de saída, responsáveis por transmitir o ambiente virtual, podem-se encontrar os dispositivos óticos, acústicos e hápticos. Em relação ao software, a realidade virtual utiliza linguagens de programação, sendo as mais conhecidas o VRML (Virtual Reality Modeling Language) e o seu sucessor X3D (Extensible 3D Graphics), podendo recorrer a bibliotecas gráficas como o OpenGL, Java 3D, entre outros Conceito de Realidade Aumentada A RA e a RV podem parecer a mesma coisa, mas apesar de interligadas são coisas distintas. Enquanto a RV leva o utilizador para um ambiente tridimensional gerado por computador e interativo em tempo real, a RA pode definir-se como a integração do mundo real com elementos virtuais tridimensionais gerados com a ajuda de um computador. No entanto, este conceito é muito geral. Segundo Ronald Azuma, RA é um ambiente que envolve tanto RV como elementos do mundo real, criando uma mistura dos dois em tempo real, não se limitando à visão mas sim a todos os sentidos (R. T. Azuma, 1997). O termo Realidade Aumentada foi cunhado pelo Prof. Thomas Caudell durante uma visita à empresa Boeing, referindo-se a um dispositivo de RV que apoiava os funcionários na montagem de equipamentos eletrónicos de aviões (Ribeiro & Zorzal, 2011). 11

36 O objetivo da RA não é substituir o mundo real, mas sim aumentá-lo e acrescentar ainda mais informação disponível para o utilizador, através da sobreposição de elementos sensoriais no ambiente real e em tempo real (Obst & Tröller, 2009). Azuma afirma também que para um sistema ser considerado RA deve combinar objetos reais e virtuais num ambiente real, ser interativo e em tempo real e alinhar objetos reais e virtuais entre si (R. T. Azuma, 1997). Outro aspeto importante na definição de RA por Azuma é que ele considera que RA não se restringe às tecnologias que utilizam displays HMD (Head Mounted Display). Na RA certas aplicações têm a necessidade de ocultar objetos existentes quando novos objetos são adicionados a esse ambiente virtual. Por exemplo, ao adicionar um objeto virtual na frente de um real, esse objeto sobrepõe-se. Enquanto vários investigadores utilizam o termo Realidade Diminuída para esta característica, um grupo de investigadores prefere dizer que é um subconjunto da RA (R. Azuma et al., 2001). Uma proposta foi apresentada por Broll para classificar as técnicas de interação que podem ser utilizadas em ambientes de RA (Broll et al., 2005): Interação espacial (spatial interaction); Interação baseada em comandos (command-based interaction); Interação por controlo virtual (virtual control interaction); Interação por controlo físico (physical control interaction). A interação espacial baseia-se na manipulação das propriedades espaciais dos objetos físicos, através de interfaces táteis, onde o utilizador interage com o objeto físico através do real. Já a interação baseada em comandos recebe e descodifica gestos espontâneos, simbólicos ou comandos de voz do utilizador. Normalmente, estes sistemas impõem algumas restrições na composição da cena, como o fundo, a cor dos objetos a serem reconhecidos, condições de iluminação e de outras características físicas. A interação por controlo virtual permite ao utilizador interagir com o sistema através da manipulação de gráficos tridimensionais, como por exemplo um menu tridimensional. 12

37 Por fim, a interação por controlo físico recorre às ferramentas e interfaces físicas de forma a controlar não só os objetos físicos mas também os virtuais. Milgram criou uma relação entre os ambientes virtuais e reais à qual chamou Virtuality Continuum ou Contínuo de Virtualidade, que coloca como extremos o ambiente completamente virtual e o completamente real, chamando a tudo o que se encontra entre os dois extremos, Realidade Mista (RM) (Figura 2) (Milgram et al., 1994). Milgram separa Virtualidade Aumentada e RA. Enquanto o primeiro é um mundo virtual onde são adicionados objetos reais, o segundo é um mundo real onde são adicionados objetos virtuais. FIGURA 2: REALIDADE MISTA (ADAPTADO DE MILGRAM AND KISHINO, 1994). Segundo Tori, Virtualidade Aumentada pode ser definida como um detalhe da RM quando o ambiente predominante for o virtual, enriquecendo-o com elementos reais pré-capturados ou em tempo real, como objetos estáticos ou dinâmicos (e.g. mãos e pessoas), sendo estes últimos capturados através de dispositivos de captura de vídeo e reconstruídos em tempo real (Tori et al., 2006). Apesar da RV e RA partilharem algumas características, existem algumas diferenças entre elas. A primeira refere-se ao nível de imersão no sistema. Enquanto na RV o utilizador é transportado para um mundo virtual gerado por computador, onde se abstrai por completo do mundo real, na RA apenas são adicionados elementos virtuais ao mundo real, fazendo com que o utilizador não perca a noção daquilo que o rodeia mas consiga interagir com esses elementos. Desta forma é possível apontar outra diferença: o material necessário. Na RV é gerado um mundo completo que arrasta o utilizador para o seu interior. Para isto são necessários equipamentos que permitam crialo o mais interativo e fiel possível à realidade, ou seja, equipamentos que podem ser dispendiosos. Já na RA, o objetivo não é substituir o ambiente real mas sim adicionarlhe objetos virtuais, bastando um simples computador e uma webcam para essa tarefa, o que a torna uma tecnologia bastante acessível. 13

38 Outra diferença refere-se ao alinhamento entre os objetos reais e os objetos virtuais (Barreira, 2010). Para que a cena seja corretamente analisada pelo sistema de RA, os objetos virtuais precisam de estar perfeitamente posicionados em relação ao mundo real. Nos sistemas de RV este fator não tem importância, pois o cenário é todo construído artificialmente. Desde orientar um turista numa cidade desconhecida, auxiliar um piloto aéreo informando-o da rota correta, apoiar uma equipa médica ou simplesmente adicionar elementos a um vídeo capturado em tempo real, as possibilidades desta tecnologia são cada vez mais e pode ser aplicada em diversas áreas como a medicina, entretenimento e jogos, educação, comércio, forças armadas, entre outras Aplicações da RA e da RV Apesar de todos os avanços que a medicina tem diariamente, a RA tem-se mostrado um precioso auxílio ao trabalho dos profissionais desta área. Existem já alguns projetos envolvendo RA e medicina, como o ARBioMed. O ARBioMed, desenvolvido na Universidade Federal de Uberlândia, destina-se à visualização e simulação de sinais de eletrocardiogramas. Estes eletrocardiogramas podem ser simulados a partir de um batimento cardíaco fixo definido pelo utilizador, capturados em tempo real (Figura 3) a partir do sensor lógico ou baseado num eletrocardiograma real, seja através de arquivos de texto que contêm um vetor gráfico com os respetivos valores ou simplesmente a partir de uma imagem real (jpeg; bmp; png; gif.) (Bucioli, Jr., Cardoso, & Kirner, 2007). Depois de selecionado um dos métodos de entrada é simulado um coração (Figura 4) com base nos dados introduzidos, respeitando a velocidade e mostrando possíveis anomalias o mais fiel possível, visto que as taxas de amostragem dos sinais eletrocardiográficos são superiores ao número de frames por segundo que as placas gráficas conseguem reproduzir (Bucioli et al., 2007). Neste projeto destaca-se a captação e simulação dos batimentos cardíacos em tempo real, através de um sensor lógico, que envia para o sistema um bit a cada pulsação, calculando a velocidade média do coração a partir das últimas 5 amostras recebidas do sensor. 14

39 FIGURA 3: CAPTURA EM TEMPO REAL DOS BATIMENTOS CARDÍACOS (BUCIOLI ET AL., 2007). FIGURA 4: ANIMAÇÃO DO CORAÇÃO (BUCIOLI ET AL., 2007). Um outro projeto, desenvolvido em conjunto pelo Massachusetts Institute of Technology e Surgical Planning Laboratory of Brigham and Women s Hospital, pretende criar ferramentas de apoio a cirurgia guiada através de imagem. Estas ferramentas permitem aos cirurgiões visualizar, em tempo real, estruturas internas do corpo do paciente através da sobreposição automática de reconstruções 3D. Um exemplo da aplicação deste projeto é na remoção de tumores cerebrais. Para o perfeito funcionamento deste projeto, o paciente tem de passar por quatro etapas (Bucioli et al., 2007): a construção de um modelo tridimensional do cérebro e crânio do paciente através de ressonância magnética e tomografia axial computadorizada; a determinação da posição exata do paciente na mesa de cirurgia, analisando a posição do couro cabeludo usando lasers de baixa potência e câmaras de vídeo. Estes dados têm uma precisão elevada, com um erro inferior a um 1 milímetro (Lab & Hospital, 1999). Utilizando os dados obtidos no processo anterior e algoritmos de otimização, posiciona-se o modelo virtual do crânio sobre o paciente; Por fim, a 15

40 última etapa consiste na visualização do modelo sobreposto ao paciente real num ecrã presente na sala de operações, permitindo ver a estrutura interna do crânio do utilizador e desta forma uma maior precisão na deteção do tumor. A Figura 5 ilustra este processo. FIGURA 5: VISUALIZAÇÃO DO MODELO SOBREPOSTO NO PACIENTE (LAB & HOSPITAL, 1999). Na área do entretenimento existem bastantes aplicações de realidade aumentada, nomeadamente nos jogos virtuais. Cada vez mais gigantes da indústria, como por exemplo a Sony e a Nintendo, com a PlayStation e a Wii respetivamente, apostam nas tecnologias de RA para oferecer um novo conceito e mais interatividade e diversão aos seus consumidores finais. A Nintendo construiu a Wii, uma plataforma com um conceito de jogo diferente, onde pretende aliar a diversão ao exercício físico. Possui um comando sem fios, o Wii Remote, que tem incorporado um motor de vibração e um acelerómetro que é capaz de detetar movimentos em três dimensões e interage com a consola através de infravermelhos, mas é possível ligá-lo a outros dispositivos, como um computador, através da tecnologia Bluetooth (Lee, 2008). Quando o comando é detetado pela consola, o utilizador é representado no vídeo através de um avatar, que consegue controlar com os seus movimentos em tempo real (Wuang, Chiang, Su, & Wang, 2011). A Figura 6 representa a interatividade entre o utilizador e a consola em tempo real, através do wii remote. 16

41 FIGURA 6: INTERAÇÃO DO UTILIZADOR COM A WII ATRAVÉS DO WII REMOTE (GAMEGURU, 2006). Outra consola com bastante destaque e que utiliza o conceito de RA é a PlayStation 3, através do equipamento PlayStation Eye, semelhante a uma webcam tradicional mas com uma objetiva incorporada que suporta zoom duplo. A primeira definição permite a formação de imagens na parte superior do tronco. A segunda é uma grande angular que possibilita a formação de imagens de corpo inteiro (Marks, 2007). Este equipamento possuiu um microfone que suporta comunicações de voz de alta qualidade e a captura de vídeo é possível mesmo com baixa luminosidade. Um jogo que utiliza este conceito é o EyePet. Destinado a crianças, simula um animal de estimação com a qual é possível interagir em tempo real. Esta interação é possível através de gestos e de uma marca de RA impressa. Conforme a Figura 7, a PlayStation Eye analisa-a e, em tempo real e com base na orientação da marca, adiciona o objeto que lhe está associado. FIGURA 7: A MARCA DE RA E RESPETIVO OBJETO DO EYEPET (FAHEY, 2010). 17

42 Ferramentas de RA Um dos primeiros projetos de RA, o Rekimoto s 2D Matrix Code (Rekimoto, 1998), era baseado no uso de uma câmara e marcas. Estas marcas, quadradas, são limitadas por uma margem preta (Iwasaki, Nishimura, Hamada, & Kozono, 2010). Dentro desse limite encontra-se uma figura que, de forma a ser facilmente reconhecida, é desenhada através de formas geométricas, desenhos simples e/ou textos. Este conceito originou várias ferramentas para o desenvolvimento de aplicações de RA, das quais se destacam o ARToolKit (ARToolKit, 2009), o ARToolKitPlus (Wagner & Schmalstieg, 2007) e o ARTag (Fiala, 2005). O ARToolkit é um dos softwares mais utilizados para criar aplicações de RA (Romano, 2010) e foi originalmente desenvolvido em 1999 por Hirokazu Kato, do Instituto de Ciência e Tecnologia de Nara. É uma biblioteca baseada nas linguagens C e C++, suportando também objetos virtuais criados nas linguagens VRML e OpenGL (Bucioli et al., 2007), que permite o desenvolvimento de aplicações de RA através da identificação de características das marcas, que permite processar a imagem e recolher algumas informações relacionadas com a deteção, além de estimar a sua posição e orientação em relação ao ambiente, através do relacionamento das coordenadas da marca e da câmara (Ribeiro & Zorzal, 2011). Após capturada, a imagem é convertida em valores binários (preto e branco) e comparada com os símbolos existentes. Quando a imagem for reconhecida, o sistema sobrepõe-lhe o objeto virtual que lhe está associado e analisa possíveis movimentos, alterações de distância e rotações, permitindo também a utilização de ações pré-definidas através de dispositivos de entrada (e.g. teclado) (Ribeiro & Zorzal, 2011). Segundo Jong-Chih,, o ARToolkit está limitado pela associação estática entre as marcas e os modelos virtuais tridimensionais definidos para essa aplicação e propõe um sistema que, através utilização de códigos de barras unidimensionais e da ligação a uma base de dados online, permite armazenar e manipular remotamente uma maior variedade de marcas e modelos tridimensionais, aumentando assim a quantidade e variedade das mesmas (Jong-Chih, Hoang-Yang, Lin- Sen, Yi-Sheng, & Li-Chang, 2010). A Figura 8 representa as várias fases do processo do ARToolKit. 18

43 FIGURA 8: DIAGRAMA DE FUNCIONAMENTO DO ARTOOLKIT (ADAPTADO DE (SINCLAIR, 2001)). O ARToolKitPlus (Wagner & Schmalstieg, 2007) é uma biblioteca que possibilita o desenvolvimento de aplicações de RA, baseada no ARToolKit mas otimizada para dispositivos móveis. Possui algumas melhorias em relação ao ARToolKit, entre as quais o facto de utilização de aplicações computacionais com ponto fixo em vez do ponto flutuante (Barreira, 2010) que, principalmente em dispositivos móveis, requeria demasiado tempo para a operação (Wagner & Schmalstieg, 2007). O processo de captura de imagem do ARToolKitPlus é feito em 3 passos (Jia, Qi, & Zuo, 2010): os dados são capturados numa escala de cinzas, sendo que o ARToolKitPlus permite a alteração automática do limiar de iluminação conforme as condições de luz, de seguida, as marcas são detetadas e posteriormente todas elas são corrigidas de acordo com a distorção da lente. Por fim, são estimadas as posições das marcas válidas. O ARToolKitPlus apenas fornece funções para tracking das marcas, não disponibilizando funções nem para o rendering dos objetos virtuais nem para a obtenção do ambiente real. Uma outra forma de desenvolver aplicações de RA é através do ARTag. Em contraste com o ARToolKit, a deteção das marcas é feita através da técnica edge based approach, ou seja, através da deteção da proximidade às arestas (Jia et al., 2010). Este método melhora a desempenho e dispensa a necessidade de lidar com as diferentes condições de iluminação. As arestas detetadas servem de base para o processo de deteção da marca e estão ligados em segmento que, por sua vez, são agrupados em 19

44 quadriláteros e utilizados para calcular uma homografia onde o interior das marcas é representado (Hirzer, 2008). Quando se fala de aplicações de RA para integrar em páginas web, surgem as aplicações baseadas em ActionScript (AS), como o FLARToolKit, PaperVision3D, SLARToolKit e o FLARManager. O FLARToolKit é uma adaptação do ARToolKit para AS3 fornecido por Saqoosha e permite integração com outros motores de ActionScript, como o PaperVision3D (Dankov, Rzepka, & Araki, 2011). Numa breve comparação (Nee, Ong, Chryssolouris, & Mourtzis, 2012), o FLARToolKit é utilizado para desenvolver aplicações de RA baseadas na web, o FLARManager aplicações para o Adobe Flash e o SLARToolKit disponibiliza uma biblioteca para o desenvolvimento de aplicações com o Silverlight. Além destas, também o ARToolKitPlus poderia ser aqui incluído Ferramentas de RA para dispositivos móveis A visualização e processamento de vídeo, em tempo real, capturado através da câmara de dispositivos móveis, tornaram-se suficientemente eficientes para suportarem uma variedade de aplicações de RA para estes dispositivos, possibilitando o conceito de presença dupla de informações, ou seja, os aspetos do plano físico capturado pela câmara sobrepostos, simultaneamente, com as informações adicionais no ecrã do dispositivo, permitindo uma compreensão ampliada do ambiente do utilizador (Morrison et al., 2011). Desta forma, a popularidade das aplicações de RA para dispositivos móveis tem vindo a aumentar (Fröhlich et al., 2011). Para os dois principais sistemas operativos de dispositivos móveis mais utilizados no ano de 2012 (Stats, 2013), Google Android e Apple ios, existem já bastantes aplicações de RA que, utilizando todas as funcionalidades do dispositivo, conseguem complementar a informação espacial com informação virtual através da RA. De entre estas aplicações, destacam-se a Vuforia, o Layar, a Wikitude e a Aurasma. A plataforma de desenvolvimento Vuforia, desenvolvida pela Qualcomm Technologies, Inc, é uma plataforma que fornece as ferramentas necessárias, simples e poderosas para desenvolver aplicações de RA para dispositivos móveis, Android ou 20

45 ios. Este Software Development Kit (SDK), cujo diagrama de fluxo de dados é representado na Figura 9, utiliza o dispositivo móvel como um portal para um mundo aumentado onde a realidade e a virtualidade parecem coexistir (Balint et al., 2012). Com base na imagem capturada, são aplicados vários algoritmos para a deteção de targets, tendo assim uma melhor precisão para a deteção de alvos (Balint et al., 2012). Renato Lopes afirma que, ao capturar a imagem, a câmara garante que cada frame seja capturada e transmitida de forma eficiente para o tracker, sendo simultaneamente convertida para a resolução e tamanho exigidos pelo dispositivo, através do Pixel Format Converter, que efetua a conversão do formato da câmara (i.e. YUV12) para um formato adequado ao rendering em ES OpenGL (i.e. RGB565) e para o tracking (i.e. luminância) (Lopes & Cardoso, 2012). O tracker contém algorítmos de visão computacional que detetam e analisam os objetos do mundo real, nas imagens capturadas pela câmara, recorrendo a diferentes algoritmos, com o objetivo de detetar alvos e/ou marcas e avaliar possíveis botões virtuais (Ibañez & Figueras, 2013; Lopes & Cardoso, 2012). O tracker suporta vários datasets, mas apenas um pode estar ativo de cada vez. 21

46 FIGURA 9: DIAGRAMA DE FLUXO DE DADOS DO SDK VUFORIA NUM AMBIENTE DE APLICAÇÃO (QUALCOMM TECHNOLOGIES, 2013B). As marcas do Vuforia, ao contrário das marcas RA a que estamos habituados, não se limitam a uma borda negra com uma figura geométrica o mais simples possível. Ao invés disso, utiliza marcas naturais não aparentes (markerless), sendo possível usar qualquer imagem ou objeto como referência para o registo no sistema, como por exemplo produtos, caixas, rótulos, fotografias, entre outros (Forte et al., 2012). Qualquer um destes objetos pode ser uma marca de RA na plataforma Vuforia, desde que obedeçam a um determinado conjunto de regras impostas pelo algoritmo de deteção da plataforma. Estas marcas são geradas online, no sítio da Qualcomm Vuforia (Qualcomm Technologies, 2013a). O utilizador envia a imagem que pretende utilizar como marca, o sistema processa a imagem e cria um ficheiro XML e um ficheiro binário que o utilizador irá utilizar na aplicação. O SDK Vuforia fornece uma biblioteca (objeto partilhado libqcar.so no Android e biblioteca estática libqcar.a no ios) que deverá estar ligada à aplicação. A Figura 10 representa todo este processo. 22

47 FIGURA 10: VISÃO GERAL DO PROCESSO DE DESENVOLVIMENTO DE APLICAÇÕES NA PLATAFORMA VUFORIA (QUALCOMM TECHNOLOGIES, 2013A). O Vuforia possui ainda uma extensão para o Unity3D, um sistema de desenvolvimento orientado para simulação que permite a construção multiplataformas, de forma mais simples e rápida, devido ao poderoso Game Engine que disponibiliza (Ibañez & Figueras, 2013; Qualcomm Technologies, 2013a). Layar é um browser de RA que utiliza o recetor de GPS incorporado no dispositivo para mostrar o que está geograficamente próximo, exibindo informações em tempo real, sobre a imagem que está a ser capturada e permitindo interagir em tempo real com essas informações. David Meerman Scott afirma que este browser é bastante útil para quem está numa cidade que não conhece, sendo apenas necessário apontar a câmara para a rua e em tempo real surgem diversas informações, desde restaurantes, espaços de diversão, espaços culturais, estações de transportes públicos entre muitos outros (Scott, 2010). Scott define ainda o Layar como um mashup entre a câmara do dispositivo, a localização GPS e um enorme conjunto de dados. Além dos pontos de interesse padrão, é possível descarregar e adicionar novas Geo Layers desenvolvidas por qualquer pessoa, através da ferramenta disponibilizada pelos seus criadores. Um exemplo de Geo Layer é o Jardim Botânico da UTAD, exibido na Figura 11. Esta aplicação permite também interagir com materiais impressos, como revistas e jornais, 23

48 dando vida às páginas estáticas e transformando-as, por exemplo, em vídeos. Além disso, o utilizador pode partilhar as suas experiências nas redes sociais. FIGURA 11: GEO LAYER DO JARDIM BOTÂNICO DA UTAD NA APLICAÇÃO LAYAR, QUE PERMITE INTERAGIR COM 18 PONTOS DE INTERESSE. O Wikitude é um SDK que também permite o desenvolvimento de RA. Possui praticamente todas as características do Layar, mas acrescenta-lhe ainda mais funcionalidades interativas. Além da tradicional sobreposição de pontos de interesse ao vídeo capturado em tempo real, possui um mapa que permite ver conteúdos publicados perto do utilizador ou relacionados com a localização, como por exemplo tweets do Twitter, artigos da Wikipedia, vídeos do Youtube e Flickr. Entre as diversas funcionalidades, uma que se destaca é o Wikitude Drive, um sistema de navegação através do GPS e RA que sobrepõe ao vídeo capturado o trajeto e as instruções de orientação. Tracy Cozzens considera que esta é funcionalidade vantajosa para o utilizador pois permite, por exemplo, que um condutor que conduza de noite seja auxiliado através de um mapa onde é possível alterar para uma vista tridimensional apenas com um toque no ecrã (Cozzens, 2011). O Wikitude possui um sistema de jogos de RA, entre a câmara e o mundo virtual. É também possível apontar a câmara para uma quantia em dinheiro e efetuar taxas de câmbio automaticamente. Além 24

49 disto, o utilizador pode ainda criar o seu mundo no Wikitude e partilhá-lo nas redes sociais. Ao contrário das duas anteriores, a plataforma Aurasma não é baseada na utilização do GPS do dispositivo, mas sim na análise de imagem impressa. Com ela é possível dar vida a uma imagem completamente estática, presente num jornal ou revista, um quadro do museu ou um simples logótipo de um café. O seu funcionamento é muito simples. O utilizador captura uma imagem, denominadas auras, a aplicação reconhece-a e surge um vídeo, uma hiperligação para uma página web ou até mesmo uma animação tridimensional que está associada à imagem. Em Portugal, o jornal Correio da Manhã utiliza esta aplicação, difundindo o conceito e tornando mais interativa a leitura dos seus conteúdos Aplicações de RA para dispositivos móveis A RA é uma tecnologia que ganha cada vez mais visibilidade nos dispositivos móveis. Existem diversas aplicações que utilizam este conceito para entreter, orientar e auxiliar o utilizador em tarefas do dia-a-dia, tornando-se cada vez mais populares. Um novo género de aplicações móveis são os browsers de RA, como o Layar e o Aurasma, abordados anteriormente, que incorporam elementos virtuais sobre os dados adquiridos pela câmara do dispositivo (Bolter, Engberg, & MacIntyre, 2013). Além dos browsers de RA existem aplicações mais complexas, que aproveitam as capacidades que estes dispositivos fornecem, como GPS, câmaras, sensores de inclinação, ligações rápidas à internet, bússolas digitais, entre outras, para desenvolverem sistemas mais completos e avançados, como por exemplo jogos. Um exemplo destes jogos chama-se Ingress, desenvolvido pela Google e encontra-se em fase beta, o que não o impede de já possuir uma grande quantidade de jogadores. Este jogo tem como enredo a luta pelo controlo das mentes de todos os habitantes deste planeta e utiliza o mundo real como cenário. Proporcionando uma nova visão do ambiente urbano, o jogador percorre o mundo à procura de energia, que lhe possibilitará posteriormente aceder a portais. Estes portais, virtualmente associados a objetos públicos, estátuas e monumentos ou até mesmo peças de museus, são controlados por uma das duas equipas que o utilizador pode escolher quando inicia o jogo: os iluminados (The Enlightened) e a resistência (The Resistance), 25

50 que, em equipa, procuram pela sua cidade vestígios da equipa adversária, combatendo-a com o auxílio do seu smartphones e das armas virtuais disponibilizadas pela aplicação. FIGURA 12: VISÃO GERAL DO INGRESS (BIT, 2013). Outro jogo que combina o mundo real com a RA chama-se X-Rift e utiliza a câmara do dispositivo para capturar a cena real e sobrepor-lhe elementos virtuais com base nas coordenadas recebidas do recetor GPS. Estes elementos virtuais são obstáculos, como monstros, que o utilizador deve destruir, possuindo um radar que localiza os restantes inimigos. Além disso, este jogo possui modo multiplayer, onde vários jogadores podem cooperar de forma a ultrapassarem os diferentes níveis. Mas a realidade aumentada nos dispositivos móveis não se limita aos jogos, mas também a aplicações que facilitam ou enriquecem as atividades do utilizador. A aplicação Word Lens Translator utiliza a câmara do dispositivo móvel para, em tempo real, detetar textos em inglês e automaticamente substituí-los pela respetiva tradução em espanhol, francês, italiano, alemão e português, na própria imagem. Por outro lado, a Augment - 3D Augmented Reality, utiliza as potencialidades do smartphones para fazer o rendering de objetos virtuais animados no mundo virtual, sendo possível movimentá-los pelo ecrã, posicionando-os em pontos estratégicos. Esta aplicação é bastante útil para, por exemplo, simular como fica um móvel numa sala ou um prédio em construção numa determinada zona. A RA pode ser utilizada em diversas áreas e com diferentes objetivos, sendo uma mais-valia relativamente à segurança rodoviária. Existem diversas aplicações para 26

51 dispositivos móveis que permitem auxiliar o condutor nas suas viagens. ionroad Augmented Driving é uma aplicação que exibe informações relativamente à circulação do automóvel do utilizador. O dispositivo móvel é estrategicamente colocado na frente do veículo e, com o recurso a vários sensores faz a deteção de objetos que se encontrem à sua frente, calculando a velocidade do veículo em tempo real e consecutivamente a distância para os mesmos, emitindo sinais visuais e sonoros sempre que se encontram a distâncias reduzidas, alertando o utilizador para a possibilidade de colisão enquanto está a tempo de travar Unity3D O Unity3D é uma ferramenta para o desenvolvimento de jogos criado por uma companhia Dinamarquesa chamada Unity Technologies. De aprendizagem fácil e flexível, proporcionando um ciclo de desenvolvimento rápido e um sistema de eixos do Blender (Foundation, 2013) incorporado (Macedo & Rodrigues, 2011), rapidamente conseguiu tornar-se num dos Game Engines mais populares no seio dos programadores (Wenfeng & Xin, 2012). Disponível para Windows e Mac OS, uma das suas características mais fortes é permitir que o mesmo código, seja exportado para ser executado em diversas plataformas: Windows, Mac OS, XBOX 360, PlayStation 3, Nintendo Wii, Apple ios, Google Android e também nos browsers mais modernos (Jie, Wang gen, & Xiaoqing, 2012; Macedo & Rodrigues, 2011). É importante referir que o Unity3D também permite exportar para a funcionalidade Adobe Stage3D do Adobe Flash. Contudo, algumas das suas funcionalidades não são suportadas pelo Flash (Jie et al., 2012). O Unity3D também suporta a utilização de scripts nas linguagens JavaScript (JS), C# e também um dialeto de Python chamado Boo (Sa et al., 2010), sendo que, o autor anteriormente referenciado afirma que os scripts são normalmente vistos como lentos e limitados mas, como no Unity3D são compilados para código nativo, são executados quase tão rapidamente como C++. O mesmo autor considera ainda que estas três linguagens são igualmente rápidas e interoperáveis, podendo aliar-se às bibliotecas.net que têm suporte a base de dados, expressões regulares, XML e também à rede. As suas características específicas incluem um editor de código integrado, editor de terreno, shaders, scripts, networking, simulador de física, controlo de versão, entre muitas outras 27

52 (Jie et al., 2012; Wenfeng & Xin, 2012). O Unity3D é totalmente otimizado para o DirectX e OpenGL (Sa et al., 2010). Feijó et al explicam o funcionamento da programação orientada a objetos dizendo que é uma modelação do mundo como uma coleção de entidades, denominadas de objetos, com comportamentos próprios e que cooperam entre si, tornando desta forma o código mais fácil e organizado (Feijó, Clua, & da Silva, 2010). No que diz respeito ao desenvolvimento em si, no Unity3D todos os objetos na cena do jogo são instâncias da classe GameObject. O GameObject é uma classe que contém todos os componentes que podem ser utilizados nos objetos e dessa forma implementar-lhe funcionalidade real sendo, por exemplo, a luz um componente que está ligado a um GameObject. O GameObject pode ser associado a vários componentes e especificar diversas propriedades. Quando um script é desenvolvido, herda automaticamente as características da classe MonoBehavior, que é uma subclasse especial do Componente. Um grupo de investigadores indica algumas características poderosas do Unity3D (Sa et al., 2010). Em primeiro lugar, contém mais de 40 sombras, desde as mais simples (e.g. diffuse e glossy) às mais complexas (e.g. Self Iluminated bumped specular), funcionando todas com qualquer tipo de iluminação. A segunda característica refere-se à possibilidade de criar scripts dentro do próprio Unity3D, utilizando o editor integrado. Contudo, para funções mais complexas, é possível utilizar-se o Visual Studio, sendo possível depois compilar as cenas com o Visual Studio, adicionando o UnityEngine.dll. Assim, uma das características mais conhecidas do GameEngine é o seu sistema de análise de colisão entre objetos, utilizando todos os recursos do Ageia PhysX, presente em jogos como o Unreal Tournament 2007 e o Ghost Recon 3, entre outros. Além disso, tem um suporte total para Rigidbodies, que atuam com forças, colisões e análise das articulações, sem requerer nenhum script ou código adicional. Por fim, é possível adicionar-se sons, animações e vídeos aos GameObjects, aumentando desta forma a imersão do utilizador no sistema de realidade virtual. Em suma, Clarke et al afirmam que os programadores escolhem o Unity3D pela sua versatilidade multiplataformas (Clarke, Arnab, Dunwell, & Brown, 2012) e Macedo et al acreditam que o processo de transportar o jogo para outras plataformas é simples e fácil (Macedo & Rodrigues, 2011). Além da criação de jogos, esta ferramenta permite também a criação de outro conteúdo, como a visualização arquitetónica ou animações 28

53 3D em tempo real, sendo possível realizar aplicações de RA recorrendo, por exemplo, à extensão do Vuforia, já abordada. Apesar da RA já existir há algumas décadas, encontra-se ainda em grande desenvolvimento, surgindo cada vez mais sistemas que proporcionam ao utilizador diferentes experiências em tempo real. Desde simples adições de objetos virtuais ao mundo real até ambientes completamente virtuais, onde o utilizador se abstrai totalmente do seu mundo e interage com um sistema totalmente construído por computador, a RA tem vindo a crescer e a possibilitar a criação de sistemas cada vez mais complexos Hypertext Markup Language Com a criação da Internet, surgiu a necessidade da criação de standards capazes de estruturar a sua utilização e o desenvolvimento de conteúdos, de forma a evitar que a Internet se transformasse num mundo de propriedade de formatos incompatíveis, reduzindo-se dessa forma o seu potencial comercial para todos (W3C, 1999) Introdução e história do HTML Em 1989, Tim Berners-Lee desenvolveu o HTML, acrónimo de Hypertext Markup Language, com o objetivo de facilitar a comunicação com os seus colegas (Ferreira & Eis, 2011). Contudo, esta linguagem mudou o Mundo da Internet. Berners- Lee baseou-se no SGML (Standard Generalized Markup Language), um padrão internacional para a marcação de texto para apresentação numa variedade de dispositivos físicos, em que a ideia principal era tornar independentes estrutura e apresentação, algo que no início o HTML não possibilitava. Como o próprio nome indica, o HTML é baseado em hipertexto. Segundo Pfaffenberger hipertexto é um tipo de texto que possibilita que o utilizador navegue de uma página hipertexto para outra (Pfaffenberger, Schafer, White, & Karow, 2004). Dentro destas páginas, podem ser usados um leque de elementos, como por exemplo imagens, texto, vídeos e áudio. Ao contrário de um texto comum, o hipertexto permite 29

54 que o utilizador defina a sua navegação de acordo com as suas necessidades. Enquanto um livro foi concebido para ser lido em sequência, onde a página dois sucede a um, o hipertexto permite que o utilizador vá para o que verdadeiramente lhe interessa. Além da utilização de hipertexto, o HTML pretende ser uma linguagem interoperável. Woodley define interoperabilidade como a capacidade de diferentes tipos de computadores, redes, sistemas operativos e aplicações trabalharem eficazmente em conjunto, sem comunicação prévia, de forma a trocarem informação útil e com significado, ou seja, funcionar em todas as plataformas, independente de sistemas operativos, browser, resoluções e outros meios de acesso (Woodley, 2005). Sensivelmente um ano após a sua criação, o HTML ganhou popularidade com o Mosaic, um browser desenvolvido por Marc Andreessen, que impulsionou outros criadores de browsers a adotarem o HTML (Ferreira & Eis, 2011). Todas estas páginas de hipertexto juntas formam a World Wide Web, vulgarmente conhecida por WWW. O W3C é um consórcio internacional que pretende equilibrar os interesses dos programadores, criadores de browsers e tecnologia. Reúne comités com representantes de empresas de alta tecnologia e está responsável por criar os standards do HTML, HTTP e de uma série de padrões adicionais, como o CSS (Cascading Style Sheets). Segundo o W3C (W3C, 1999), a WWW é uma rede de recursos de informação, construída sobre três pilares: Um sistema que determina como cada página de informação ou recurso recebe um endereço único e utilizado para aceder a esse mesmo elemento: URI (Uniform Resource Identifier); Um protocolo que garante a comunicação entre o browser e o servidor: o protocolo HTTP (Hypertext Transfer Protocol) (Figura 12); Uma linguagem de marcação para codificar a informação, para que esteja acessível numa vasta quantidade de dispositivos: o HTML. 30

55 FIGURA 13: O PROTOCOLO HTTP, RESPONSÁVEL PELA COMUNICAÇÃO ENTRE O BROWSER DO UTILIZADOR E O SERVIDOR WEB. O W3C define HTML como uma linguagem de publicação de conteúdo, como texto, imagem, vídeo e áudio, entre outros, na web. Abreu entende HTML como uma linguagem que permite a construção de páginas, através de conjuntos de elementos, vulgarmente conhecidos por tags, utilizados para descrever apresentar uma página web (Abreu, 2012). Ao longo dos anos o HTML foi evoluindo e foram lançadas várias versões. Contudo, não existiam padrões e cada um criava á sua maneira. De forma a evitar que a web fosse construída em base proprietária, com formatos incompatíveis e limitados, surgiu em 1994 o World Wide Web Consortium (W3C). Em 1997, o W3C lança a versão 3.2 do HTML, criando assim um standard, fazendo com que cada browser reconheça as páginas HTML da mesma forma, deixando de ser necessário criar uma página diferente para cada um e desta forma reduzir custos e finalmente tornar o HTML interoperável. Ainda em 1997, o W3C anunciou o HTML 4.0 (W3C, 1997). Com o lançamento da versão 4.0 surgiram alguns erros, corrigidos alguns meses depois, aquando o lançamento do HTML Esta versão trouxe algumas melhorias: otimização da acessibilidade, reconhecimento de scripts, melhor controlo da estrutura de tabelas, melhor indexação aos motores de busca, suporte a objetos, entre outras novidades. Por fim, surgiu em 2000 o XHTML (Extensible HyperText Markup Language), juntando o padrão do HTML com a extensibilidade do XML (extensible Markup Language). 31

56 Contudo, o grande marco do HTML ocorreu em 2008 com o início do HTML 5, que promete revolucionar o mundo da Internet A nova versão: HTML5 Nos dias de hoje é fundamental estar sempre ligado à Internet, por questões profissionais ou de entretenimento. Desde 2010 o número de acessos à web através de dispositivos móveis duplicou, havendo cada vez mais utilizadores a ligarem-se através de smartphones ou tablets, em qualquer lado (Vedor, 2012). O HTML 4.01 apesar de garantir uma quase interoperabilidade, não era suficiente e perfeito. Possuía várias fragilidades que neste tipo de dispositivos são cruciais: Os programadores criavam as páginas sem grande cuidado, com estruturas complexas e muitas das vezes recorriam a plug-ins que não tinham suporte em dispositivos móveis para incorporar ficheiros multimédia, como por exemplo o Adobe Flash, Apple QuickTime e o Microsoft Silverlight. Segundo Pilgrim, o HTML 5 é a próxima geração de HTML, substituindo os ultrapassados HTML 4.01 e XHTML 1.0 e 1.1 (Pilgrim, 2010). É também uma tecnologia que introduz novos recursos que são necessários para criar aplicações web modernas. Na opinião do mesmo autor, durante anos os programadores de páginas web utilizaram recursos que nunca tinham sido aprovados ou documentados, tornando assim essas páginas suscetíveis à incompatibilidade quando processadas por diferentes browsers. McDaniel afirma que o HTML 5 é baseado nas mesmas tecnologias, mas possui ferramentas poderosas de forma a criar a próxima geração de sítios, com o auxílio das CSS3 e do JavaScript, de forma a construir sites mais interativos e com movimento (McDaniel, 2011). Após o lançamento da versão 4.01 do HTML, o W3C começou a preparar uma versão baseada em XML e HTML, que iria constituir o XHTML 2.0. Ao mesmo tempo, o grupo WHATWG (Web Hypertext Application Technology Working Group), que não concordava com o rumo que o W3C queria dar ao HTML, começou a preparar aquilo que hoje conhecemos como HTML 5. Em meados de 2008 o W3C acabou por ceder e 32

57 unir forças com o projeto proposto pelo WHATWG e desde aí ambos os grupos têm trabalhado em conjunto no standard que promete revolucionar a web. O W3C definiu como quatro princípios chave de conceção do HTML 5 a compatibilidade, a utilidade, a interoperabilidade e o acesso universal (W3C, 2007): Compatibilidade: Existem alguns elementos que estavam presentes em versões anteriores do HTML, que agora deixam de ser utilizados. Uma aplicação deverá ser capaz de ser processada da melhor forma possível em browsers mais antigos. Além disso, evolução não é revolução. Existem já várias funcionalidades que não necessitam de ser recriadas, evitando-se assim reinventar a roda. Utilidade: Uma aplicação web deverá ser utilizada da melhor forma para todos os fins pretendidos. O grupo de trabalho do HTML 5 pretende enfrentar e eliminar definitivamente os erros de versões transatas e assegurar que os recursos funcionem com o modelo de segurança da web. Interoperabilidade: Outra vontade relacionada com o HTML 5 é permitir que possa ser processado em todos os browsers mais utilizados. Deverá ser uma linguagem reconhecida pela simplicidade de cada recurso e permitir que os erros sejam tratados, reduzindo assim o risco de problemas da aplicação. Acesso universal: Este princípio está, em parte, relacionado com o anterior. Uma aplicação web deverá ser capaz de trabalhar em diferentes plataformas, dispositivos e meios de comunicação, independentemente de sistemas operativos, resoluções de tela e diferentes arquiteturas. Deverá também permitir a publicação em todos os idiomas e permitir que pessoas com algum tipo de capacidade reduzidas, independentemente da habilidade ou capacidades físicas, consigam também usá-lo. O HTML 5 inclui também recursos que não são diretamente controlados pelo WHATWG ou pelo W3C, como por exemplo a API de Geolocalização. Esta API está a ser desenvolvida pelo GWG (Geolocation Working Group) e, por ser parte da evolução 33

58 da web moderna, é associado ao HTML 5, fornecendo-lhe recursos imprescindíveis para uma maior experiência por parte do utilizador. Por ser uma tecnologia ainda em desenvolvimento, a lista de recursos definidos no HTML 5 está sempre a ser alterada, quer seja para adicionar ou melhorar recursos já existentes, sempre com o objetivo de simplificar. Os principais recursos que o HTML 5 nos oferece: Semântica: Oferece uma forma mais simples para a construção de um layout semântico. É possível construir um layout de uma página sem recurso às antigas tags <div>, anteriormente usado para delimitar secções de uma página, utilizando novos elementos estruturais como o <header>, <nav> ou <footer>, que criam uma área destinada, respetivamente, para o cabeçalho, área de hiperligações e rodapé; Formulários mais ricos: uma das principais vulnerabilidades de um sítio são os campos de introdução de dados por parte do utilizador. No HTML 4, é necessário validar esses dados no lado do servidor e, para proporcionar uma melhor experiência ao utilizador, também do lado do cliente, que poderia ser conseguido recorrendo ao JS. Na versão 5 do HTML, estes formulários foram revistos e é possível restringir os campos para formatos de valores específicos, como números de telefone, intervalos de valor ou até mesmo um formato definido pelo próprio utilizador, dispensando desta forma a verificação através do JS; Os formulários HTML passaram a ter também alguns novos tipos de campos de formulário, como os sliders e data, e também atributos como o placeholder e o autofocus, responsáveis por pré-definir um valor padrão num determinado campo e selecionar automaticamente um deles quando a página é carregada. Novo suporte para elementos de vídeo e áudio: há algum tempo atrás, a multimédia tinha a sua presença na Internet quase que restrita a formatos mais leves, como o MIDI ou os GIFs animados. Com a evolução da largura de banda, começou a ser possível suportar-se formatos mais pesados e consequentemente com maior 34

59 qualidade, como o MP3 ou AVI. Contudo, para os incorporar nas páginas web era necessário recorrer à instalação de plugins de terceiros no cliente, como por exemplo o Adobe Flash ou o Microsoft Silverlight. Em 2007, Anne Van Kesteren comunicou ao WHATWG que a empresa Opera se encontrava a desenvolver um novo mecanismo de vídeo, que primava pela simplicidade e era idêntico ao antigo elemento (Kesteren, 2007). Abreu comenta que o termo vídeo é, na maior parte das pessoas, automaticamente associado, pela maior parte das pessoas, a ficheiros nos formatos AVI ou MP4, quando na realidade estas designações apenas identificam o formato do contentor (Abreu, 2012). Um contentor pode conter vários elementos no seu interior, como clips de vídeo e áudio, título, informações sobre o episódio, entre outros, e limitase a gerir a organização desses elementos. O armazenamento destas faixas de vídeo e áudio dentro dos contentores é possível devido àquilo a que chamamos codificação, com recurso a codecs para a codificação e posterior descodificação dos mesmos. Abreu afirma ainda que atualmente a especificação do HTML 5 não impõe restrições em relação aos codecs que devem ser suportados nos browsers, sendo que o Mozilla Firefox, Google Chrome e Opera suportam o codec de vídeo Theora e o codec de áudio Vorbis, em contentores Ogg. Segundo Peter Lubbers, os novos elementos de áudio e vídeo permitem adicionar novas opções multimédia sem a necessidade de plug-ins externos, proporcionando assim aos programadores uma API comum, integrada e programável, que pode ser utilizada para criar aplicações mais atraentes (Lubbers, Salim, & Albers, 2011). Nas versões anteriores do HTML, a solução para incorporar vídeos ou áudio em páginas web passava pela utilização do elemento <object>. Contudo, devido às diversas incompatibilidades entre os browsers, esse elemento requeria o elemento <embed>. Durante anos essa foi a solução, contudo não era a melhor, pois implicava muitas das vezes duplicar parâmetros e usar comandos demasiado complexos e confusos. O HTML5 veio assim simplificar esses dois elementos, fornecendo os elementos <vídeo> e <audio>, com valências mais simplistas. 35

60 API de Geolocalização: Apesar de não ser uma API diretamente controlada e desenvolvida pelos grupos de trabalho do HTML 5, faz parte da evolução da web moderna, disponibilizando recursos capazes de proporcionar uma experiência mais rica ao utilizador. Existem várias estratégias de marketing, que tentam cativar os utilizadores a adquiri determinados serviços ou produtos. Uma estratégia que está a crescer a um ritmo elevado, recorre à geolocalização, permitindo desta forma que os anúncios sejam contextualizados e cheguem a pessoas que realmente poderão necessitar deles. Muitos sites oferecem anúncios específicos de acordo com o dia, a hora, a localização geográfica do utilizador, etc. (Rita & Oliveira, 2006). Um bom exemplo é quando um utilizador efetua uma pesquisa num motor de busca, utilizando a expressão restaurante e nos resultados surgem em primeiro lugar, os restaurantes que são da sua região. A posição geográfica do utilizador é determinada e representada através de um par de coordenadas: a latitude e a longitude. A API de geolocalização do HTML 5 requer autorização do utilizador para obter as suas coordenadas de localização e permite não só determinar a posição atual do utilizador como também verificar, em intervalos regulares, se essa posição se altera, utilizando o método watchposition. Canvas: Até agora, para representar gráficos mais avançados era necessária a utilização de plug-ins, como o Adobe Flash ou o Microsoft Silverlight. O HTML5, mais uma vez inovou e procurou simplificar o processo, adicionando o elemento <canvas>. Originalmente criado pela Apple, em 2004, para o MAC OS X e posteriormente para o Safari, o canvas foi adotado pela especificação desta tecnologia. Chuck Hudson diz que o coração do canvas é formado por dois componentes (Hudson & Leadbetter, 2011): o canvas do HTML e o JS, para executar operações. Tal como acontece com um pintor, a tela fica em branco até que ele decida começar a utilizar os pincéis e as ferramentas disponíveis para criar a sua obra de arte. Da mesma forma, o JS fornece-nos as ferramentas necessárias para criar uma panóplia de projetos com o canvas. Remy Sharp afirma que esta é uma das maiores partes da especificação do HTML5, tendo até sido escrito num documento à parte dela, não deixando no entanto de fazer parte da mesma (Lawson & Sharp, 2010). Já Steve Fulton acredita que o canvas seja o elemento mais interessante do HTML5 e define-o como um bitmap de modo 36

61 imediato (immediate mode) que cria uma superfície retangular, por omissão com 300 pixéis de largura e 150 pixéis de altura, que pode ser manipulada com recurso a JS (Fulton & Fulton, 2011). Abreu afirma que immediate mode se refere à forma como os pixéis são renderizados nesta superfície, sendo neste caso necessário criar o código JS dos elementos gráficos aos quais se pretende fazer o rendering (Abreu, 2012). Uma característica deste elemento é não possuir memória, obrigando a fazer novamente o rendering dos elementos sempre que seja necessário atualizá-lo. O facto deste elemento recorrer a um bitmap immediate mode, torna-o muito diferente do Flash, Silverligh e SVG, que operam em retained mode. Este modo, em vez de fazer o rendering diretamente, atualiza o estado interno da biblioteca gráfica, ou seja, ao contrário do immediate mode, é mantida uma lista dos objetos presentes na superfície e esses objetos possuem propriedades capazes de influenciar o seu comportamento (ex: coordenadas X e Y, tamanho, cor, etc.). Este modo de bitmap afasta o programador de operações de baixo nível, mas proporciona-lhe menos controlo sobre o processamento final na superfície (Gu & He, 2012). Lubbers refere que o canvas suporta as mesmas operações bidimensionais que os sistemas operacionais e estruturas mais modernas e que quem já tenha desenvolvido para esses sistemas não irá sentir dificuldades a adaptar-se (Lubbers et al., 2011). Por outro lado, quem nunca utilizou estes sistemas irá ficar agradavelmente surpreendido com o quão mais poderosa é esta tecnologia quando comparada ao que foi feito nas CSS, durante muitos anos, pelos programadores. De acordo com Rob Hawkes não se desenha diretamente na API do Canvas, mas sim num contexto bidimensional que ele nos proporciona (Hawkes, 2011). Este contexto permite-nos executar incontáveis funcionalidades (Fulton & Fulton, 2011): - Criar e modificar desenhos bidimensionais, textos e imagens bitmap; - Aplicar cores, rotações, opacidade e manipular pixéis; - Criar diferentes tipos de linhas, curvas e caixas e exibir gráficos; - Criar e modificar animações avançadas; - Deteção de colisões; - Incorporar e manipular vídeo e áudio; - Construir uma framework capaz de criar uma variedade de jogos; 37

62 - Desenvolver gráficos de jogos animados. Apesar de ainda não haver um contexto tridimensional, existem já várias implementações, como o WebGL, mas nenhuma adotada pelo standard do HTML5 (Ferreira & Eis, 2011). Contudo, isso não impede os programadores de explorarem maneiras de utilizar técnicas 3D e criar aplicações multiplayer. Com o recurso ao JS é possível criar animações complexas, incluindo fundos interativos para sítios, elementos de navegação, ferramentas gráficas, eventos de rato e teclado, captura de frames de um vídeo e até mesmo jogos com elevada interatividade. Devido ao poder do elemento canvas e da globalidade do HTML5, a Apple descontinuou, em Abril de 2010, o Adobe Flash em dispositivos móveis e decidiu apostar no HTML5 (Jobs, 2010). Esta decisão deve-se principalmente a questões tecnológicas e facilidade de uso do HTML5. Em primeiro lugar, o HTML5 é um standard aberto e não depende de plugins de terceiros, como era o caso do Flash. Em segundo, o Flash não proporcionava uma web completa aos utilizadores de dispositivos Apple, porque 75% dos vídeos da web são em Flash. O terceiro contra da Apple prende-se com questões de segurança, confiabilidade e desempenho, enquanto o quarto fator aponta a um gasto excessivo de bateria dos dispositivos móveis. O quinto motivo refere-se ao facto de o Flash ter sido desenvolvido para computadores e para ser utilizado com um rato, não para ecrãs táteis. Por último, o Flash é multiplataforma e a Adobe não pode depender de terceiros para decidir quando distribuir as ferramentas aos programadores. Estes seis motivos fizeram com que a Apple pretendesse abandonar o passado e apostar no HTML5, uma tecnologia emergente e que vai dominar os dispositivos móveis. Em consequência, em Novembro de 2011 a Adobe descontinuou o desenvolvimento do Flash para browsers de dispositivos móveis, admitindo que o HTML5 é a melhor solução para eles (Winokur, 2011). O elemento canvas trás, finalmente, uma forma nativa de desenhar nos browsers sem necessidade de recorrer a aplicações externas, é poderosa ao nível de desenvolvimento e adivinha-se que os programadores o testarão até aos seus limites (Lawson & Sharp, 2010). Armazenamento de dados: Uma atividade fundamental para qualquer aplicação web é a possibilidade de armazenamento de dados. Abreu afirma que, nas versões anteriores do HTML, a única forma capaz de armazenar pequenas quantidades de dados a partir de uma página HTML eram as cookies (Abreu, 2012). Os cookies podiam ser 38

63 utilizadas para guardar um valor, guardar nomes de utilizadores, preferências, datas de autenticação, entre muitas outras possibilidades. Elcio Ferreira desacredita-as, por terem uma interface complexa, envolvendo cálculos complexos com datas e controlo de nome de domínio e também porque estavam limitadas a apenas 4KB de informação (Ferreira & Eis, 2011). Remy Sharp também considera que os cookies não são a melhor opção, achando-as uma porcaria ou lixo, pois têm uma série de problemas que fazem com que seja doloroso trabalhar com elas, preferindo procurar bibliotecas de JS capazes de as substituir (Lawson & Sharp, 2010). Chuck Hudson escreve que alguns conjuntos de dados podem melhorar a experiência do utilizador se os cookies poderem ser armazenados e recuperados localmente, em vez de serem recuperados do servidor de cada vez que são utilizados (Hudson & Leadbetter, 2011). Com o HTML5 surgem duas novas formas de armazenamento local: Web Storage e Web SQL Databases. O Web Storage, baseado no conceito dos cookies, permite o armazenamento de até 5Mb de informação por domínio e, ao contrário dos cookies, não são propagados para o servidor através de pedidos HTTP, funcionando localmente. Esta funcionalidade possui dois tipos de storage: localstorage e sessionstorage. Elcio Ferreira e Abreu comparam estes dois tipos de Web Storage (Abreu, 2012; Ferreira & Eis, 2011) : enquanto o localstorage armazena localmente os dados sem um limite de tempo de vida e a sobreviver entre sessões, podendo ser recuperados numa outra página carregada a partir de outra janela, o sessionstorage apenas mantém esses dados durante a sessão na página atual, perdendo-se todos os dados armazenados quando a página é encerrada, sem a possibilidade de serem recuperados numa utilização futura. Ambos os tipos de armazenamento utilizam um objeto do tipo Storage, que se comporta como um dicionário, onde os dados são mantidos no formato chave/valor, sempre do tipo string. Caso se pretenda armazenar um valor que não seja do tipo string, é necessário seriá-lo numa string antes de o armazenar. O Web SQL Databases é uma outra forma de armazenar dados no cliente mas, ao contrário do Web Storage, não se baseou nos cookies mas sim nas tradicionais bases de dados SQL. Remy Sharp analisa este tipo de armazenamento e afirma que é necessário saber utilizar a linguagem SQL, mais propriamente SQLite, pois é a ela que o Web Storage recorre para o armazenamento (Lawson & Sharp, 2010). Quanto aos limites de armazenamento, afirma que a documentação não é clara e que cada browser impõe os 39

64 seus limites sendo, por norma, 5Mb por domínio. Infelizmente esta forma de armazenamento ainda não é suportada por muitos dos browsers, sendo que atualmente apenas o Opera, o Chrome e o Safari a suportam (Deveria, 2013; Lawson & Sharp, 2010). Estas duas novas formas de armazenamento prometem bastante e Hogan considera que são fáceis de usar, incrivelmente poderosas, e razoavelmente seguras (Hogan, 2011). Existem muitas outras novidades no HTML5 que, por serem em tão elevado número e por não serem objeto do trabalho, não é possível abordar nesta dissertação. O HTML5 prometia e já provou que possui todas as funcionalidades para revolucionar o desenvolvimento de aplicações web, quer através das funcionalidades explicadas anteriormente, como o canvas ou o novo suporte para elementos áudio e vídeo, quer também pelas funcionalidades não abordadas, mas com igual importância, como a facilidade das interfaces drag and drop, aplicações offline ou da microdata. As opiniões sobre esta tecnologia são, geralmente, positivas. Steve Jobs, fundador da Apple, apoia o HTML5, por permitir que os programadores web criem gráficos avançados, tipografia, animações e transições independentes de plug-ins externos, como não acontece com o Flash, da Adobe (Jobs, 2010); Para Dion Almaer (Almaer, 2010), co-fundador da Ajaxian.com, principal comunidade de Ajax, a revolução do Ajax foi um hack e, com os browsers HTML5, temos finalmente um fantástico runtime. John Harding, Engenheiro de Software do Google, afirma que na empresa estão entusiasmados com o esforço do HTML 5, principalmente com a tag <video>, que tornou possível a reprodução dos vídeos do Youtube através da interface em HTML5 (Harding, 2010) Android Introdução e estatísticas Durante os últimos anos existiram várias tentativas para transformar o software de dispositivos móveis em open source (e.g. Maemo, Debian Mobile, Symbian OS). 40

65 Existiam também alguns SO closed source (e.g. BlackBerry OS, Microsoft Windows Mobile) mas nenhum se conseguiu assumir como perfeito. Apesar do Symbian OS dominar o mercado de SO para dispositivos móveis (Hall & Anderson, 2009), nunca foi visto como completo e o seu ambiente para desenvolvimento de aplicações era complexo. Em 2007, a forma como os smartphones eram vistos mudou, após o lançamento do iphone. Desenvolvido pela Apple e com o sistema operativo ios, dispunha de uma interface tátil baseada na orientação do dispositivo, tornando-se no primeiro SO móvel com uma grande comunidade de aficionados e transformou-se num símbolo de luxo na população (Hall & Anderson, 2009). O mundo dos dispositivos móveis ficou também marcado quando, em Novembro de 2007, a Google anunciou o Android, um SO open source para dispositivos móveis. Nesse mesmo dia anunciou também a criação do Open Handset Alliance (OHA), um consórcio constituído por 84 empresas especialistas de tecnologia e tecnologia móvel (e.g. T-Mobile, HTC Corporation, Samsung Electronics), com a ambição de acelerar a inovação neste mercado e oferecer uma maior experiência no mercado móvel, mais acessível e mais móvel. O primeiro telemóvel com este SO foi anunciado em Outubro de 2008, pela T-Mobile, com o nome G1. Desde então, várias empresas de telecomunicações, como a Samsung, adotaram o SO Android e o seu crescimento tornou-se visível, tornando-o num rival credível do ios, presente no iphone da Apple, que até então parecia destinado a liderar a internet móvel (Lyons, 2010). A plataforma Google Android foi apontada como uma grande oportunidade para os programadores de aplicações móveis (Rogers, Lombardo, Mednieks, & Meike, 2009). O Android é um dos atores principais no mercado de sistemas operativos para dispositivos móveis, como telemóveis, tablets e televisões (Payet & Spoto, 2012). Andy Rubin, criador do Android e diretor das plataformas móveis da Google, afirmou que não deve haver nada que os utilizadores possam fazer num computador que não seja possível no seu dispositivo móvel (BBC, 2008). Segundo a página oficial de desenvolvimento do Android, existem atualmente centenas de milhões de dispositivos ativados com este SO, espalhados por mais de 190 países e estes números não param de aumentar, sendo diariamente ativos milhões de novos dispositivos (Google, 2012a). Esta plataforma possui um mercado de aplicações pagas e gratuitas, denominado Google Play, pré-instalado em mais de 400 milhões de dispositivos, que permite personalizá-lo com quase todo o tipo de aplicações. Até Dezembro de 2012 foram feitos 41

66 mais de 25 biliões de downloads de aplicações e este número cresce à impressionante velocidade de 1.5 biliões mensalmente, principalmente devido ao enorme número de programadores desta plataforma e também da simplicidade com que cada um deles pode adicionar as suas aplicações (Google, 2012d). Atualmente o SO vai na versão 4.2, também conhecido por Jelly Bean, mas apenas 6.7% dos dispositivos a possuem, sendo a versão mais usada a 2.3, Gingerbread, com cerca de 51% dos dispositivos (Google, 2012c). A Figura 13 mostra-nos o menu principal de um dispositivo Android com a versão 2.3.7, assim como uma visão geral da Google Play. FIGURA 14: MENU PRINCIPAL (ESQUERDA) E APLICAÇÃO GOOGLE PLAY DO SISTEMA OPERATIVO ANDROID (DIREITA). Sharon Hall e Eric Anderson dizem que o sucesso do Android se deve à resolução dos problemas que os utilizadores apontavam aos anteriores dispositivos móveis (Hall & Anderson, 2009): interfaces difíceis, digitação em dispositivos pequenos, velocidade de rede, visualização de páginas web e falta de aplicações. De seguida analisam-se mais detalhadamente algumas características. 42

67 Interfaces difíceis: A framework do Android permite que o hardware seja construído de forma simples e amigável, integrada com um ecrã sensível ao toque. O SO Android foi concebido para aproveitar todas as vantagens dos ecrãs tácteis. Digitação em dispositivos pequenos: Antes do Android, a maioria dos dispositivos móveis dispunha de um teclado numérico de 12 teclas para escrita. Escrever tornava-se complicado e chato (e.g. A tecla 2 tinha associados os caracteres A, B e C, pelo que para escrever o C era necessário pressionar esta tecla 3 vezes.). Este problema encontrou uma solução com os teclados QWERTY. O Android permite que seja a empresa responsável pelo hardware a decidir entre o tradicional teclado táctil do Android ou um teclado físico, de 12 caracteres ou QWERTY. Velocidade de rede: Nas primeiras redes móveis, a preocupação dos utilizadores era que ela suportasse uma chamada sem que o sinal falhasse e que a largura de banda fosse suficiente para reconhecer o timbre de voz da outra pessoa (Brito & Aguiar, 2002). Hoje, os utilizadores querem estar sempre ligados aos serviços de rede e Internet e, com os paradigmas emergentes, como o Cloud Computing, o conceito de omnipresença é cada vez mais necessário (Silva, Carvalho, Sousa, & Neves, 2011). Todos os dispositivos Android são baseados na rede 3G, mais rápida que as tradicionais redes 2G utilizadas anteriormente. Contudo, os utilizadores ambicionam sempre mais, existindo já alguns dispositivos capazes de suportar redes de quarta geração (4G). Visualização de páginas web: Utilizadores de dispositivos móveis pretendem visualizar as páginas web reais e não versões simplificadas para dispositivos móveis. O Android fornece um browser completo capaz de renderizar as páginas reais da mesma forma que um computador tradicional. Falta de aplicações: Ao ser uma plataforma open source, o Android permite que os utilizadores possam desenvolver as suas próprias aplicações, baseadas em Java, e posteriormente instala-las no seu dispositivo ou disponibiliza-la no Google Play, contribuindo desta forma para as milhares de aplicações ali disponíveis. 43

68 A Figura 14 apresenta os SO móveis mais utilizados entre Setembro de 2012 e Setembro de 2013, onde o Android se mostra em crescimento, ao contrário do SymbianOS, que tem uma queda bastante acentuada. Já o ios da Apple mantém-se estabilizado. FIGURA 15: TOP 8 DE SISTEMAS OPERATIVOS MÓVEIS UTILIZADOS ENTRE SETEMBRO DE 2012 E SETEMBRO DE FIGURA OBTIDA DE (STATS, 2013) Arquitetura O Android consiste na utilização de um SO baseado em Linux, bibliotecas da linguagem Java, uma máquina virtual e algumas aplicações (Chien-Wei, Chun-Yu, Chung-Ta, Yi-Fan, & Shau-Yin, 2010). A sua arquitetura é dividida em cinco camadas (Google, 2012b): Applications, Application Framework, Native Libraries, Android Runtime e Linux Kernel. Estas camadas encontram-se divididas de acordo com a Figura

69 FIGURA 16: ARQUITETURA DO GOOGLE ANDROID (GOOGLE, 2012B). A camada Linux Kernel permite a abstração entre o hardware e a plataforma Android; Silva et al incluem aqui uma subcamada, denominada Hardware Abstraction Layer, que administra e fornece uma interface abstrata entre os drivers de Hardware e a plataforma Android, como as interfaces 3G, Wi-Fi e gestão de energia (Silva et al., 2011). Acima desta camada, encontra-se a camada Android Runtime, o coração da plataforma. Os ciclos de vida dos processos em execução (e.g. aplicações e serviços) e recursos (e.g. memória e capacidade de processamento) que lhes correspondem são aqui geridos. Esta camada consiste em dois componentes: Core Libraries que são Java APIs para gerir estruturas de dados e acesso à rede e a máquina virtual Dalvik. Esta máquina virtual foi concebida para dispositivos com memória reduzida e para permitir que várias instâncias de máquinas virtuais sejam executadas simultaneamente. Comparada com uma máquina virtual Java padrão, apresenta duas diferenças chave (Chien-Wei et al., 2010): enquanto a maioria destas máquinas virtuais possuem uma arquitetura stackbased, a do Dalvik é register-based e a máquina Dalvik executa os aplicativos Java que foram transformados em executáveis Dalvik (no formato.dex). As ferramentas que não 45

70 foram desenvolvidas em máquinas virtuais Dalvik, não podem ser diretamente transportadas para ela. A camada Libraries possui um conjunto de bibliotecas de C e C++ que são utilizadas por diversos componentes do sistema Android. Nestas bibliotecas incluem-se, por exemplo, bibliotecas multimédia, que permitem a reprodução dos formatos de áudio, vídeo e estáticos mais populares. A camada seguinte, Application Framework, consiste em vários serviços que permitem a gestão dos recursos do sistema, como o gestor de atividades ou uma simples janela. Por ser uma plataforma de desenvolvimento aberta, o Android permite que os desenvolvedores aproveitem todas as suas funcionalidades. Finalmente, no topo da arquitetura, as aplicações que estão visíveis para os utilizadores são exeutadas na máquina virtual Dalvik e recorrem à application framework para gerir os seus recursos. É a camada com que um utilizador tem contacto quando utiliza um dispositivo Android Desenvolvimento em Android Atualmente smartphones, como o Google Android e o iphone da Apple, têm capacidade de armazenamento de dados (e.g. 8Gb ou 32Gb), suportam ligações avançadas a redes Wi-Fi e 3G/4G e possuem ainda uma série de propriedades interessantes, como teclado/teclado virtual, bússola digital, recetor de GPS e acelerómetro (Weng, Sun, & Grigsby, 2012). Contudo, possuem ainda algumas limitações, principalmente ao nível da bateria. Cada aplicação, cada atualização na memória ou mesmo cada pixel do ecrã, utilizam recursos e consequentemente afetam a autonomia do dispositivo. Todas estas funcionalidades e o poder da própria plataforma Android, aliadas aos milhões de dispositivos atualmente ativos, transformaram o Android numa das principais tendências da atualidade, iniciando assim uma revolução móvel (Lyons, 2010). Desenvolver para estes dispositivos requer alguns conhecimentos de OOP (Object-oriented programming), mais propriamente na linguagem Java. O Google disponibiliza o Android SDK, que contém as bibliotecas e ferramentas necessárias para 46

71 construir, testar e depurar aplicações para o Android. Este SDK pode ser incluído em vários ambientes de desenvolvimento, sendo o Eclipse IDE o mais utilizado, possuindo um plug-in especial que facilita na programação em Android: o Android Developer Tool (ADT). Por fim e não menos importante, é também necessário o Java Development Kit (JDK) para construir aplicações baseadas em Java. Com estas ferramentas, as aplicações são desenvolvidas num computador, onde os recursos são abundantes e podem testadas num emulador ou em dispositivos reais, até chegarem á sua versão final, que posteriormente poderá chegar ao Google Play. Desde que surgiu o primeiro dispositivo móvel foram vários os SO criados. Contudo, até há bem pouco tempo, nenhum se conseguia assumir como perfeito. O ios da Apple e o Android da Google vieram assumir o comando deste sector, devido às suas poderosas funcionalidades e capacidades. Dentro deste confronto, o Android tem vindo a ganhar vantagem (Stats, 2013), beneficiando de ser um SO opensource Computação Física Introdução à computação física Com o aparecimento e evolução dos sistemas informáticos surgiram novos instrumentos que visam aumentar a experiência do utilizador, da forma mais cómoda e prática possível. Atualmente é possível integrar a rotina do ser humano com o recurso a sistemas computadorizados. O Sullivan e Igoe definem computação física como a interação entre o mundo físico e o mundo do computador (O'Sullivan & Igoe, 2004). Esta interação tenta ser o mais invisível possível, criando um ambiente pervasivo. A ideia de computação pervasiva é transformar um ambiente num ambiente autónomo, capaz de obter informações do meio à sua volta e utilizá-las para controlar, configurar e ajustar a aplicação, de forma completamente invisível e impercetível para o utilizador (Araujo, 2003). Um exemplo é o conceito da casa inteligente que, através de dispositivos sensoriais, toma conta da casa sem necessitar da atenção do proprietário, ligando as luzes automaticamente quando se apercebe da presença do utilizador numa 47

72 determinada divisão da casa, encomendar os produtos em falta no frigorífico ou simplesmente gerir a temperatura da habitação. Tudo isto captando o mínimo de atenção possível ao utilizador. Um outro sistema pervasivo integra sensores no vestuário que, entre outras funcionalidades, monitorizam os sinais vitais e são capazes de se adaptarem à temperatura do corpo da pessoa. É comum ver este tipo de equipamentos em desportos de alta competição, onde é importante os jogadores terem uma monitorização constante Dispositivos de aquisição de dados sensoriais Existem muitas ferramentas para a criação de protótipos com elementos eletrónicos, com uma panóplia de hipóteses, desde a conceção de novos instrumentos musicais para salas inteligentes, dispositivos de entrada personalizados e obras de arte interativas. Contudo, a maioria dos produtos são comerciais, ou seja, caros e de código fechado, ou então fazem parte de projetos de pesquisa inacessíveis para a maioria das pessoas (Mellis, Banzi, Cuartielles, & Igoe, 2007). Atualmente existem já ferramentas e protótipos que permitem, com custos reduzidos, enfrentar estas barreiras. Uma das formas de interagir entre o mundo físico e o mundo do computador é a utilização de dispositivos de aquisição de dados sensoriais, SBC, como o Arduíno ou o Raspberry Pi. Além de muitas outras funcionalidades, estes SBC são capazes de sentir o ambiente através de sensores e comunicar as informações recolhidas utilizando ligações sem fios (Barroca et al., 2013). Um exemplo de dados sensoriais que estes dispositivos podem captar são a temperatura, humidade, iluminação e índices ultravioleta. O Raspberry Pi, apresentado na Figura 16, é um SBC, do tamanho de um cartão de crédito, com um custo aproximado de 30 euros, capaz de efetuar grande parte das tarefas de um computador de secretária, incluindo a reprodução de vídeos Full HD (1080p). 48

73 FIGURA 17: MODELO B DO RASPBERRY PI. Este computador foi construído para colmatar uma falha nos conhecimentos informáticos dos candidatos aos cursos de informática do St. John s College, na Universidade de Cambrigde (Tróia, 2013). Desta forma, ao disponibilizarem um equipamento barato que requeresse o mínimo de periféricos para funcionar e pudesse ser ligado através de uma ligação HDMI a um televisor moderno ou através da saída RCA, de vídeo composto, a uma televisão mais antiga, facilitaram o primeiro contacto das crianças com a informática. Deste modo e à semelhança dos computadores dos anos 80, as crianças são obrigadas a descobrir a linha de comandos, e acreditam que melhores candidatos surgirão e, desta forma, irão aumentar o número e qualidade de profissionais que saem dos seus cursos (Gaylord, 2011; Tróia, 2013). Existem dois modelos deste dispositivo: A e B. Apesar do modelo A ser menos potente, diferem em poucos aspetos: enquanto o modelo A tem 256MB de RAM e 1 porta USB, o modelo B tem 512MB, 2 portas USB e uma porta ethernet. No resto dos componentes os dois modelos são iguais: processador Broadcom ARM (Advanced RISC Machine) MHz e GPU (Graphics Processing Unit) Videocore 4. O GPU do Raspberry Pi proporciona uma tecnologia OpenGL ES 2.0, hardware acelerado OpenVG e permite imagens de alta resolução 1080p30 H.264 (Limited, 2013). O armazenamento é feito através de um cartão de memória SD e, apesar de ser possível ligar discos rígidos, o arranque é obrigatoriamente feito a partir do cartão SD. O 49

74 dispositivo é alimentado por uma interface MicroUSB de 5V, a atual ligação de energia padrão para telemóveis na União Europeia (Tróia, 2013). Por possuir um processador ARM, o Raspberry Pi suporta grande parte das distribuições Linux. A Figura 17 representa a arquitetura, enquanto a Figura 17 apresenta uma visão geral dos componentes que o compõem. FIGURA 18: VISÃO GERAL DOS COMPONENTES QUE COMPÕEM O RASPBERRY PI. FIGURA ADAPTADA DE (PI, 2011).. Jon Gold afirma que o Raspberry Pi parece destinado a ter um impacto muito além do setor educacional, após uma das primeiras séries produzidas no Reino Unido ter esgotado depois de apenas um dia no mercado, atingindo as 700 encomendas por segundo (Gold, 2012). O Raspberry Pi dispõe já de uma grande comunidade de fãs e programadores, tendo sido muito recentemente criada a Pi Store, uma loja de aplicações para esse dispositivo, surgindo cada vez mais projetos de carácter interessante. O BeetBox (Garner, 2012) é um instrumento simples que permite aos utilizadores ativar o som de um tambor quando toca em beterrabas reais. Apesar de parecer bizarro, utiliza um sensor de toque capacitivo e um amplificador áudio, criando uma interação complexa com a tecnologia completamente oculta. David Hayward ensina a criar um servidor FTP (File Transfer Protocol) suportado pelo Raspberry Pi e painéis solares (Hayward, 2012). Este projeto tem alguma complexidade, sendo necessário configurar o dispositivo para que este tenha um IP estático, instalar um servidor VNC (Virtual Network Computing) para que lhe possa aceder remotamente e posteriormente colocá-lo num local onde a iluminação seja 50

75 abundante e ligá-lo à rede através da entrada ethernet. Desta forma, onde quer que esteja, o utilizador pode aceder remotamente a um disco rígido formatado em NTFS (New Technology File System) ligado ao Raspberry Pi. Akerman utilizou o Raspberry Pi, monitorizado através de GPS, como controlador de um sensor num balão atmosférico e enviou-o para a estratosfera, capturando imagens do planeta até cerca de 40 mil metros de altitude através de uma webcam ligada ao dispositivo (Akerman, 2013). Esta experiência teve um custo aproximado de cerca de 350 euros. Além destes, existem bastantes outros projetos interessantes, desde construir um supercomputador ligando vários Raspberry Pi (Southampton, 2012), comunicar através de telnet com a máquina de café e ordenar-lhe que comece a fazê-lo (Johnsen, 2012), uma Multiple Arcade Machine Emulator (MAME) (Clive, 2011) ou até mesmo uns óculos que, através de apresentação de legendas, permitem a tradução instantânea de uma conversa entre indivíduos que comunicam em idiomas diferentes (Hide, 2012). É importante frisar que, por ser uma tecnologia recente, o Raspberry Pi ainda tem bastantes recursos para serem explorados. Além disso, muitos dos projetos que o utilizam, ainda se encontram em fase inicial. O Arduíno é uma plataforma para desenvolvimento de protótipos interativos com componentes eletrónicos (Mellis et al., 2007), baseado na família de microcontroladores Atmel ATMega (Al-Kuwari, Ortega-Sanchez, Sharif, & Potdar, 2011). O hardware é uma placa de circuitos eletrónicos, com vários modelos disponíveis, sendo que o mais barato ronda os 15, fornecendo uma plataforma completa, flexível e fácil para ser utilizada por artistas, designers e amadores (Sarik & Kymissis, 2010). Foi criado na Interaction Design Institute em Ivrea, uma pequena escola no norte de Itália, onde o ensino era focado em interfaces para ecrã, objetos físicos e serviços. Esta escola incentivou os alunos a criarem protótipos rápidos das suas ideias e testá-las repetidamente e aperfeiçoá-los, nascendo assim o Arduíno, resultado da combinação entre vários protótipos. O Arduíno é uma placa de circuitos que contém um microcontrolador de baixa potência e os componentes necessários para lhe fornecer uma fonte de alimentação estável que permite ligá-lo ao computador (Mellis et al., 2007) e a outros componentes, 51

76 podendo controlá-los (Kim & Lee, 2011). Tem a capacidade de suportar diversos tipos de entradas, através de sensores e interagir com motores, luzes e outros tipos de objetos (Al-Kuwari et al., 2011). A interação com objetos físicos, por meio de sensores ligados a microcontroladores é denominada computação física (O'Sullivan & Igoe, 2004) sendo o Arduíno uma plataforma fiável para o desenvolvimento nesta área (Kato, 2010). Existem diversos modelos mas, segundo Al-Kuwari et al, os mais utilizados são os Mega, Duemilanove, Nano e Mini (Al-Kuwari et al., 2011). O modelo Mega (Figura 18) é constituído por uma placa baseada na Atmega1280, de 8 bits, e possui 54 pins de input/output digitais, 16 inputs analógicos, 4 Universal Asynchronous Receiver/Transmitter (UARTs), um oscilador de cristal de 16MHz, uma porta USB e uma fonte de alimentação de 5V (Arduino, 2012a). Os restantes modelos utilizam a placa ATMega168 ou ATMega328 e variam na quantidade de inputs/outputs digitais e inputs analógicos (Arduino, 2012b). Todas as versões de placas do Arduíno são desenhadas para trabalhar com os componentes eletrónicos padrão, proporcionando uma plataforma base que não limita os utilizadores aos sensores pré-instalados (Mellis et al., 2007). FIGURA 19: ARDUINO MEGA. IMAGEM ADAPTADA DE (ARDUINO, 2012A). O software do Arduíno é constituído por 2 partes, ambas open source: ambiente de desenvolvimento multiplataforma (Windows, MAC OS X e Linux), escrito em Java, onde o utilizador não é obrigado a trabalhar com a linha de comandos e as bibliotecas, que consistem em funções de C/C++. O Arduíno, à semelhança do Raspberry Pi, possui também incontáveis projetos de grande interesse, beneficiando do facto de existir há mais tempo. Há exemplos, desde abrir portões de garagens, comandar interruptores elétricos, sensores de chuva, um cubo 52

77 luminoso que acende quando a conta do gmail recebe um novo (Matthews, 2008), passando pela interação com o software de animação 3D Maya (Thompson, 2008) ou até mesmo um carro de controlo remoto a funcionar através da Internet (Bennett, 2008). Um projeto interessante consistiu no desenvolvimento de um braço robótico, controlado através da Internet e que pretendia mostrar que um robot pode ser usado em casa para as tarefas diárias (Kadir, Samin, & Ibrahim, 2012). Este robot possui um Arduino Uno incorporado e a comunicação com a rede é feita através do Arduino Ethernet Shield. Os criadores afirmam que a Internet está presente em todo o lado, na ponta dos dedos, fazendo sentido a introdução de um robot nas lides domésticas. O braço robótico é controlado pelo utilizador, através da página web construída em HTML, que introduz o grau de movimento do braço robótico e, de seguida, o movimento é executado, sendo possível efetuar movimentos pré-configurados. Por fim, é importante frisar que ambos os SBC analisados permitem que lhes sejam adicionados diversos tipos de sensores, possibilitando a recolha de dados de contexto geográfico Grandezas a medir na modelação de ambientes virtuais Os avanços tecnológicos das últimas décadas tornaram possível criar uma plataforma de deteção móvel capaz de capturar grandes quantidades de dados para lidar com problemas sociais, de forma discreta e rentável (Weinschrott, Du, x, rr, & Rothermel, 2010). Estes sistemas de deteção têm o objetivo de medir e controlar fatores de interesse de um país, cidade, comunidade ou até mesmo mundial, como por exemplo, determinar os índices de poluição, medir os níveis de radioatividade, analisar o tráfego em tempo real, ruído, humidade e temperatura (Mendez et al., 2013). A monitorização de um sistema físico facilita identificar e eliminar obstáculos em ambientes de computação virtual, além de permitir adaptar esses ambientes automaticamente para uma utilização mais eficiente dos recursos a ele agregados (Feng, Vishwanath, Leigh, & Leigh, 2008). Rawi e Al-Anbuki defendem que existe uma forte ligação entre o conforto ambiente e a produtividade humana (Rawi & Al-Anbuky, 2011). Se o ser humano não se sentir confortável, irá ter uma quebra de produtividade. Segundo os autores, o conforto humano é complicado de medir, pelo que é estabelecido através de fatores 53

78 como a temperatura, humidade, iluminação e qualidade do ar e está dividido em conforto térmico, conforto visual, qualidade do ar interior e conforto acústico (Frontczak, Andersen, & Wargocki, 2012; Rawi & Al-Anbuky, 2011). No trabalho realizado por Frontczak et al, que recebeu 645 respostas, concluiu-se que, quando questionados sobre os fatores de conforto doméstico, os questionados dão valor à qualidade do ar, temperatura, acústica e iluminação (Frontczak et al., 2012). No Departamento do Trabalho da Nova Zelândia outro estudo foi realizado para determinar quando uma pessoa se sente confortável (Labour, 2007). Os autores entendem a temperatura do ar como um fator muito importante para o conforto térmico. A humidade também o é, contudo está diretamente relacionada com a temperatura, sendo que ambientes muito quentes e com pouca humidade apenas trazem problemas, pelo que um ambiente não muito seco e temperatura agradável é o ideal. O calor radiante pode ser um fator ambiental ou ocupacional e refere-se ao calor emitido por um objeto quente. O calor radiante é considerado ambiental quando a fonte radiante é o sol e ocupacional quando é emitido por objetos, como aquecedores ou ar condicionado. As condições ideias são resumidas na Tabela 1. TABELA 1: CONDIÇÕES IDEAIS PARA O CONFORTO DO HOMEM. ADAPTADO DE (LABOUR, 2007). Condição Verão Inverno Temperatura do ar 19 a 24º a 21 se em trabalho se em trabalho ativo ativo Humidade relativa do ar 40 a 70% Velocidade do ar 0,1 a 0,2 m/s, sem corrente de ar Até 0,5 m/s se em trabalho ativo Calor radiante Nenhuma exposição direta a fonte de calor radiante Como exemplo de aplicação, um grupo de investigadores (Alahmad, Nader, Cho, Shi, & Neal, 2011) desenvolveu um protótipo que permite controlar o consumo de energia numa habitação. Com a implementação deste projeto, os utilizadores passam a saber onde reduzir esse consumo, já que segundo eles, 41% da energia gerada é desperdiçada, sendo que cerca de 32% dessa parte é gasta no aquecimento de quartos desocupados (Williams & Matthews, 2007). Por este e outros fatores, o conhecimento 54

79 acerca da posição geográfica dos utilizadores é muito importante aquando da atuação sobre sistemas físicos e como elemento essencial às ferramentas de suporte à decisão Técnicas de localização indoor e deteção de presença Sensores de posição e movimento facilitam a forma como se integra a posição do corpo e movimento numa ampla gama de exercícios, desde fazer aparecer fantasmas em casas assombradas, acender luzes quando o ambiente sente a pessoa e até mesmo analisar o trajeto de alguém numa sala de exposição de um museu. Em ambientes outdoor a localização de objetos ou pessoas pode ser efetuada utilizando diversas técnicas e estratégias, como por exemplo os satélites GPS. Indoor, estas técnicas falham ou não são tão precisas, pois não foram desenvolvidas para serem aplicadas a espaços fechados (Ahmed & Hegazy, 2008; Gonzalez & Bleakley, 2007; O'Sullivan & Igoe, 2004; Sanchez, de Castro, Elvira, Glez-de-Rivera, & Garrido, 2012; Tesoriero, Tebar, Gallud, Lozano, & Penichet, 2010; Varshavsky, de Lara, Hightower, LaMarca, & Otsason, 2007). Nos últimos tempos, a necessidade de localização indoor aumentou (Deak, Curran, & Condell, 2012), levando ao aumento do interesse no desenvolvimento de técnicas para este efeito, principalmente por serem fáceis de implementar e de baixo custo, principalmente se optarmos pelas infraestruturas de comunicação (e.g. Wi-Fi, Bluetooth) (Mahtab Hossain, Nguyen Van, & Soh, 2010). Para analisar o movimento de corpos em relação ao ambiente, deve-se ter em atenção cinco parâmetros (O'Sullivan & Igoe, 2004): a posição do corpo no ambiente, a orientação, a velocidade do movimento, a posição absoluta ou relativa, ou seja, saber se a posição é a exata ou se apenas foi alterada em relação à posição anterior, Identidade do objeto, para ser possível distinguir-se dos outros objetos; Quando se refere à posição e orientação, tem de se considerar os Degrees of Freedom (DOF). Para a posição existem três DOF: esquerda para direita (eixo X), cima e baixo (eixo Y) e frente para trás (eixo Z). Existem outros três DOF para a orientação e rotação: rotação sobre o eixo X, rotação sobre o eixo Y e rotação sobre o eixo Z. Há diversas formas de sentir a presença de uma pessoa num determinado espaço, sendo a gama de sensibilidade o critério mais importante para a escolha de um sensor. A maioria dos sensores calcula a distância em relação ao alvo emitindo energia sobre a 55

80 forma de luz, magnetismo ou som (O'Sullivan & Igoe, 2004). Os métodos menos eficazes de localização indoor pretendem apenas sentir quando a pessoa se aproxima, sendo normalmente utilizados, por exemplo, para acender as luzes em casas de banho e as manter acesas durante a presença da pessoa, apagando-as quando deixar de a sentir. Já os mais sofisticados fazem por sentir a posição exata da pessoa em cada instante, sendo normalmente utilizado em projetos que requerem elevada fiabilidade. Existem algumas técnicas para detetar a presença de uma pessoa ou objeto em espaços interiores. Estas técnicas pretendem despoletar uma ação aquando a aproximação do alvo. O Sullivan e Igoe analisam quatro destas técnicas (O'Sullivan & Igoe, 2004): Foot Switches, interruptores fotoelétricos, detetores de movimento e interruptores magnéticos. Os Foot Switches são a técnica mais simples para detetar a presença de um utilizador, especialmente numa área pequena. Estes equipamentos, feitos em longas tiras de fita de metal separados por intervalos de tiras de espuma, sentem quando alguém caminha sobre eles, comprimindo as tiras de espuma e fazendo com que as tiras de metais toquem. Contudo, têm de ser suficientemente robustos para aguentar o peso de quem caminha sobre eles. Os interruptores fotoelétricos emitem feixes luminosos para atingir um sensor alvo. Quando algo se intromete entre o sensor e a fonte de luz, quebrando essa ligação, o interruptor é ativado. Um exemplo são as portas automáticas que, ao aproximar do utilizador, abrem-se automaticamente. O funcionamento dos detetores de movimento é bastante idêntico ao dos interruptores fotoelétricos. Estes sensores apenas reagem a alterações na luz infravermelha do espaço, não indicando posição nem orientação da pessoa. Quando comparado aos interruptores fotoelétricos têm algumas vantagens: mais fácil instalação; área mais ampla de cobertura, sensibilidade pode ser ajustada alterando a lente. Normalmente são utilizados pelos alarmes de segurança. Por fim, os interruptores magnéticos são pares de dispositivos formados por um íman e um interruptor, que é constituído por pares de lâminas que podem ser acionadas através de um campo magnético. Na ausência deste campo magnético, as lâminas permanecem afastadas uma da outra. Ao entrarem em contacto com um campo 56

81 magnético, o circuito é fechado, dando origem a uma ação (Braga, 2007). A figura 19 mostra os três últimos sensores abordados. FIGURA 20: INTERRUPTORES FOTOELÉTRICOS (À ESQUERDA), DETETOR DE MOVIMENTO (CENTRO) E INTERRUPTOR MAGNÉTICO (À ESQUERDA). FIGURA ADAPTADA DE (O'SULLIVAN & IGOE, 2004). Os sensores até agora analisados apenas permitem sentir a presença de uma pessoa num determinado sítio, são úteis para fins mais simplistas. Contudo, há casos em que necessitamos de saber, com elevada precisão, a posição que o utilizador possui nesse exato momento, analisar a sua deslocação e até mesmo espoletar ações tendo em conta esse movimento. Para isso precisamos de sensores com maior sensibilidade e precisão, como a identificação por radiofrequência (RFID) e os ultrassons. Um grupo de investigadores afirma que o objetivo da Radio Frequency identifycation (RFID) é guardar e disponibilizar informação através de transmissão eletromagnética para um dispositivo de leitura (Ni, Yunhao, Yiu Cho, & Patil, 2003). Deak et al explicam-nos o uso de RFID para detetar a posição, sendo esta baseada na comunicação entre os leitores e as tags RFID (Deak et al., 2012). Estas tags podem ser classificadas em passivas, se não possuírem energia própria, ou ativas, se possuírem (Esteves, 2005). As tags passivas têm um alcance de aproximadamente 1 a 2 metros, mas em contrapartida os leitores compatíveis são caros. Já as ativas têm um alcance muito maior, chegando às dezenas de metros, sendo indicadas para ambientes maiores. Esta técnica pode ser transformada numa tecnologia de localização, recorrendo à força do sinal entre o leitor e o recetor de RFID (Ni et al., 2003) e é considerada a tecnologia de localização mais adequada para a localização indoor (Razavi & Moselhi, 2012). Possui algumas vantagens, entre as quais a capacidade de trabalhar sobre duras condições ambientais, o rápido tempo de resposta, eficácia, tempo de vida e a baixa necessidade de manutenção (Tesoriero et al., 2010). Quanto em relação aos ultrassons, 57

82 não têm problemas com o barulho. Acredita-se que a próxima geração de RFID pode ser considerada um sistema hibrido, ou seja, irá trabalhar em conjunto com dispositivos móveis de forma a estimar a localização com maior precisão (Deak et al., 2012). Utilizando ultrassons podemos estimar a distância entre o transmissor e o recetor, medindo o tempo de voo dos ultrassons e tendo em conta a velocidade do som (Sanchez et al., 2012), ou seja, o transmissor emite um ultrassom e o cálculo é feito com base do tempo que demora a regressar (O'Sullivan & Igoe, 2004), sendo que quanto mais demorar, mais longe está o recetor. Alberto Sanchez, anteriormente referido, diz que existem duas estratégias principais para calcular a posição: triangulação e trilateração. Enquanto a triangulação calcula os ângulos entre o transmissor e o recetor, a trilateração calcula a distância entre ambos. Trilateração possui a vantagem de ser de execução mais rápida que a triangulação e produzir os resultados com precisão aceitável (Melo, Souza, & Silva, 2012). A trilateração requer hardware mais complexo, como antenas unidirecionais e o cálculo matemático é também mais difícil. Sanchez et al explicam o processo da trilateração, que mede as distâncias entre alguns pontos fixos e o alvo (Sanchez et al., 2012). Este método requer, regra geral, quatro pontos fixos cujas distâncias em relação ao alvo são calculadas. Contudo, três pontos são suficientes para se obter a posição, como mostra a Figura 20. Cada distância define uma esfera (s1), onde o centro é a posição do ponto de ancoragem e a distância é o raio. O objeto está num ponto desta esfera, não sendo possível obter a sua posição apenas com uma medição. Utilizando-se uma nova medição (s2), as duas esferas (s1, s2) intersectam-se. Por fim, a terceira medição (s3) intersecta-as em 2 pontos (P1, P2), sendo estes os possíveis resultados de uma triangulação. P1 e P2 têm os mesmos valores nos eixos X e Y, mas variam no sinal no eixo Z. Supondo que os pontos de ancoragem estão colocados no teto, um desses pontos (p1) encontra-se acima dele, sendo descartado pois os ultrassons não ultrapassam paredes. Desta forma, P2 é o resultado que pretendíamos, correspondendo assim ao ponto do objeto recetor. Com uma quarta medição poder-se-ia resolver este problema do eixo Z. 58

83 FIGURA 21: TRILATERAÇÃO UTILIZANDO TRÊS PONTOS DE ANCORAGEM (SANCHEZ ET AL., 2012). A maioria dos sistemas de localização que recorrem ao tempo de voo para calcular a distância são baratos e eficientes, sendo grande parte desta eficácia devido à lenta propagação do ultrassom no ar, que é de aproximadamente 343 m/s em ambientes de sensivelmente 20º celsius (Schweinzer & Kaniak, 2010). Os primeiros projetos englobando ultrassons foram estudados nos sistemas Bats (Harter, Hopper, Steggles, Ward, & Webster, 1999) e Cricket (Priyantha, Chakraborty, & Balakrishnan, 2000). O sistema Bats consiste num emissor e recetor, num controlador lógico e num transdutor ultrassónico, com 5x3x2 cm de medida, peso de 35g, e cada Bat possui um identificador único. O funcionamento é simples: a estação base emite periodicamente uma mensagem rádio que contém um identificador único, provocando reação no Bat correspondente que emite um ultrassom. Simultaneamente, os recetores de ultrassons que se encontram alcançáveis reiniciam os valores e monitorizam o ultrassom emitido, calculando o tempo de chegada de algum sinal do Bat. Utilizando a velocidade do som no ar, possível de obter através da temperatura ambiente, o tempo de voo do ultrassom para os recetores é calculado e convertido. O sistema Cricket foi desenvolvido para custar menos de 10 US dólares (aproximadamente 7,5 à data de hoje) e combina o uso de radiofrequências (RF) e ultrassons para fornecer um serviço de suporte à localização para utilizadores e aplicações. Este sistema utiliza balizas de transmissão e um dispositivo recetor móvel. 59

84 À semelhança do Bats, as balizas emitem ultrassons sincronizados com RF, calculando o tempo de voo. Estes sistemas foram concebidos para terem uma precisão o mais apurada possível, podendo ser de 10 cm e orientação de 3 graus num ambiente com baixo ruído (Gonzalez & Bleakley, 2007). Contudo, segundo o autor por último referenciado, a precisão é rapidamente afetada pelo ruído. Atualmente as aplicações de dispositivos ultrassónicos são imensas. Por exemplo, um projeto junta Arduíno e ultrassons para construir um sistema de auxílio ao estacionamento do automóvel (Satorius, 2012). Este sistema utiliza dois emissores de ultrassom que deteta a distância em relação ao automóvel e comunica com um semáforo que, com o aproximar do automóvel, muda de verde para amarelo e posteriormente para vermelho. Este sistema pode ser executado em dois lugares de estacionamento. Os ultrassons têm três vantagens sobre os dispositivos de radiofrequência (Gonzalez & Bleakley, 2007). Em primeiro lugar, a menor velocidade de propagação dos sistemas de ultrassom facilita a recolha de dados mais precisos. Em segundo lugar, os sinais ultrassonoros não atravessam paredes, não interferindo assim com outros sistemas. Por fim, os sistemas RF são proibidos ou inúteis em determinadas situações, como hospitais, navios e submarinos. Concluindo, os ultrassons funcionam com alta precisão em curtas distâncias, calculando a posição relativa entre a fonte e o recetor. Já RFID tem menor precisão mas mais alcance, permitindo que várias tags sejam detetadas a partir do mesmo leitor (O'Sullivan & Igoe, 2004). Nas últimas décadas tem-se presenciado uma grande evolução das chamadas novas tecnologias. A informática passou a fazer parte integrante de praticamente todas as tarefas do quotidiano. Contudo, é necessário olhar para o computador de outra forma. O Sullivan e Igoe acreditam que se deve utilizar o computador para interagir com as rotinas (O'Sullivan & Igoe, 2004). Chris Crawford define interação como um processo iterativo de ouvir, pensar e falar entre dois ou mais atores (Crawford, 2002). Usar os SBC para interagir entre o mundo físico e o mundo virtual permite ganhar um maior controlo sobre os objetos, desde abrir uma porta ou ligar um carro, até tarefas mais complexas, como monitorizar ambientes e fazer repercutir alterações em físicas de um 60

85 contexto geográfico, num modelo virtual. A isto pode-se ainda juntar sensores de deteção de localização indoor e de deteção de presença, que possibilitam saber a posição exata de um utilizador dentro de um espaço físico Aplicações para o caso de estudo: as imobiliárias Num tempo em que a Internet é cada vez mais um centro de oportunidades de negócio, surgem diariamente aplicações capazes de facilitar o dia-a-dia da sociedade, desde organizar o dia de trabalho, até informar acerca de horários dos transportes públicos ou simplesmente aplicações para entreter e divertir o utilizador Aplicações web para imobiliárias Existe um vasto leque de aplicações web para comércio de imóveis. Em Portugal destacam-se o Imovirtual (FixeAds - Serviços de Internet, 2012) e o Casa Sapo (Janela Digital, Telecom, & Sapo, 2012). Como a maioria das aplicações deste género, estas permitem que o utilizador pesquise através de vários tipos de características, selecionem regiões e visualizem diversas informações úteis em cada anúncio. O Imovirtual permite, em casas que se encontrem em regiões suportadas, a integração do mapa StreetView, da Google. O Casa Sapo permite que sejam adicionadas plantas do imóvel e fotografias 360º, sendo necessária a instalação do plug-in Adobe Shockwave Player para a sua visualização. Também possui uma aplicação para dispositivos móveis, Android e ios, que é uma versão otimizada da aplicação web para dispositivos móveis, apresentando também um mapa com marcação geográfica dos anúncios. Ambos possuem vários dados estatísticos para a região selecionada, como preço por m 2, evolução de preços e informações demográficas Aplicações de RA para dispositivos móveis Há também algumas aplicações de realidade aumenta para dispositivos móveis, principalmente para os SO Android e ios. Contudo, no contexto imobiliário são muito 61

86 poucas aquelas que se diferenciam das tradicionais aplicações web. As aplicações para dispositivos móveis, como referido em relação à aplicação do Casa Sapo, são normalmente uma otimização da aplicação web, com uma interface mais limpa e menos detalhada. Uma aplicação que contraria esta tendência não está disponível para Portugal: HomeSpotter, da Mobile Realty Apps (Apps, 2012). Esta aplicação aproveita os tradicionais conceitos e junta-lhe o de RA: ambiente que envolve tanto realidade virtual como elementos do mundo real, criando uma mistura dos dois em tempo real. Esta aplicação, atualmente disponível para ios, utiliza o recetor GPS e bússola do dispositivo e, através da webcam, captura o ambiente onde o utilizador se encontra, analisa-o e sobrepõe a informação sobre as casas que se encontram para venda ou aluguer. Possui também um radar que mostra a direção e proximidade a essas mesmas casas. Esta empresa tem também uma aplicação baseada em QR-Code para imobiliárias, que após analisados redirecionam para a aplicação web. Existem também algumas aplicações que utilizam dados sensoriais para transmitir informações úteis aos utilizadores, como é o caso do Praia em Directo (Vodafone, 2012) e o BeachCam (Comunicações, 2013). A aplicação Praia em Directo mostra mais de 170 zonas balneares de toda a zona costeira de Portugal e permite obter, em tempo real, as seguintes informações sensoriais de cada uma das praias: temperatura do ar, índice UV, velocidade do vento, direção do vento, humidade do ar, pressão atmosférica, pluviómetro e qualidade e temperatura da água. Como é possível visualizar na Figura 21, é também permitido consultar o histórico do dia, semana e mês. 62

87 FIGURA 22: APLICAÇÃO VODAFONE PRAIA PERMITE ESCOLHER UMA PRAIA DE PORTUGAL E VISUALIZAR DADOS SENSORIAIS EM TEMPO REAL OU BASEADO NO HISTÓRICO. A aplicação BeachCam pretende transmitir informações sobre algumas praias, não só a banhistas mas também a amantes do surf. Menos aprofundada que a Vodafone Praia, a BeachCam faz a análise de pouco mais de uma dezena de praias de norte a sul do país. Ao analisar uma delas, é possível perceber se há condições para a realização de surf ou praia, assim verificar a temperatura atual, altura das ondas, velocidade e direção do vento, a hora prevista para o nascer-do-sol e pôr-do-sol. Além disso, é possível aceder a uma previsão diária da temperatura, altura das ondas e velocidade do vento, descobrindo qual a melhor hora do dia para praticar surf ou praia. Por fim, indica a que hora irá haver alterações da maré nessa praia. Como complemento, permite ainda visualizar em direto a praia através de uma câmara lá instalada. A Figura 22 mostra esta aplicação. 63

88 FIGURA 23: ESTIMATIVAS SENSORIAIS PARA A PRAIA DE ESPINHO, NA APLICAÇÃO BEACHCAM. É importante referir que as aplicações Layar e Wikitude, abordadas anteriormente, podem também aqui ser enquadradas, no contexto de aplicações de RA para dispositivos móveis. Neste capítulo foram estudadas as tecnologias mais relevantes e que poderão ser utilizadas na conceção do sistema pretendido nesta dissertação. Os conceitos abordados neste capítulo foram RA, HTML5, Android e Computação física. 64

89 3- Sistema de RA com contextualização sensorial 3.1 Arquitetura do sistema O principal objetivo do sistema que se pretende desenvolver nesta dissertação é a criação de um sistema de realidade aumentada para dispositivos móveis que interaja com dispositivos sensoriais obtendo, em tempo real, dados através de uma rede sensorial, possibilitando a sua utilização na aplicação de RA, influenciando e condicionando a visualizado de um modelo virtual no dispositivo móvel. É constituída por um componente de aquisição sensorial do contexto, denominado contextualização sensorial, um componente de gestão de dados sensoriais e de um componente de visualização de modelos virtuais contextualizados, como indicado na Figura 24. O componente contextualização sensorial representa todo o processo de recolha de dados sensoriais no espaço físico. Neste componente são utilizados vários SBC (e.g. Raspberry Pi ou Arduino), sendo que a cada um deles estão acoplados sensores, responsáveis pela aquisição de dados sensoriais do mundo real. Posteriormente, para os armazenar, é utilizado o componente de gestão de dados sensoriais, acedido pela interface web, que tratará do armazenamento. Podem existir vários SBC, em diferentes locais, aumentando a quantidade de dados existentes no sistema. O componente seguinte, gestão de dados sensoriais, permite aos restantes componentes comunicarem com a BD, onde estão armazenados os valores sensoriais. Após a aquisição dos dados por parte do módulo anterior, os mesmos são enviados para os webservices deste componente, que fazem o seu tratamento e posterior armazenamento na BD, utilizando um SGBD. Por outro lado, quando o componente de visualização de modelos virtuais contextualizados necessitar de ter acesso a algum desses dados, estes webservices farão uma leitura na BD, devolvendo o valor pretendido. Por fim, o componente de visualização de modelos virtuais contextualizados representa o smartphone ou tablet do utilizador e a aplicação de RA que lá será executada. Esta aplicação vai ser capaz de aceder aos dados sensoriais, através do componente gestão de dados sensoriais, sendo possível ao utilizá-los para influenciar ou 65

90 condicionar a visualização do modelo virtual, cujo rendering é visualizado no dispositivo móvel. Em síntese, será feita a aquisição dos dados sensoriais através de vários SBC (componente de contextualização sensorial), sendo posteriormente armazenados na BD (componente de gestão de dados sensoriais), utilizando um SGBD. Por fim, a aplicação de RA irá ser executada no dispositivo móvel e pode aceder a esses dados, influenciando ou condicionando a forma como o modelo virtual é visualizado (componente de visualização de modelos virtuais contextualizados). FIGURA 24: ARQUITETURA DA APLICAÇÃO PARA VISUALIZAÇÃO DE DADOS SENSORIAIS EM APLICAÇÕES DE REALIDADE AUMENTADA Contextualização sensorial Este bloco funcional tem como função adquirir dados sensoriais no espaço físico. Isso é possível utilizando, por exemplo, um ou vários SBC, como o Raspberry Pi ou o Arduino, que permitem a acoplação de um ou vários sensores. Com estes dispositivos, este sistema pretende ter um conjunto de sensores que façam recolhas sensoriais, obtendo, por exemplo, dados relativos à temperatura, humidade, iluminação, no espaço físico. Após estas recolhas, e utilizando os webservices do componente de gestão de dados sensoriais, será feito o armazenamento na BD. A Figura 25 representa o fluxo deste componente. 66

91 FIGURA 25: FLUXO DO COMPONENTE DE CONTEXTUALIZAÇÃO SENSORIAL Gestão de dados sensoriais O componente de gestão de dados sensoriais, composto por um ou vários webservices, um SGBD e uma BD, é o componente que irá permitir aos diversos componentes comunicarem entre si. A Figura 26 representa a comunicação dos componentes de contextualização sensorial e visualização de modelos virtuais contextualizados com este. O primeiro, utiliza este componente apenas para armazenar os dados, utilizando estes webservices que, através de um SGBD, efetuam as operações na BD. Já o segundo componente, ao necessitar de alguma informação da BD, irá obtêla BD, utilizando o mesmo processo explicado anteriormente, e fá-la-á chegar à aplicação de RA. FIGURA 26: BLOCO DE OPERAÇÃO DO WEBSERVICE. 67

92 Visualização de modelos virtuais contextualizados O componente visualização de modelos virtuais contextualizados irá conter todo o fluxo de dados necessário durante o período em que a aplicação de RA estiver a ser executada no dispositivo móvel. O fluxo de dados deste componente está representado na Figura 27. Quando a aplicação for iniciada, a câmara do dispositivo será automaticamente ligada, passando ao módulo Tracking e deteção da marca. Neste módulo será feita a análise das frames capturadas pela câmara até que seja detetada uma marca de R.A. associada à aplicação. Após a deteção da marca e enquanto esta estiver visível, será feito o tracking da mesma, ou seja, atualizar a sua posição e orientação relativamente às frames de vídeo capturadas quando ocorrerem alterações. Após a deteção da marca e recorrendo ao componente de gestão de dados sensoriais, serão lidos da base de dados os valores sensoriais recolhidos que poderão ser utilizados para definir algumas propriedades, influenciando ou condicionando a visualização do modelo virtual associado a essa marca. De seguida, será feito o Rendering desse modelo virtual com as respetivas propriedades que lhe foram impostas, surgindo no ecrã do dispositivo móvel a integração do modelo virtual nas frames capturadas, dando origem ao módulo Visualização, onde o utilizador poderá interagir com os dados sensoriais existentes. 68

93 FIGURA 27: FLUXO DE DADOS DO BLOCO DE OPERAÇÃO DISPOSITIVO MÓVEL 3.2 Proposta de layout Para um melhor funcionamento da aplicação deverão ser adotadas algumas normas para garantir o perfeito funcionamento do sistema. Desta forma, a interface da aplicação deverá cumprir alguns requisitos durante a sua construção. Pretendendo-se uma interação o mais fácil e intuitiva possível, a interface deverá primar pela simplicidade e eficácia. A interação deverá ser através de botões (toque), sendo que estes devem ter um tamanho aceitável relativamente às dimensões do ecrã, de forma a evitar dificuldades para despoletar a ação a eles associados. Além disso, ao tocar num botão, deve-se garantir que estão suficientemente afastados entre si, de forma a não tocar em dois simultaneamente e intencionalmente. Por último, o layout deverá ser responsivo, ou seja, não deverão ser utilizadas medidas absolutas mas sim relativas, permitindo que o mesmo layout se adapte às diferentes resoluções do ecrã. É importante referir também que, para maior comodidade, deverá ser utilizada a orientação Landscape do dispositivo, disponibilizando maior espaço horizontal para apresentar todas estas informações. A interface foi pensada de forma a permitir diversas áreas de interação e apresentação de informação, como mostra a Figura 28: 69

94 FIGURA 28: DIVISÃO DA INTERFACE DA APLICAÇÃO. A interface proposta está dividida em quatro áreas distintas. A primeira área, na parte central e com um maior tamanho, destina-se à apresentação do conteúdo de RA, bem como todas as suas alterações. As restantes áreas são hipótese para a colocação dos botões e de possíveis informações sensoriais que possam ser importantes para o utilizador. Por isso, as áreas assinaladas com o número 2 e 4 seriam hipótese para a colocação dos botões, enquanto a área 3 será uma boa zona para exibir as informações sensoriais. Desta forma, mantém-se uma interface leve, simples e elegante, não intrusivas entre si. Por fim, achou-se que a parte inferior não tem tanto destaque como a parte superior, pelo que é preferível fazer parte da área de visualização do conteúdo realidade aumentada. Contudo, a parte inferior poderá no futuro ser utilizada para apresentação de publicidade. 70

95 3.3 Protótipo No âmbito desta dissertação e utilizando os blocos funcionais descritos anteriormente, procedeu-se à construção de um protótipo da aplicação, aplicada ao contexto imobiliário. O componente de visualização de modelos virtuais contextualizados será construído utilizando como tecnologias a extensão da framework Vuforia para o GameEngine Unity3D, resultando numa aplicação para dispositivos com o sistema operativo Android. O bloco de contextualização sensorial, por motivos explicados à frente, apenas irá simular medições sensoriais através de um SBC, o Raspberry Pi, de dois parâmetros sensoriais: intensidade de iluminação e temperatura. Por fim, o componente de gestão de dados sensoriais irá ser construído em HTML, PHP, AJAX e JavaScript e o SGBD será MySQL, estando estes num servidor Apache. As recolhas de valores sensoriais serão simuladas através de uma interface gráfica no Raspberry Pi. Esta decisão foi tomada pelo simples facto de ser mais fácil simular dados sensoriais do que esperar que as alterações ocorram naturalmente. Imagine-se o caso do parâmetro temperatura: naturalmente as alterações não ocorrem sempre que pretendemos, podendo demorar horas a acontecer. Já com simulações, podemos provocar alterações neste parâmetro sempre que necessitarmos. Desta forma, optou-se por utilizar uma interface gráfica que, através de botões numa aplicação web, permite modificar os parâmetros sensoriais. Acedendo a esta aplicação web através do Raspberry Pi, prova-se que é possível este SBC enviar valores simulados através do webservice do componente de gestão de dados sensoriais e posteriormente utilizá-los para modificar o modelo virtual, em tempo real Casos de uso Antes de mostrar o processo de construção do protótipo, é importante perceber as funcionalidades que o sistema terá. A Figura 29 representa os casos de uso de um utilizador normal e do administrador do sistema. 71

96 FIGURA 29: CASOS DE USO DA APLICAÇÃO CONCEBIDA. O ator utilizador representa um qualquer utilizador que tenha a aplicação instalada no seu dispositivo móvel Android e que a execute. Este terá acesso a algumas funcionalidades e principalmente à utilização dos parâmetros sensoriais. No caso da iluminação, será ligado ou desligado um candeeiro presente no modelo virtual, com a intensidade de iluminação recebida dos webservices do componente de gestão de dados sensoriais, que varia entre 0 e 8, sendo que o 0 corresponde a desligado e o 8 a ligado com a intensidade máxima. Já o parâmetro de temperatura, após receber o valor atual, irá proceder à substituição da textura atual pela textura associada ao intervalo de temperatura que lhe corresponde, sendo que existem 5 intervalos de temperatura: muito frio, frio, normal, quente e muito quente, sendo que as texturas que lhes estão associadas são baseadas nas cores, respetivamente, azul muito escuro, azul claro, verde, laranja e vermelho. Os casos de uso deste ator são descritos de seguida. Ativar iluminação: Quando a iluminação não estiver a ser utilizada, vai ativála, acendendo o candeeiro no modelo virtual, com o valor da intensidade de iluminação atual. Desativar iluminação: Quando a iluminação estiver a ser utilizada, vai desligá-la, atribuindo a intensidade zero ao candeeiro presente no modelo virtual. Ativar temperatura: Altera a visualização da temperatura no modelo virtual, substituindo-lhe a textura original pela textura do intervalo de temperatura em que está inserida a temperatura atual. 72

97 Desligar temperatura: Desliga a visualização da temperatura e restaura a textura original. Atualizar valores: Substitui os valores de temperatura e iluminação armazenados na aplicação pelos mais recentes. Ativar legenda: Exibe uma legenda que indica os cinco intervalos de temperatura. Desativar legenda: Caso a legenda esteja a ser exibida, oculta-a. Sair: Termina o processo e sai da aplicação. O segundo ator do sistema é o administrador, que será um utilizador com privilégios especiais, a quem é permitido controlar todo o sistema. Desta forma, poderá utilizar o simulador para controlar os dois parâmetros sensoriais, definir os cinco níveis de temperatura e decidir se o parâmetro da temperatura pode ser utilizado na aplicação de RA. Os casos de uso deste utilizador são descritos de seguida: Aumentar valor da temperatura: Verifica o valor atual da temperatura e acrescenta-lhe 1. Diminuir valor da temperatura: Verifica o valor atual da temperatura e retira-lhe 1. Aumentar valor da iluminação: Verifica o valor atual da intensidade da iluminação e acrescenta-lhe 1. Diminuir valor da iluminação: Verifica o valor atual da intensidade da iluminação e retira-lhe 1. Visualizar valores: Apresenta no ecrã os valores atuais da temperatura e da intensidade de iluminação. Permitir temperatura: Permite que, na aplicação de RA, seja utilizado o parâmetro da temperatura, assim como os casos de uso a ele associados. Proibir temperatura: Desabilita a utilização do parâmetro da temperatura na aplicação de RA, assim como os casos de uso a ele associados. Definir níveis de temperatura: Define os cinco intervalos de temperatura possíveis: muito frio, frio, normal, quente, muito quente. 73

98 3.4.2 Bloco funcional gestão de dados sensoriais Formado por um webservice, construído em PHP e por um SGBD MySQL, este bloco funcional foi concebido de forma a identificar os diferentes pedidos provenientes dos restantes blocos funcionais. Quando algum componente necessita de interagir com a BD, efetuam um pedido GET aos webservices, integrados no componente gestão de dados sensoriais, que tratará de fazer a operação correspondente na BD. Em primeiro lugar, o Webservice verifica o que lhe foi enviado através do pedido GET, estando preparado para receber as variáveis sensor, parametro, valor e operacao. Cada uma destas variáveis contém informações uteis para o sistema. A primeira contém a identificação do sensor que efetuou uma medição, a segunda possui a identificação do parâmetro medido, enquanto a terceira representa o valor medido. Por fim, a operacao é uma String que indica o nome da operação a realizar. É também importante referir que a variável parametro corresponde ao parâmetro iluminação quando o seu valor é 0 e à temperatura quando é 1. Como nesta dissertação as medições foram simuladas, definiuse um único sensor que faz a medição dos dois parâmetros: iluminação e temperatura. Para cada uma das operações possíveis existe um ciclo IF, sendo em cada um deles verificado se o valor da variável operacao corresponde à operação desse IF. A variável operacao pode ter os seguintes valores e respetiva funcionalidade: insertdata: Lê na BD o valor atual de um determinado parâmetro e somalhe 1, guardando-o novamente; insertdataless: Lê na BD o valor atual de um determinado parâmetro e subtrai-lhe 1, guardando-o novamente; getvaloriluminacao: Lê na BD o valor atual da iluminação e devolve-o ao componente que fez o pedido; getvalortemperatura: Lê na BD o valor atual da temperatura e devolve-o ao componente que fez o pedido; changeativetemperature: Verifica BD se o uso da temperatura é permitido ou não e troca-o (i.e. Se for permitido, proíbe. Se não for permitido, permite); 74

99 checkstatustemperature: Lê na BD se o uso da temperatura é ou não permitido; getniveistemperatura: Lê na BD os cinco níveis de temperatura; changeniveistemperatura: Atualiza os valores dos cinco níveis de temperatura. Após entrar num ciclo IF e de efetuar o tratamento necessário dos dados, é chamado o método executarquery de uma classe externa que está responsável pela gestão das operações na BD, DataBase.php. Ao ser chamado, esse método recebe uma query como argumento e executa-a e, no caso de ser pretendida alguma informação da mesma, devolve os resultados para o Webservice que, por sua vez, trata de o fazer chegar ao componente que efetuou o pedido. Para que esta resposta seja reconhecida na aplicação desenvolvida no Unity3D, é feita através de um echo dos valores a serem enviados. No caso de ser necessário enviar mais que um valor por pedido (e.g. getniveistemperatura), é feita a concatenação de todos os valores, separados pelo efetuando-se posteriormente um explode da String no bloco em questão, enviando-se a String final também através de um echo Bloco funcional contextualização sensorial Para a construção deste componente foram utilizadas as tecnologias HTML, PHP, JS e AJAX. Construiu-se uma página web, apenas acessível ao administrador do sistema, representada na Figura 30, que contém alguns botões para a simulação dos dados sensoriais, aumentando ou diminuindo o valor atual de um determinado parâmetro. Ao serem utilizados, é efetuado um pedido GET ao webservice, com a variável operacao a ter o valor insertdata ou insertdataless, conforme a intensão do botão. Além desta variável, é também enviada a identificação do parâmetro e do sensor. Neste simulador é também possível ativar ou desativar o uso do parâmetro temperatura na aplicação de RA, sendo que se o uso não for permitido, todas as referências a este parâmetro são também escondidas. Esta ativação/desativação do parâmetro é feita comunicando com o Webservice, do componente de gestão de dados sensoriais, onde a variável operacao do pedido GET tem o valor changeativetemperature. 75

100 Além das simulações e através de dois pedidos GET (onde a variável operacao tem, respetivamente no primeiro e segundo pedido, os valores getvaloriluminacao e getvalortemperatura), é possível visualizar os valores atuais da iluminação e temperatura. No caso da iluminação, não é permitido que os valores sejam menores que 0 e maiores que 8, sendo estes os limites da intensidade de iluminação com que trabalha o Unity3D. É também neste simulador que são definidos os cinco níveis de temperatura, utilizando a variável operacao com o valor changeniveistemperatura no pedido ao Webservice (i.e. componente de gestão de dados sensoriais): é considerado muito frio quando a temperatura está abaixo de x graus, frio quando a temperatura se encontra em x e y graus, assim como normal e quente. Considera-se muito quente quando a temperatura está acima de x graus. FIGURA 30: VISÃO GERAL DO SIMULADOR DE DADOS SENSORIAIS. 76

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID

MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID MAPEAMENTO E LOCALIZAÇÃO DE REGIÕES DE INTERESSE UTILIZANDO REALIDADE AUMENTADA EM DISPOSITIVOS MÓVEIS COM PLATAFORMA ANDROID Alessandro Teixeira de Andrade¹; Geazy Menezes² UFGD/FACET Caixa Postal 533,

Leia mais

REALIDADE AUMENTADA 1. INTRODUÇÃO

REALIDADE AUMENTADA 1. INTRODUÇÃO REALIDADE AUMENTADA 1. INTRODUÇÃO A Realidade Aumentada (RA) (augmented reality) é uma tecnologia, que combina elementos do mundo real com elementos virtuais em 3D, permitindo a interactividade entre objectos

Leia mais

REALIDADE VIRTUAL. Tatiane Cruz de Souza Honório

REALIDADE VIRTUAL. Tatiane Cruz de Souza Honório REALIDADE VIRTUAL Tatiane Cruz de Souza Honório A ilusão vai ser tão grande que não seremos mais capazes de distinguir entre o que é real e o que não é. Steve Williams Sumário Introdução Tipos de Sistemas

Leia mais

UM FRAMEWORK DE REALIDADE AUMENTADA

UM FRAMEWORK DE REALIDADE AUMENTADA UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UM FRAMEWORK DE REALIDADE AUMENTADA PARA O DESENVOLVIMENTO DE APLICAÇÕES PORTÁVEIS PARA A PLATAFORMA POCKET PC

Leia mais

APLICAÇÕES INTERATIVAS EDUCATIVAS UTILIZANDO REALIDADE VIRTUAL E AUMENTADA

APLICAÇÕES INTERATIVAS EDUCATIVAS UTILIZANDO REALIDADE VIRTUAL E AUMENTADA Revista F@pciência, Apucarana-PR, ISSN 1984-2333, v.4, n. 7, p. 61 69, 2009. 61 APLICAÇÕES INTERATIVAS EDUCATIVAS UTILIZANDO REALIDADE VIRTUAL E AUMENTADA Aluna. Aryanne Consolaro (FAP) Aluno. Márcio de

Leia mais

Frameworks para criação de Web Apps para o Ensino Mobile

Frameworks para criação de Web Apps para o Ensino Mobile 393 Frameworks para criação de Web Apps para o Ensino Mobile Lucas Zamim 1 Roberto Franciscatto 1 Evandro Preuss 1 1 Colégio Agrícola de Frederico Westphalen (CAFW) Universidade Federal de Santa Maria

Leia mais

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

História e Evolução da Web. Aécio Costa

História e Evolução da Web. Aécio Costa Aécio Costa A História da Web O que estamos estudando? Período em anos que a tecnologia demorou para atingir 50 milhões de usuários 3 As dez tecnologias mais promissoras 4 A evolução da Web Web 1.0- Passado

Leia mais

Utilizando Realidade Aumentada para identificação de assentos em eventos

Utilizando Realidade Aumentada para identificação de assentos em eventos Utilizando Realidade Aumentada para identificação de assentos em eventos Luciana Bahia Wakabayashi Fabri 1 Helder Rodrigues da Costa 2 RESUMO O presente artigo descreve a utilização da tecnologia de Realidade

Leia mais

Realidade Aumentada Aplicada em Jogos Educacionais

Realidade Aumentada Aplicada em Jogos Educacionais Realidade Aumentada Aplicada em Jogos Educacionais Ezequiel Roberto Zorzal 1, Alexandre Cardoso 1, Claudio Kirner 2, Edgard Lamounier Júnior 1 1 Programa de Pós Graduação em Engenharia Elétrica - Universidade

Leia mais

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

Leia mais

HTML5 E WEB SEMÂNTICA, A WEB COM SIGNIFICADO

HTML5 E WEB SEMÂNTICA, A WEB COM SIGNIFICADO HTML5 E WEB SEMÂNTICA, A WEB COM SIGNIFICADO Djalma Gonçalves Costa Junior¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense (Unipar) Paranavaí - PR - Brasil djalma.g.costajr@gmail.com wmagalhaes@unipar.br

Leia mais

O ESTUDO E A IMPLEMENTAÇÃO DE UMA ARQUITETURA COMPUTACIONAL PARA APLICAÇÕES DE ENTRETENIMENTO

O ESTUDO E A IMPLEMENTAÇÃO DE UMA ARQUITETURA COMPUTACIONAL PARA APLICAÇÕES DE ENTRETENIMENTO O ESTUDO E A IMPLEMENTAÇÃO DE UMA ARQUITETURA COMPUTACIONAL PARA APLICAÇÕES DE ENTRETENIMENTO Arion Roberto Krause 1 ; Andrey Alves 1 ; Rafael Jusinskas Labegalini 1 ; Luiz Fernando Braga Lopes 2 RESUMO:

Leia mais

Ambiente virtual e educacional para auxílio ao estímulo da lateralidade e dos sentidos de crianças

Ambiente virtual e educacional para auxílio ao estímulo da lateralidade e dos sentidos de crianças Ambiente virtual e educacional para auxílio ao estímulo da lateralidade e dos sentidos de crianças Ana Emília Lelis da Silva 1, Nadabe O. Alves Fortes 1, Wender Antônio da Silva 1, Marcos Wagner de Souza

Leia mais

Vox4all Manual de Utilização http://arca.imagina.pt/manuais/manual Vox4all BR.pdf

Vox4all Manual de Utilização http://arca.imagina.pt/manuais/manual Vox4all BR.pdf Vox4all Manual de Utilização http://arca.imagina.pt/manuais/manual Vox4all BR.pdf A voz ao seu alcance! Software de comunicação aumentativa e alternativa para smartphone e tablet Projeto co financiado

Leia mais

Open Graphics Library OpenGL

Open Graphics Library OpenGL Open Graphics Library OpenGL Filipe Gonçalves Barreto de Oliveira Castilho Nuno Alexandre Simões Aires da Costa Departamento de Engenharia Informática Universidade de Coimbra 3030 Coimbra, Portugal http://student.dei.uc.pt/~fgonc/opengl/

Leia mais

Interação Humana com Computador

Interação Humana com Computador Interação Humana com Computador Tecnologias de Computadores André Ferraz N.º24881 Jason Costa N.º25231 Ana Pereira N.º25709 IHC Estudo, planeamento e desenho de uma interação entre o utilizador e computadores.

Leia mais

A plataforma Android: Uma Introdução

A plataforma Android: Uma Introdução A plataforma Android: Uma Introdução Android Iniciativa da Google de prover uma plataforma aberta para Web móvel Open Handset Alliance Associação de um grupo bastante heterogêneo de empresas (operadoras,

Leia mais

UM COMPOSITOR MUSICAL TANGÍVEL USANDO O ARTOOLKIT

UM COMPOSITOR MUSICAL TANGÍVEL USANDO O ARTOOLKIT UM COMPOSITOR MUSICAL TANGÍVEL USANDO O ARTOOLKIT Marcelo Fernandes França (Bolsista PIBIC/CNPq) Felipe Afonso de Almeida (Orientador) Davi D Andréa Baccan (Co-orientador) Instituto Tecnológico de Aeronáutica

Leia mais

Fundamentos da Computação Móvel

Fundamentos da Computação Móvel Fundamentos da Computação Móvel (Plataformas Sistemas Operacionais e Desenvolvimento) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus

Leia mais

Ferramenta auxiliar na modelagem de ambientes utilizando a Realidade Aumentada

Ferramenta auxiliar na modelagem de ambientes utilizando a Realidade Aumentada Ferramenta auxiliar na modelagem de ambientes utilizando a Realidade Aumentada Alan Alberto Alves, Isabel Dillmann Nunes 1 Ciência da Computação Fundação Universidade de Cruz Alta (UNICRUZ) Caixa Postal

Leia mais

APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS

APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS APLICAÇÕES PARA CASAS INTELIGENTES EM AMBIENTES PERVASIVOS RESUMO Alessandro Lumertz Garcia 1 Anderson Yanzer Cabral 2 Este artigo apresenta tipos de aplicações que podem existir nas casas inteligentes,

Leia mais

Desenvolvimento de aplicações utilizando realidade aumentada

Desenvolvimento de aplicações utilizando realidade aumentada Leandro Tonin 1 Prof. MS. Klausner Vieira Gonçalves 2 RESUMO A Realidade Aumentada é uma tecnologia bastante promissora, que permite que o mundo virtual e o real se misturem, dando uma maior interatividade

Leia mais

OpenGL. Uma Abordagem Prática e Objetiva. Marcelo Cohen Isabel Harb Manssour. Novatec Editora

OpenGL. Uma Abordagem Prática e Objetiva. Marcelo Cohen Isabel Harb Manssour. Novatec Editora OpenGL Uma Abordagem Prática e Objetiva Marcelo Cohen Isabel Harb Manssour Novatec Editora Capítulo 1 Introdução A Computação Gráfica é uma área da Ciência da Computação que se dedica ao estudo e ao desenvolvimento

Leia mais

Computação Gráfica, Jogos e Mundos Virtuais na Educação Prof.Dr. Romero Tori 1

Computação Gráfica, Jogos e Mundos Virtuais na Educação Prof.Dr. Romero Tori 1 Romero Tori Centro Universitário SENAC, USP Introdução A Computação Gráfica (CG) surgiu no início dos anos 1960 quando Ivan Sutherland defendeu, no Massachussets Institute of Technology (MIT), a histórica

Leia mais

Viabilidade Técnica - #entrega02 INTRODUÇÃO LISTA DE MATERIAL

Viabilidade Técnica - #entrega02 INTRODUÇÃO LISTA DE MATERIAL Índice INTRODUÇÃO LISTA DE MATERIAL PORQUÊ? TECNOLOGIAS ANDROID MESA TOUCH E COMPONENTES PULSEIRA BLUETOOTH PONTOS DE ACESSO BLUETOOTH SISTEMA DE VIGILÂNCIA ROOTER ECRÃ EXTERNO PLATAFORMAS ADOBE ILLUSTRATOR

Leia mais

APLICAÇÃO DA REALIDADE AUMENTADA PARA AUTOMAÇÃO DE UM BRAÇO ROBÓTICO ATRAVÉS DO RECONHECIMENTO GESTUAL UTILIZANDO O KINECT

APLICAÇÃO DA REALIDADE AUMENTADA PARA AUTOMAÇÃO DE UM BRAÇO ROBÓTICO ATRAVÉS DO RECONHECIMENTO GESTUAL UTILIZANDO O KINECT APLICAÇÃO DA REALIDADE AUMENTADA PARA AUTOMAÇÃO DE UM BRAÇO ROBÓTICO ATRAVÉS DO RECONHECIMENTO GESTUAL UTILIZANDO O KINECT Camilo de Lellis Barreto Júnior, Luciene Chagas de Oliveira, Luiz Otávio Teixeira

Leia mais

Acessibilidade Educacional com Realidade Aumentada

Acessibilidade Educacional com Realidade Aumentada Acessibilidade Educacional com Realidade Aumentada Ewerton Daniel de Lima 1, Fabiano Utiyama 1, Daniela Eloise Flôr 1 1 UNIPAR Universidade Paranaense ewertondanieldelima@hotmail.com,{fabianoutiyama, danielaflor}@unipar.br

Leia mais

PROJETO DE PESQUISA. Automação residencial utilizando dispositivos móveis e microcontroladores.

PROJETO DE PESQUISA. Automação residencial utilizando dispositivos móveis e microcontroladores. PROJETO DE PESQUISA 1. Título do projeto Automação residencial utilizando dispositivos móveis e microcontroladores. 2. Questão ou problema identificado Controlar remotamente luminárias, tomadas e acesso

Leia mais

Unidade 4 Concepção de WEBSITES. Fundamentos do planeamento de um website 1.1. Regras para um website eficaz 1.1.1.

Unidade 4 Concepção de WEBSITES. Fundamentos do planeamento de um website 1.1. Regras para um website eficaz 1.1.1. Unidade 4 Concepção de WEBSITES Fundamentos do planeamento de um website 1.1. Regras para um website eficaz 1.1.1. Sobre o conteúdo 1 Regras para um website eficaz sobre o conteúdo Um website é composto

Leia mais

Uso de Realidade Aumentada no Ensino de Palavras da Língua Inglesa

Uso de Realidade Aumentada no Ensino de Palavras da Língua Inglesa Uso de Realidade Aumentada no Ensino de Palavras da Língua Inglesa César E. B. Júnior 1, Márcio A. Duarte 1 1 Universidade Federal de Goiás - Campus Catalão (UFG) Av. Dr. Lamartine Pinto de Avelar, 1120

Leia mais

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação. GLOSSÁRIO Este glossário contém termos e siglas utilizados para Internet. Este material foi compilado de trabalhos publicados por Plewe (1998), Enzer (2000) e outros manuais e referências localizadas na

Leia mais

Estudo comparativo de diferentes linguagens de interfaces baseadas em XML

Estudo comparativo de diferentes linguagens de interfaces baseadas em XML Estudo comparativo de diferentes linguagens de interfaces baseadas em XML Ricardo Alexandre G. C. Martins, José Carlos Ramalho, and Pedro Rangel Henriques \{ram,jcr,prh\}@di.uminho.pt Departamento de Informática

Leia mais

Tecnologias de Jogos de Vídeo

Tecnologias de Jogos de Vídeo Tecnologias de Jogos de Vídeo Abel J. P. Gomes & Gonçalo Amador LAB. 1 Departamento de Informática Universidade da Beira Interior Portugal 2013 Copyright 2009-2013 All rights reserved. LAB. 1 JogAmp e

Leia mais

Introdução à Multimídia Fundamentos de Realidade Aumentada

Introdução à Multimídia Fundamentos de Realidade Aumentada Introdução à Multimídia Fundamentos de Realidade Aumentada Judith Kelner jk@cin.ufpe.br Gabriel Fernandes de Almeida gfa@cin.ufpe.br Grupo de Pesquisa em Realidade Virtual Multimídia Universidade Federal

Leia mais

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com.

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com. IntroduçãoàTecnologiaWeb FerramentaseTecnologiasde DesenvolvimentoWeb ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br FerramentaseTecnologiasde DesenvolvimentoWeb

Leia mais

Programação para Android

Programação para Android Programação para Android Aula 01: Visão geral do android, instalação e configuração do ambiente de desenvolvimento, estrutura básica de uma aplicação para Android Objetivos Configurar o ambiente de trabalho

Leia mais

23/05/2013. Partes do Sistema Computacional. Hardware. Ciclo do Processamento de Dados HARDWARE: CONCEITOS BÁSICOS. Hardware Software Dados Usuários

23/05/2013. Partes do Sistema Computacional. Hardware. Ciclo do Processamento de Dados HARDWARE: CONCEITOS BÁSICOS. Hardware Software Dados Usuários 2 Partes do Sistema Computacional HARDWARE: CONCEITOS BÁSICOS Software Dados Usuários Introdução à Microinformática Prof. João Paulo Lima Universidade Federal Rural de Pernambuco Departamento de Estatística

Leia mais

Proposta de uma técnica de controle para o Monitoramento Remoto de Sinais vitais em sistemas embarcados

Proposta de uma técnica de controle para o Monitoramento Remoto de Sinais vitais em sistemas embarcados 317 - Encontro Anual de Tecnologia da Informação Proposta de uma técnica de controle para o Monitoramento Remoto de Sinais vitais em sistemas embarcados Poliana Francibele de Oliveira Pereira, Alexandre

Leia mais

Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet.

Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet. TERMINOLOGIA Navegador ou Browser Navegador ou browser, é um programa de computador que permite a seus usuários a interagirem com documentos virtuais da Internet. Os Browsers se comunicam com servidores

Leia mais

HeadMouse. Grupo de Investigação em Robótica. Universidade de Lérida

HeadMouse. Grupo de Investigação em Robótica. Universidade de Lérida HeadMouse Grupo de Investigação em Robótica Universidade de Lérida Manual de utilização e perguntas frequentes O que é o HeadMouse? O HeadMouse é um programa gratuito desenhado para substituir o rato convencional.

Leia mais

Ambiente Virtual de Aprendizagem Multimídia por Streaming e Realidade Virtual

Ambiente Virtual de Aprendizagem Multimídia por Streaming e Realidade Virtual Ambiente Virtual de Aprendizagem Multimídia por Streaming e Realidade Virtual Benjamin G. Moreira 1, Fernando M. de Azevedo 1, Fabiano L. S. Garcia 2 1 Instituto de Engenharia Biomédica - Universidade

Leia mais

REALIDADE VIRTUAL E AUMENTADA CONCEITOS, TECNOLOGIAS E APLICAÇÕES.

REALIDADE VIRTUAL E AUMENTADA CONCEITOS, TECNOLOGIAS E APLICAÇÕES. 1 REALIDADE VIRTUAL E AUMENTADA CONCEITOS, TECNOLOGIAS E APLICAÇÕES. Itamar Albertino de Campos Ciência da Computação 3º Semestre Instituto Cuiabano de Educação Faculdades Integradas Matogrossenses de

Leia mais

X3DOM E WEBGL: O 3D INDEPENDENTE NA WEB

X3DOM E WEBGL: O 3D INDEPENDENTE NA WEB X3DOM E WEBGL: O 3D INDEPENDENTE NA WEB Augusto Francisco Ferbonink¹, Willian Barbosa Magalhães 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil aferbonink@gmail.com wmagalhães@unipar.com Resumo.

Leia mais

Vídeo Vigilância Abordagem Open-Source

Vídeo Vigilância Abordagem Open-Source Vídeo Vigilância Abordagem Open-Source Alunos: Justino Santos, Paulo Neto E-mail: eic10428@student.estg.ipleiria.pt, eic10438@student.estg.ipleiria.pt Orientadores: Prof. Filipe Neves, Prof. Paulo Costa

Leia mais

Service Oriented Architecture SOA

Service Oriented Architecture SOA Service Oriented Architecture SOA Arquitetura orientada aos serviços Definição: Arquitetura de sistemas distribuídos em que a funcionalidade é disponibilizada sob a forma de serviços (bem definidos e independentes)

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 02 História do desenvolvimento de software para dispositivos móveis Dalton Martins dmartins@gmail.com São

Leia mais

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática 1 Este é o seu teste de avaliação de frequência. Leia as perguntas com atenção antes de responder. Escreva as suas respostas nesta folha de teste, marcando um círculo em volta da opção ou opções que considere

Leia mais

Computadores e Informação Digital

Computadores e Informação Digital Computadores e Informação Digital Sérgio Nunes Comunicações Digitais e Internet Ciências da Comunicação, U.Porto 2011/12 Computadores Computador O que é um computador? Um computador é uma máquina programável,

Leia mais

Pré-Projeto do Trabalho de Conclusão de Curso Tiago Garcia Pereira 1. INTRODUÇÃO

Pré-Projeto do Trabalho de Conclusão de Curso Tiago Garcia Pereira 1. INTRODUÇÃO UM PADRÃO ABERTO DE SOFTWARE PARA COMPUTAÇÃO MÓVEL: UM ESTUDO SOBRE GOOGLE ANDROID 1. INTRODUÇÃO O aumento do número usuários de dispositivos móveis atrai cada vez os desenvolvedores a produzir aplicações

Leia mais

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

INICIAÇÃO Revista Eletrônica de Iniciação Científica, Tecnológica e Artística

INICIAÇÃO Revista Eletrônica de Iniciação Científica, Tecnológica e Artística HOLOFACE Programação de Simulação de Interfaces Interativas Aluno: Leandro Santos Castilho 1 Orientador: Romero Tori 2 Linha de Pesquisa: Ambientes Interativos Projeto: Livro 3D Resumo Os conceitos de

Leia mais

Capitulo 11 Multimídias

Capitulo 11 Multimídias Capitulo 11 Multimídias Neste capítulo são exploradas as ferramentas multimídias presentes no SO Android customizadas para o Smartphone utilizado neste manual. É inegável o massivo uso destas ferramentas,

Leia mais

Oficina de Multimédia B. ESEQ 12º i 2009/2010

Oficina de Multimédia B. ESEQ 12º i 2009/2010 Oficina de Multimédia B ESEQ 12º i 2009/2010 Conceitos gerais Multimédia Hipertexto Hipermédia Texto Tipografia Vídeo Áudio Animação Interface Interacção Multimédia: É uma tecnologia digital de comunicação,

Leia mais

PartyPrint ver. 1.5 UE

PartyPrint ver. 1.5 UE DNP PartyPrint ver. 1.5 UE Procedimento de Configuração 2013 Dai Nippon Printing Co., Ltd. Revisão. 1.0.0 Índice 1 PROCEDIMENTO DE INSTALAÇÃO... 1 Preparação para a instalação:... 1 [Windows 8]... 2 [Windows

Leia mais

Indicie. 1.Introdução...1. 2.Como Surgiu...2. 3.Para que serve...3. 4.Instalação...3. 5. Oque ele permite fazer...5. 6. Primeiro Cenário...

Indicie. 1.Introdução...1. 2.Como Surgiu...2. 3.Para que serve...3. 4.Instalação...3. 5. Oque ele permite fazer...5. 6. Primeiro Cenário... Artigo sobre Indicie 1.Introdução....1 2.Como Surgiu....2 3.Para que serve....3 4.Instalação....3 5. Oque ele permite fazer....5 6. Primeiro Cenário....6 7. Segundo Cenário....7 8. Conclusão....8 5. Referencias....9

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

Gráficos 3D na Internet

Gráficos 3D na Internet capítulo 1. Gráficos 3D na Internet Um dos mais recentes desenvolvimentos na Internet foi a implantação do VRML (Virtual Reality Modelling Language) como uma linguagem de descrição de cenas virtuais interactivas

Leia mais

APLICAÇÕES MULTIMÍDIA AULA 3. aplicações 3D e Realidade Aumentada. professor Luciano Roberto Rocha. www.lrocha.com

APLICAÇÕES MULTIMÍDIA AULA 3. aplicações 3D e Realidade Aumentada. professor Luciano Roberto Rocha. www.lrocha.com APLICAÇÕES MULTIMÍDIA AULA 3 aplicações 3D e Realidade Aumentada professor Luciano Roberto Rocha www.lrocha.com Objetivos de aprendizagem Ao estudar esta unidade, você terá conhecimento para: Construir

Leia mais

Escola Secundária da Trofa Aplicações Informáticas A 11º Ano Curso Tecnológico de Informática T E S T E T I P O

Escola Secundária da Trofa Aplicações Informáticas A 11º Ano Curso Tecnológico de Informática T E S T E T I P O Grupo I (Utilização de Sistemas Multimédia) 1. Indique os atributos elementares das imagens 2. Complete as seguintes afirmações de forma a torná-las verdadeiras: a. A resolução de uma imagem digital é

Leia mais

PRnet/2013. Linguagem de Programação Web

PRnet/2013. Linguagem de Programação Web Linguagem de Programação Web Linguagem de Programação Web Prnet/2013 Linguagem de Programação Web» Programas navegadores» Tipos de URL» Protocolos: HTTP, TCP/IP» Hipertextos (páginas WEB)» HTML, XHTML»

Leia mais

Modelo: H.264 Câmera IP (1.0 Megapixels) guia de instalação rápida

Modelo: H.264 Câmera IP (1.0 Megapixels) guia de instalação rápida 1 Modelo: H.264 Câmera IP (1.0 Megapixels) guia de instalação rápida 1. Colocado diretamente no desktop Colocou a câmera IP na posição adequada 2 2. Montagem na parede O suporte com o parafuso de bloqueio

Leia mais

GuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG

GuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG GuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG Bruno Alberto Soares Oliveira 1,3 ; Lucas Vieira Murilo 1,3 ; Maik Olher Chaves 2,3 1 Estudante de Engenharia de

Leia mais

Introdução à Internet

Introdução à Internet Introdução à Internet Paulo Santos v. 2.0-2012 1 Índice 1 Introdução à Internet... 3 1.1 Conceitos base... 3 1.1.1 O que é a internet?... 3 1.1.2 O que é preciso para aceder à internet?... 3 1.1.3 Que

Leia mais

SISTEMA DE APOIO A DECISÃO UTILIZANDO REALIDADE VIRTUAL E AUMENTADA

SISTEMA DE APOIO A DECISÃO UTILIZANDO REALIDADE VIRTUAL E AUMENTADA SISTEMA DE APOIO A DECISÃO UTILIZANDO REALIDADE VIRTUAL E AUMENTADA Kenedy Lopes Nogueira. Edgard Lamounier, Gerson F. Lima klnogueira@hotmail.com, elamounier@gmail.com Universidade Federal de Uberlândia

Leia mais

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Outubro de 2003 ISBN: 972-8426-76-3 Depósito legal: 202574/03

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Outubro de 2003 ISBN: 972-8426-76-3 Depósito legal: 202574/03 FICHEIROS COM EXEMPLOS Envie um e-mail* para software@centroatlantico.pt para conhecer os endereços de Internet de onde poderá fazer o download dos ficheiros com os exemplos deste livro. * O leitor consente,

Leia mais

Universidade Católica de Pelotas. Centro Politécnico. Analise e Desenvolvimento de Sistema LET S RUNNING. Por. Guilherme Carvalho Gehling

Universidade Católica de Pelotas. Centro Politécnico. Analise e Desenvolvimento de Sistema LET S RUNNING. Por. Guilherme Carvalho Gehling Universidade Católica de Pelotas Centro Politécnico Analise e Desenvolvimento de Sistema LET S RUNNING Por Guilherme Carvalho Gehling Documento de conclusão da disciplina de Trabalho de Curso II Orientador.

Leia mais

Módulo 1 Introdução às Redes

Módulo 1 Introdução às Redes CCNA 1 Conceitos Básicos de Redes Módulo 1 Introdução às Redes Ligação à Internet Ligação à Internet Uma ligação à Internet pode ser dividida em: ligação física; ligação lógica; aplicação. Ligação física

Leia mais

POR MUITAS VOLTAS QUE A VIDA DÊ, ESTAMOS SEMPRE AO SEU LADO.

POR MUITAS VOLTAS QUE A VIDA DÊ, ESTAMOS SEMPRE AO SEU LADO. INSTITUTO POLITÉCNICO DE VIANA DO CASTELO 24 A 26 OUTUBRO 2012 Tal como o sol se põe para no dia seguinte se erguer, também as más notícias são sucedidas pelas boas, numa sequência que não termina. É por

Leia mais

Ambientes de Realidade Virtual e Realidade Aumentada na Preservação do Patrimônio Histórico

Ambientes de Realidade Virtual e Realidade Aumentada na Preservação do Patrimônio Histórico Ambientes de Realidade Virtual e Realidade Aumentada na Preservação do Patrimônio Histórico Marcelo Knörich Zuffo Roseli de Deus Lopes Laboratório de Sistemas Integráveis (LSI) Departamento de Engenharia

Leia mais

SENAI São Lourenço do Oeste. Introdução à Informática. Adinan Southier Soares

SENAI São Lourenço do Oeste. Introdução à Informática. Adinan Southier Soares SENAI São Lourenço do Oeste Introdução à Informática Adinan Southier Soares Informações Gerais Objetivos: Introduzir os conceitos básicos da Informática e instruir os alunos com ferramentas computacionais

Leia mais

INDASH MANUAL DO USUÁRIO

INDASH MANUAL DO USUÁRIO INDASH MANUAL DO USUÁRIO Índice Bem-vindo... 2 Tela Principal do mapa... 2 Interação Básica... 4 Explorar os menus... 4 Utilizar os teclados... 4 Efectuar uma pesquisa... 7 Tela Go... 7 Como Navegar...

Leia mais

Foz do Iguaçu PR Brasil luiz.baltazar@gmail.com, joao@barbosa.net.br, jorgeaikes@gmail.com

Foz do Iguaçu PR Brasil luiz.baltazar@gmail.com, joao@barbosa.net.br, jorgeaikes@gmail.com Análise de Desempenho e Viabilidade do Raspberry Pi como um Thin Client utilizando o Protocolo SPICE Luiz Alberto Alves Baltazar 1, João Paulo de Lima Barbosa 1, Jorge Aikes Junior 1 1 Curso de Ciência

Leia mais

ESTUDO PARA A INTEGRAÇÃO DE EQUIPAMENTOS DE REALIDADE VIRTUAL EM PROJETOS ACADÊMICOS DE SOFTWARE

ESTUDO PARA A INTEGRAÇÃO DE EQUIPAMENTOS DE REALIDADE VIRTUAL EM PROJETOS ACADÊMICOS DE SOFTWARE ESTUDO PARA A INTEGRAÇÃO DE EQUIPAMENTOS DE REALIDADE VIRTUAL EM PROJETOS ACADÊMICOS DE SOFTWARE Rafael Dionísio Toledo Bacharelando em Sistemas de Informação Bolsista de Iniciação Científica da Fapemig

Leia mais

GUIA DE RECURSOS SMART

GUIA DE RECURSOS SMART GUIA DE RECURSOS SMART Características dos aplicativos da SMART TV 1.Android 4.2 dual-core smart TV 2.Conexão de rede (com fio/sem fio/pppoe/wlan HP) 3. Sync-View (opcional) 4. Multi-screen Interativa

Leia mais

Claudio Kirner UNIFEI. WRVA 2014 Marília-SP

Claudio Kirner UNIFEI. WRVA 2014 Marília-SP Claudio Kirner UNIFEI 2014 WRVA 2014 Marília-SP Sumário Inovação social Realidade Aumentada Cenário das Aplicações Ferramentas de Autoria de Realidade Aumentada Aplicações de Realidade Aumentada Tendências

Leia mais

Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados 6.2.1. Visão Estrutural 6.2.2. SGBD: Sistema de Gestão de Bases de Dados

Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados 6.2.1. Visão Estrutural 6.2.2. SGBD: Sistema de Gestão de Bases de Dados Curso Profissional de Técnico de Multimédia 12ºAno Disciplina: Sistemas de Informação Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados 6.2.1. Visão Estrutural 6.2.2. SGBD: Sistema

Leia mais

INICIAÇÃO Revista Eletrônica de Iniciação Científica, Tecnológica e Artística

INICIAÇÃO Revista Eletrônica de Iniciação Científica, Tecnológica e Artística Avaliação de softwares de rastreamento de cabeça Alunos: Filipe Kunioshi 1 Francisco Carvalho Nin Ferreira 2 Orientador: Fábio R. de Miranda 3 Laboratório de Pesquisa em Ambientes Interativos Centro Universitário

Leia mais

Sistema Solar com Realidade Aumentada

Sistema Solar com Realidade Aumentada Sistema Solar com Realidade Aumentada Eduardo S. Okawa, Claudio Kirner, Tereza G. Kirner ICE / DMC / UNIFEI - Universidade Federal de Itajubá dudu.unifei@gmail.com, ckirner@gmail.com, tgkirner@gmail.com

Leia mais

Pág. 1 de 9 geral@cadtresd.pt http://www.cadtresd.pt Room Player

Pág. 1 de 9 geral@cadtresd.pt http://www.cadtresd.pt Room Player Pág. 1 de 9 1. Room Player Room Player é um software dedicado às vendas em rede, aos particulares, aos arquitetos de interior e profissionais do imobiliário. O Room Player é assim um Software 3D para layout

Leia mais

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres.

Módulo I - Introdução. Faculdade Christus Sistemas de Informação 17/09/2010. Carlos Eugênio Torres Engenheiro de Informática http://cetorres. Módulo I - Introdução Aula 2 Carlos Eugênio Torres Engenheiro de Informática http://cetorres.com Faculdade Christus Sistemas de Informação 17/09/2010 Graduado em Ciência da Computação pela UFC, Brasil

Leia mais

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Março de 2004 ISBN: 972-8426-81-X Depósito legal: 207877/04

geral@centroatlantico.pt www.centroatlantico.pt Impressão e acabamento: Inova 1ª edição: Março de 2004 ISBN: 972-8426-81-X Depósito legal: 207877/04 Reservados todos os direitos por Centro Atlântico, Lda. Qualquer reprodução, incluindo fotocópia, só pode ser feita com autorização expressa dos editores da obra. Adobe Reader 6 Colecção: Software obrigatório

Leia mais

Internet. O que é a Internet?

Internet. O que é a Internet? O que é a Internet? É uma rede de redes de computadores, em escala mundial, que permite aos seus utilizadores partilharem e trocarem informação. A Internet surgiu em 1969 como uma rede de computadores

Leia mais

Pág 31. UC Introdução a Informática Docente: André Luiz Silva de Moraes 1º sem Redes de Computadores. 5 Introdução ao uso do BrOffice Impress

Pág 31. UC Introdução a Informática Docente: André Luiz Silva de Moraes 1º sem Redes de Computadores. 5 Introdução ao uso do BrOffice Impress 5 Introdução ao uso do BrOffice Impress O pacote BrOffice é um pacote de escritório muito similar ao já conhecido Microsoft Office e ao longo do tempo vem evoluindo e cada vez mais ampliando as possibilidades

Leia mais

O USO DE PLATAFORMAS OPEN SOURCE PARA O ENSINO DA TECNOLOGIA DE IDENTIFICAÇÃO POR RÁDIO FREQUÊNCIA (RFID)

O USO DE PLATAFORMAS OPEN SOURCE PARA O ENSINO DA TECNOLOGIA DE IDENTIFICAÇÃO POR RÁDIO FREQUÊNCIA (RFID) O USO DE PLATAFORMAS OPEN SOURCE PARA O ENSINO DA TECNOLOGIA DE IDENTIFICAÇÃO POR RÁDIO FREQUÊNCIA (RFID) Katielle Dantas Oliveira 1 katielledantas@gmail.com Maurício Barros de Almeida Neto 1 mauricio.ifce.br@gmail.com

Leia mais

APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS

APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS 3.INTERNET 3.1. Internet: recursos e pesquisas 3.2. Conhecendo a Web 3.3. O que é um navegador?

Leia mais

MONITORAMENTO RESIDENCIAL UTILIZANDO O ZABBIX E O PADRÃO IEEE 802.15.4 RESIDENTIAL MONITORING USING ZABBIX AND IEEE 802.15.

MONITORAMENTO RESIDENCIAL UTILIZANDO O ZABBIX E O PADRÃO IEEE 802.15.4 RESIDENTIAL MONITORING USING ZABBIX AND IEEE 802.15. MONITORAMENTO RESIDENCIAL UTILIZANDO O ZABBIX E O PADRÃO IEEE 802.15.4 W. ROMEIRO * e F. COSTA Instituto Federal de Ciências e Tecnologias do Rio Grande do Norte wr.romeiro@gmail.com * Artigo submetido

Leia mais

5 Sistema Experimental

5 Sistema Experimental 5 Sistema Experimental Este capitulo apresenta o sistema experimental utilizado e é composto das seguintes seções: - 5.1 Robô ER1: Descreve o robô utilizado. É dividida nas seguintes subseções: - 5.1.1

Leia mais

Kaspersky Security for Mobile

Kaspersky Security for Mobile Kaspersky Security for Mobile 1 Kaspersky Security for Mobile Dez anos de liderança em segurança móvel Tecnologia em constante evolução para ameaças em constante evolução. A Kaspersky Lab tem vindo a

Leia mais

Banco de Dados Multimídia

Banco de Dados Multimídia Banco de Dados Multimídia Nomes: Ariane Bazilio Cristiano de Deus Marcos Henrique Sidinei Souza Professor Mauricio Anderson Perecim Conteúdo Banco de Dados Multimídia... 3 Conceitos... 3 Descrição... 3

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

Leia mais

Introdução à Engenharia de Computadores e Telemática. Guião das Aulas Práticas

Introdução à Engenharia de Computadores e Telemática. Guião das Aulas Práticas Introdução à Engenharia de Computadores e Telemática Guião das Aulas Práticas Departamento de Eletrónica, Telecomunicações e Informática Universidade de Aveiro 20122013 Conteúdo 1 Introdução ao UNIX 3

Leia mais

Emprego da Realidade Virtual como ambiente de trabalho para a Arquitetura e Engenharia Civil 1 - Introdução

Emprego da Realidade Virtual como ambiente de trabalho para a Arquitetura e Engenharia Civil 1 - Introdução Emprego da Realidade Virtual como ambiente de trabalho para a Arquitetura e Engenharia Civil Francisco Assis da Silva Faculdade de Informática - UNOESTE Rua: José Bongiovani, 700, Cidade Universitária,

Leia mais

A REALIDADE AUMENTADA NO ENSINO DA GEOMETRIA DESCRITIVA

A REALIDADE AUMENTADA NO ENSINO DA GEOMETRIA DESCRITIVA A REALIDADE AUMENTADA NO ENSINO DA GEOMETRIA DESCRITIVA Alvaro José Rodrigues de Lima UFRJ - Universidade Federal do Rio de Janeiro, Departamento de Técnicas de Representação alvarogd@globo.com Cristina

Leia mais