Anda di halaman 1dari 6

Relatrio Ambientes Inteligentes Domobi: Interface Mvel de acesso ao sistema DomoBus

Introduo
Existem duas componentes muito importantes num sistema de domtica: o hardware, que controla as aces e reaces, e a interface, que responsvel por interagir, accionar mecanismos e alertar. Existem hoje em dia no mercado muitos equipamentos que servem de interface para sistemas de domtica, diferentes do DomoBus. A maior parte destes so exclusivamente dedicados a interagir com um sistema e so por isso equipamentos caros, difceis de encontrar e de actualizar, e que requerem uma habituao nova por parte dos utilizadores. Nos anos recentes observmos a exploso dos smartphones e tablets, equipamentos mveis que tm velocidades de processamento e grficas muito acima dos telemovis e pda's mais antigos, e que conseguem correr programas mais avanados. Este projecto focou-se em criar uma interface para aceder a um sistema DomoBus, baseado num sistema web, adaptado a ecrs e resolues de tablets. A escolha dos tablets recaiu em vrios factores: pelo seu preo mais acessvel, pela funo touch que todos partilham, no sendo necessrio criar aces para butes ou controlos, pelo tamanho til do ecr, ao contrrio dos smartphones , e pelo seu peso e ergonomia, pois so facilmente utilizveis em vrias posies. Desta forma pude focar-me a produzir a interface, o software, sem ter a preocupao de pensar e desenhar o hardware. A escolhar de criar uma aplicao web teve em conta as factores de os tablets possuirem hoje browsers com capacidades extraordinrias, que conseguem fazer a renderizao e interpretao de HTML5 sem complicaes. Desta forma ao criar uma aplicao web estava a criar uma aplicao que funciona em Android, iPad, Blackberry, Windows Mobile, assim como outros sistemas operativos disponveis para tablet. Vou designar a aplicao como Domobi a partir do prximo captulo.

Objectivos
O Domobi deve responder a uma srie de requisitos. essencial que esta aplicao seja compatvel como o sistema DomoBus1, ou seja, tem de saber interpretar uma configurao e comunicar com o sistema. Deve oferecer uma interface que permita navegar pela estrutura fsica da habitao, aceder a dispositivos e s suas propriedades para conhecer o valor ou para alterar, despoletando aces. Deve tambm oferecer um sistema de favoritos que permita ao utilizar marcar os dispositivos que pretende usar com mais frequncia, acendendo assim de uma forma mais rpida. Alm destes objectivos pretendi tambm oferecer uma aplicao modular que permita visualizar e interagir com mais sistemas. Dessa forma possvel utilizando esta aplicao interagir com vrios equipamentos e saber em tempo real o estado deles.
1 http://domobus.net/

Arquitectura
O Domobi foi produzida utilizando ferramentas totalmente grtis e open-source permitindo dessa forma que seja disponibilizada, se assim se desejar, para desenvolvimento posterior por pessoas ligadas cadeira ou ao movimento open-source. Utilizou-se a linguagem PHP2 para o frontend, e o sistema de base-de-dados MongoDB3 para gerir os dados da aplicao. Esta aplicao pode correr em qualquer sistema que tenha instalado um servidor HTTP como o Apache4, o Nginx5, entre outros. Desta forma possivel disponibilizar esta aplicao tanto num servidor dedicado, caro, como atravs de um computador com baixo consumo, com acesso tcp/ip, barato. Isto permite que esta aplicao possa ser instalada num computador com hardware barato e assim vender um produto directamente ao cliente que funciona ligando apenas a um cabo de rede ou uma rede wi-fi.

Figure 1: A stack arquitectural do Domobi Para acelarar o processo de desenvolvimento foi utilizado a Symfony 6, uma das web frameworks PHP mais conceituadas. Baseada no modelo MVC Model, View, Controller esta camada permite focar nos mdulos da aplicao, pois a segurana, o tratamento dos URLs, dos inputs e dos outputs est j tratada pela framework. Esta a camada responsvel por gerar o HTML que vai ser interpretado pelos browsers, e interligar os vrios mdulos. Como o Domobi foi desenhado para tablets, no fazia sentido no utilizar as capacidades desses equipamentos. Mas como foi decidido no criar aplicaes especficas para cada sistema operativo mvel, que requerem vrias linguagens, processos de desenvolvimento e arquitecturas diferentes
2 3 4 5 6 http://php.net/ http://www.mongodb.org/ http://httpd.apache.org/ http://nginx.org/ http://www.symfony-project.org/

Objective C para iOS, Java para Android, por exemplo foi utilizada uma camada para melhorar a interaco e usabilidade: o jQuery Mobile. Baseada na conhecida biblioteca javascript jQuery, esta biblioteca especialmente criada para dispositivos mveis, oferece controlos, menus, listas em muito semelhantes s aplicaes nativas dos sistemas operativos mveis, assim como transies para que os utilizadores no tenham a necessidade de se adaptar a controlos e ecrs novos. Esta biblioteca tambm impe a homegeonidade e por isso a aplicao web visualizada e interage da mesma forma em todos os dispositivos suportados.

Mdulos
Para o Domobi foram criados vrios mdulos que permitem visualizar e interagir com os dispositivos instalados na habitao.

Mdulo de Importao
Este o mdulo mais simples mas um dos mais importantes. responsvel por ler o ficheiro XML de especificao do DomoBus. Depois de ler vai guardar localmente na aplicao para que fique imediatamente disponvel para ser utilizado. Os outros mdulos s podem ser utilizados depois de uma primeira importao. Importaes seguintes primeira iro escrever por cima das configuraes antigas sendo possvel por isso actualizar o Domobi sempre que necessrio. Para correr este mdulo necessrio o acesso linha de comandos pois foi tomada a deciso que no era necessrio dar acesso a este na interface grfica devido ao seu uso no frequente. Ser apenas necessrio navegar at pasta da aplicao, na Figura 2 www/ambint/, e correr o comando php symfony import [filepath], substitundo [filepath] pelo caminho do ficheiro de especificao.

Figura 2: Para importar um ficheiro XML de especificao DomoBus para o Domobi necessrio apenas um comando.

Mdulo de Dispositivos
O mdulo de dispositivos permite trs tipos principais de visualizao:

Visualizar dispositivos por diviso: Visualizar todos os andares da habitao e as divises dentro destes. Dentro de cada diviso so listados todos os dispositivos associados, organizados pelo seu estado, ligado ou desligado. Dentro de cada diviso possivel visualizar de uma forma rpida o estado de alguns sensores que possam estar disponveis, como por exemplo a temperatura, sensores de fumo ou gs, ou at mesmo a intensidade da luz.

Figura 3: Visualizao dos dispositivos por diviso. Nesta figura a diviso Cozinha est selecionada. No lado direito possvel consultar rapidamente alguns sensores da diviso e os seus dispositivos. Visualizar dispositivos por tipo: possvel listar todos os tipos de dispositivos instalados no Domobi. So listadas as categorias, que quando clicadas apresentam a lista dos dispositivos que lhes pertencem. Assim fcil para o utilizador controlar, por exemplo, toda a iluminao da casa num s ecr. Visualizar dispositivos favoritos: Neste tipo de visualizao sero apenas mostrados os dispositivos favoritos do utilizador, que podem ser filtrados por diviso ou tipo. Selecionado um tipo de visualizao e depois de escolhida uma diviso ou um tipo de dispositivo eles sero sempre listados no lado direito do ecr. Neste momento podemos clicar em qualquer um deles para visualizar as suas informaes, interagir e criar aces.

Figura 4: Visualizao de um dispositivo Candeeiro. No topo vemos o seu nome, um cone se disponvel associado, a diviso a que pertence, para fcil navegao. esquerda so apresentadas as aces possveis e direita o seu estado e informaes teis. Quando estamos a visualizar um dispositivo sempre apresentado o seu nome e a diviso onde se encontra; esta diviso pode ser clicada para fcil navegao. So tambem apresentadas as aces possveis e informao til. Estas informaes, apesar de no constarem da especificao DomoBus, servem para despolotar o interesse por funcionalidades futuras. Na Figura 4 mostrado o nmero de watts consumidos pelo candeeiro; esse clculo pode ser efetuado pelo sistema Domobi, sabendo quanto tempo esteve o dispositivo em modo ON e o custo da electricidade, ou pode ser fornecido por um dispositivo exterior. Os controlos das aces disponveis pretendem dar o mximo de usabilidade ao utilizador. Sendo assim no caso de a propriedade ser do tipo ENUM sero apresentados os valores possveis em forma de buto, facilitando assim a visualizao. Se a propriedade for do tipo scalar, por exemplo, ser apresentado um slider que permite facilmente percorrer todos os valores, com o toque, sem ser necessrio introduzir manualmente. Se a propriedade for do tipo ARRAY ser apresentado um campo de texto, limitado ao mximo de caracteres possvel. Sempre que possvel aplica-se o melhor input para os outros tipos de propriedades, tanto as que existirem actualmente, como outras que possam surgir no futuro.

Mdulo de Home
Este a pgina de entrada da aplicao, tambm podendo ser chamado de dashboard. Na Home possivel consultar o estado global da habitao e dos dispositivos. Concretamente possvel activar as macros disponveis no ficheiro de especificao, acionado vrias aces simultaneamente. Tambm possvel consultar os valores de determinados sensores que so dispostos no topo. Estes sensores podem ser configurados na aplicao no existindo um ecr na interface, mas que poderia ser implementado em verses futuras.

Hipoteticamente poderiamos ver o consumo em tempo real da casa e um grfico do consumo nas ltimas horas ou perodo a definir. Nesta verso da aplicao introduzi um gerador de valores aleatrios para demonstrar como seria uma interaco real. Alm do consumo poderiamos tambm incluir outros widgets. Uma das vantagens de usarmos uma plataforma HTML que podemos incluir outros componentes das internet, como por exemplo a metereologia local. Desta forma poderiamos melhorar significativamente o dashboard para o utilizador, fornecendo informao til; se o utilizador soubesse que ia chover nesse dia podia desactivar o sistema de rega, poupando assim gua.

Mdulo de Alertas
A especificao DomoBus no inclu ainda a especificao para alarmes. No obstante possvel gerar e criar alertas para o utilizador.

Mdulo de Segurana
Este mdulo que no foi desenvolvido servir apenas como ideia a aplicar no futuro. Ser esta a base da segurana da habitao. Todos os dispositivos ligados a trancas, portas, janelas estariam aqui presentes, sendo possvel consultar rapidamente quais deles estariam abertos ou bloqueados. Tambm seria possvel numa s aco abrir ou trancar todos estes dispositivos. A interaco com o mdulo de alertas seria essencial para alertar o utilizador destas aces de elevada prioridade e importncia.

Comunicao
O Domobi interage com o sistema DomoBus atravs de chamadas e respostas atravs da rede. Neste caso esta comunicao foi simulada. Existe um mdulo na aplicao, que no tem interface grfica, que responsvel por efectuar a comunicao entre o sistema DomoBus e o Domobi. No Domobi este mdulo simula chamadas e respostas mas numa aplicao real este mdulo seria simplesmente expandido para integrar a comunicao real. Como o Domobi , na sua essncia, uma aplicao web foi escolhido o Ajax para manter a interface actualizada sem recorrer manualmente ao refrescamento da pgina. A interface efectua pedidos regulares ao sistema para saber de novas actualizaes e para actualizar os valores presentes no ecr.

Aspectos a melhorar
O Domobi pode ser melhorado em vrios aspectos: A comunicao entre a interface e o sistema podia ser melhorada recorrendo a web sockets; esta nova tecnologia implementada no HTML5 permite deixar de recorrer ao Ajax, que apenas uma comunicao unilateral, onde utilizamos a tcnica de pooling para saber de novas actualizaes. Usando web sockets establecida uma ligao entre a interface e o sistema que permite libertar recursos e que apenas usada quando existem actualizaes de valores. A nvel dos alert http://www.tuaw.com/2010/04/09/hands-on-savant-shows-off-their-ipad-interface/

Anda mungkin juga menyukai