Home
Framework para o desenvolvimento rápido de aplicações baseadas
Contents
1. 0 020002 ee eee 5 2 1 Desenvolver o parser com a Parser_tool 5 2 2 Desenvolver o workflow com a Workflow tool 5 2 3 Criar Projecto e compilar lccccclc a 5 2 4 Criar Base de Dados cccccccll 5 2 5 Configurar a aplica o final cccccccc a 5 2 6 Alterar ou adicionar novo interface 5 3 O antes e o depois oo 35 4 4 6 ea ee de Sp EPS SRP ES GS 5 3 1 Camada dos Sensores Servigos 0 00 ee 5 3 2 Camada de Dados swssa issieere Da E EG Hg 5 3 3 Framework Wizard eee GE GRE GO SE RE e SRS 5 3 4 Bas d Dad s spas rasga oe VER RE VER HSS 5 3 5 Camada do Interface rr tee ee ESR KS RERR ERS Concep o e Implementa o 6 1 Camada Sensores square pts Pg es eR ERE SHER HES 6 1 1 Optimizagdes na Universal Gateway 6 1 2 dO Parser tol s s ais Sia DE Re MRS ROS ae ES 6 2 Camada Dados 2 40 44824 be eee Re EER EH REL EDS 6 2 1 Optimizagdes ao WiSeServer 22 0000 6 2 2 A Workflow_tool 2 2 00 002 ee eee 6 3 Camada Interface 4 005 4 ek SME ae RE ORE MEO Re Peewee 6 3 1 Melhoramentos 2 200002 ee eee 6 3 2 Novos gr ficos 4 va 4 oe doe EM eRe Re ee 6 3 3 Motor de Plugins 00000 GO Basede Dados ss s 4 8 oe GH be eee ee OEE ERE REE RSS 6 4 1 Optimizagdes ao Generator 2 00 6 5 Framework Wizard 4 244444 444444242454 43 2438 428 6 5 1 Optimiza es nas 24 KER RERKER KES KER AER RES
2. Listagem 6 4 Ficheiro das configura es do Wotkflow tool 6 2 2 3 Vantagens Com esta ferramenta poss vel desenvolver e testar um workflow sem necessitar da WiSe Framework A simula o feita ao ambiente circundante do workflow permite que este possa ser posteriormente inserido no Framework Wizard sem necessitar de qualquer altera o pr via A utiliza o de um ficheiro XML de configura o de par metros para os sensores permite que o programador modifique estes par metros sem alterar o c digo fonte 63 CIDA wWNH Ne ow Concep o e Implementa o poss vel concentrar os esfor os no desenvolvimento dos workflows sem nos preocupar mos com a WiSe Framework A cria o de um workflow est directamente relacionada com o seu model pelo que para que o workflow funcione correctamente o seu model ter de estar correcto O model que resulta do desenvolvimento do workflow atrav s desta ferramenta serve de template para o model a criar no Framework Wizard Isto diminui a carga de programa o posterior no que respeita aos models 6 2 2 4 Requisitos O nico requisito a configura o manual dos ficheiros XML que esta ferramenta utiliza 6 3 Camada Interface 6 3 1 Melhoramentos A WiSeApp apenas continha dois actores para o sistema Utilizadores e Grupos de utilizadores No entanto nem sempre era necess rio que uma entidade que tivesse um servi o associado fosse um utilizador da aplica
3. es com grandes semelhan as entre si Todas elas usam os dados provenientes de v rias fontes para melhorar a efici ncia e efic cia dos seus objectivos 2 3 Trabalhos Relacionados Existem imensos trabalhos relacionados com a rea das redes de sensores sem fios Ao estudar estes trabalhos verifica se que cada um deles tem o seu pr prio software dese nhado nica e exclusivamente para esse efeito nr Wide Area Network Py J nos di Web Services O J Wide Area Network i cmi 802 15 4 mesh network i Wide Area Network Figura 2 3 Diagrama do myTag Revis o Bibliogr fica O myTag TG medical information tag uma aplica o desenvolvida nas insta la es da universidade de Harvard cujo objectivo resolver problemas no congestiona mento aquando de situa es de emerg ncia m dica Suporta diversos tipos de sensores GPS pulsa o oximetria press o sangu nea temperatura ECG atrav s de uma rede de sensores em malha f MoteTrack Map GUI Figura 2 4 Interface do MoteTrack O MoteTrack LW07 uma aplica o que n o depende de qualquer servidor ou de nenhuma outra rede A sua finalidade estabelecer a localiza o dos v rios n s atrav s da sua assinatura RF Pela figura 2 4 podemos constatar que o MoteTrack foi desenvolvido apenas com a funcionalidade de detectar a localiza o dos n s Tamb m poss
4. Koao 3 ieloidia raas SensorType SensorTypeName Position new SensorType SensorTypeName Oximetry gsorType SensorTypeName Sound Sensor GPS CreateAndFlush SensorType SensorTypeName BloodPressure Sensor Press o Sangu nea CreateAndFlush new SensorType SensorTypeName Ecg Sensor ECG CreateAndFlush Oximetria CreateAndFlush new SensorType SensorTypeName Pulserate Pulsa o CreateAndFlush SensorType SensorTypeName Temperature Temperatura CreateAndFlush SensorType SensorTypeName Ecgz Sensor ECGz CreateAndFlush Sonoro CreateAndFlush E EP CA WiseServer Semedoid f te D Bin 2 appconfigam E web config WiSeServer asmx 8 workflowsaml S Gl Generator i Properties E E References la appconfigaml 8 DatabaseGenerator cs Generator cs SensorTypes cs E WorkflowParameters cs 5 BH MessageQueue Ea Properties E aj References MessageQueue cs Q WiseApp E Properties 8 aj References fe Dg Service References G App_Data i Gj Content o Controllers E DM Helpers i EM Models 5 DM Scripts co Gal Views m D lt f m A DatabaseStarter cs 5d Find Results 1 2 Error List Ready Ln1 Coll chi INS Figura A 5 Adi o de tipos de sensor no c digo fonte do generator Mixed Platforms z B background
5. es que resultam deste processo apesar de potencialmente muito eficientes e com uma taxa de erros muito baixa s o ob viamente muito limitadas em todas as suas funcionalidades e expansibilidade Nomea damente foram desenhadas para um pequeno conjunto de fun es e para um hardware espec fico 4 2 Utiliza o da WiSe Framework vers o inicial A WiSe Framework foi desenhada com outro objectivo diferente do t pico anterior mas a ideia principal das aplica es resultantes est presente e estruturada nas 3 camadas gerais de uma aplica o para RSSF na tabela 2 1 O objectivo principal da WiSe Framework o desenvolvimento de aplica es que v o incidir nestas 3 camadas Estas aplica es n o s o previs veis nem dirigidas a um hardware espec fico Tamb m n o sabido qual ou quais as funcionalidades que estas aplica es t m de corresponder Como tal a WiSe Framework mais complexa em toda a sua arquitectura para que a sua utiliza o final seja muita mais f cil e r pida tentando corresponder aos objectivos principais do seu desenvolvimento Uma ferramenta gil que permita o desenvolvimento r pido de aplica es que assentam em tecnologias de redes de sensores sem fios Apesar da WiSe Framework conter caracteristicas que levaram sua selec o de entre os outros projectos dispon veis e apesar de j contribuir em parte para o objectivo desta disserta o possui ainda grandes falhas que foram detectadas nos p
6. iv CONTEUDO 6 5 2 Projecto VS Configuragdes 2 2 6 5 3 Novas funcionalidades 0 2 0000 6 5 4 Novas op es gr rd Pepe Be EYER ERY ER EES 6 5 5 Funcionamento actual do Framework Wizard OG MESES lt a sa Sp k ch Ske Rd a OS Be Ml Hoe CO EC aa 6 6 1 Introdu o seapavc vradrigr drDa ERE SS ES 6 6 2 Inclus o de um novo servi o Amplitude deSom 6 6 3 Inplementa o de um novo servi o externo Servi o de Locali za o e Seguimento se mes e tos aS eR ESG RSE SS 7 Conclus es e Trabalho Futuro 7 1 Satisfa o dos Objectivos sa csacincinagaepa ma eee qo LC usas us Be ee DE DEDE R S 7 3 Trabalho Futuro 0 00 000 A Refer ncias A Testes A 1 Inclus o de um novo servi o Amplitude de Som A 2 Inplementa o de um novo servi o externo Servi o de Localiza o e SCOUIMICING s apr RUA DA EA Oa Oe a ee oe 86 86 87 88 89 Lista de Figuras 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 3 10 3 11 3 12 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 6 10 6 11 6 12 6 13 Topologia de RSSF ssa somas dk LASER e Alguns tipos de redes de sensores sem fios Diagrama do myTag oes de ee eR ER ae ORR SER OO R AO RES Interface do MoteTrack ss ss ke oe ge Ree PER GAS EE Localiza o dos sensores no estudo de Parkinson Arquitectura do CrossBow MoteWork
7. lt xml version 1 0 encoding utf 8 gt lt ListaPortas xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema gt lt porta porta COM5 baudrate 57600 paridade None dataBits 8 stopBits Two tipoLeitura BIN reserved false lt ListaPortas gt Listagem 3 3 Exemplo de um ficheiro portas xml Este ficheiro cont m os seguintes campos Porta nome da porta Baudrate velocidade de transfer ncia dos dados Este campo vai influenciar a interpreta o das mensagens recebidas Paridade este campo corresponde paridade associada porta dataBits este campo corresponde aos databits associados porta stopBits este campo corresponde aos stopbits associados porta tipoLeitura este campo define o m todo de leitura que a Universal Gateway vai utilizar BIN ou ASCII Reserved se este campo estiver a true a gateway ignora esta porta 28 WiSe Framework vers o inicial 3 3 2 Funcionamento Geral da Universal Gateway Nesta sec o descrito o funcionamento geral da Universal Gateway 3 3 2 1 Inicializa o No arranque a Universal Gateway inicializa as portas e os sensores conforme os fi cheiros portas xml e sensores xml respectivamente feito tamb m a instala o de um handler em cada porta activa para a recep o das mensagens criada uma sess o junto do servidor na camada de dados para o processamento das mensagens de com
8. Asynchronous Javascript And XML Application Programming Interface Dynamic link library Electro Cardiograma Global Positioning System Global System for Mobile Communications Graphical User Interface Integrated Development Environment Institute of Electrical and Electronics Engineers Model View Controller National Marine Electronics Association Presentation Abstraction Control Radio Frequ ncia Redes de Sensores Sem Fios Simple Object Access Protocol Wireless Sensor Network Windows WorkFlow Foundation eXtensible Markup Language Capitulo 1 Introducao Este cap tulo apresenta o enquadramento e a motiva o do trabalho identifica os pro blemas abordados resume as metodologias utilizadas e apresenta uma breve descri o dos cap tulos posteriores 1 1 Contexto e Enquadramento Esta disserta o realizada na rea das redes de sensores sem fios Esta uma rea onde se t m verificado imensos avan os tecnol gicos nos ltimos anos O desenvolvi mento e a pesquisa realizada nesta rea levaram cria o de padr es e protocolos que servem de base para futuros trabalhos a serem desenvolvidos Esta disserta o decorreu na empresa INOVAMAIS Servi os de Consultadoria em Inova o Tecnol gica SA A INOVAMAIS desde a sua cria o em 1997 um l der em inova o ocu pando o espa o entre o mundo cient fico e o mundo empresarial e colocando os seus conhecimentos e experi ncia em processos de inova
9. Tabela 5 4 Antes e Depois Framework Wizard Antes Depois Altera es manuais de c digo fonte necess rias Adi o manual de workflows Adi o autom tica de Workflows e Parsers Apenas um tipo de servi os Sensores inter nos Altera o autom tica de C digo fonte Suporte para servi os internos e externos Necess ria configura o manual do Genera j Generator auto configur vel tor Necess rio abrir projecto para configurar o Configura o do wizard sem precisar de abrir wizard projecto Sem fun es de Suporte Fun es de suporte e manuten o Seja qual fosse o objectivo era sempre necess rio abrir ou criar um projecto para se poder trabalhar no Framework Wizard Para contornar esta situa o foi necess rio fazer algumas altera es sendo que o resultado final permite assim a altera o de todos os par metros do Framework Wizard sem necessitar de ter um projecto aberto Foi tamb m adicionado o suporte para servi os externos e tamb m fun es de im porta o para Parsers e Workflows eliminando assim a necessidade do utilizador editar o c digo fonte para adicionar estas entidades Havia tamb m uma necessidade em editar o c digo fonte do generator 3 5 1 para suportar os novos servi os adicionados Esta necessidade foi suprimida com altera es feitas no Framework Wizard mas tamb m no generator Foram tamb m adicionadas fun es de suporte ao Framework Wizard pa
10. es externas ou The following operations are supported For a formal definitic internas e AddRequests NewRequest O StartSession StopSession getRequest O put String WiseML o put WiseML Figura 6 3 Web Services disponiveis actualmente O Web Service put WiSeML suporta a comunica o em XML formatado de acordo com os padr es WiSeML 3 2 3 Por outro lado o Web Service put String WiSeML su porta a comunica o em String formatado de acordo com os mesmos padr es do Wi SeML aconselh vel a comunica o em XML mas caso a tecnologia do servi o externo n o o suporte poss vel a comunica o em Strings simples 6 2 1 3 Vantagens Para al m do suporte oferecido a virtualmente qualquer tipo de comunica o esta altera o permite que os dados sejam inseridos na base de dados mesmo que n o estejam associados a um agente Isto permite inserir dados de fontes externas que n o dependam de agentes e tamb m permite que n o se percam dados importantes j calculados e que n o eram armazenados simplesmente porque n o estavam associados a nenhum agente O carregamento din mico retira a necessidade que o programador tinha de editar c digo fonte e permite que a empresa detentora do mesmo n o tenha a necessidade de o divulgar a nenhuma entidade externa 60 Concep o e Implementa o 6 2 2 A Workflow tool Esta ferramenta foi criada para colmatar uma necessidade que existia no processo de desenvo
11. o ao servi o dos l deres de amanh dCdAdIS Aquando da realiza o desta disserta o a empresa INOVAMAIS conta com 2 pro jectos j desenvolvidos na rea das RSSF e outros 2 em desenvolvimento N o sendo uma empresa dedicada exclusivamente a esta rea a experiencia adquirida pela mesma per mitiu identificar um conjunto de necessidades no desenvolvimento destes projectos que serviu de inspira o para o tema desta disserta o Introdu o O facto de esta disserta o decorrer em ambiente empresarial permitiu ainda o acesso a v rios tipos de hardware e de conhecimento que contribuiu para uma maior valia do resultado final 1 2 Motiva o e Objectivos Existem actualmente in meros projectos deste tipo com diferentes objectivos e de ele vada import ncia como por exemplo na rea da sa de Este tipo de import ncia faz levantar o interesse das pessoas envolvidas em tais projectos de criar solu es inform ticas cada vez mais inovadoras No entanto s o constatados v rios problemas na cria o destes projectos Um dos maiores problemas a dificuldade que existe em desenvolver software para RSSF mas a um n vel superior isto partindo do princ pio que a RSSF e o seu funcionamento est o correctos fazer a sua abstrac o e providenciar solu es inform ticas para o processa mento e tratamento da informa o resultante da rede n o tem qualquer m todo definido e fica sempre a cargo do programador
12. Message Sensor Type Temperature 7699977039755 18 06 2010 17 13 45 ee Message __ _ _ pe Sound 9 Figura 6 2 O parser_tool O Parser_tool uma ferramenta que foi desenvolvida para ajudar ao desenvolvimento dos Parsers Consiste numa vers o simplificada da Universal Gateway que simula o ambiente nor mal de funcionamento e realiza v rios testes unit rios para que o programador possa avaliar o comportamento do Parser 6 1 2 1 Funcionamento geral O seu funcionamento semelhante ao da Universal Gateway com a excep o de que os comandos recebidos por parte da camada de dados s o simulados atrav s de um conjunto de threads 56 Concep o e Implementa o 6 1 2 2 Funcionalidades Suportadas e Verbose o Parser tool pode ou n o imprimir no ecr todas as mensagens produzi das Esta op o mais indicada para os in cios do desenvolvimento do Parser cuja preocupa o principal nesta altura integrar o Parser no motor de interpreta o e pressEnter ToContunue esta uma funcionalidade b sica que quando activada pausa a execu o do programa ap s cada interpreta o de mensagem de grande utilidade quando queremos verificar a validade dos resultados obtidos e useExpectedMessages Esta funcionalidade de extrema import ncia quando j se sabe partida qual o resultado final que a interpreta o de uma mensagem deve ter Ao usar esta f
13. definida O SLS suporta tamb m um factor de erro que define 98 Testes um raio de incerteza da posi o real Este valor foi usado como raio da circunfer ncia a desenhar no mapa Isto quanto maior o erro maior a circunfer ncia Localiza o e Seguimento Image Renderer v Figura A 8 SLS Interface final A cria o de plugins pode ser feita em qualquer ambiente desde que o resultado final obde a as regras impostas pelos mesmos mas para esta fase optou se por se criar o plugin com a ajuda da aplica o resultante da compila o pr via por parte do Framework Wizard Ficou ent o conclu do o segundo teste 99
14. digo fonte ser disponibilizado na m quina local a WiSeApp est apenas dependente da Base de Dados E o acesso a esta pode ser vedado Outro melhoramento foi o da implementa o da capacidade de visualizar v rios tipos de servi os na mesma entidade utilizador agente ou grupo agora poss vel para al m desta visualiza o distinguir entre o Hardware como demonstra a figura 6 8 Pulsa o Frequ ncia Re BM Pulsa o 112 bpm 19 17 15 19 17 2 19 17 25 19 17 30 19 17 35 19 17 4 19 17 00 19 Figura 6 7 Graficos sem Identifica o do Hardware Temperatura Som ID 2 ID 2 28 300 EM Temperatura 28 286392839487 C 28 290 28 285 28 280 15 24 40 15 24 45 15 24 50 15 24 55 15 25 00 15 25 0 15 24 40 15 24 45 Linear bd Linear bd Figura 6 8 Gr ficos com Identifica o do Hardware 65 Concep o e Implementa o 6 3 2 Novos gr ficos Existem agora v rios tipos de gr ficos dispon veis para que o utilizador possa escolher entre eles Temperatura Temperatura ID 4 29 0 EB Temperatura 28 52773 C E Temperatura 28 52773 C 28 5 3 f 13 30 14 00 a Gr fico linear b Gr fico de pontos Figura 6 9 Gr fico linear e Gr fico de pontos Temperatura Temperatura ID 4 I Temperatura 28 52773 C EM Temperatura 28 52773 0C 13 00 13 30 14 00 a Gr fico de Barras b Gr fico densidade Figura 6 10 Gr fico de Barras e Gr fico de de densidade 66 FOC mAIADU
15. e Recolha de dados m todo encarregue de ler a mensagem recolher os seus dados e se necess rio process los 26 CIDA WNH BNF OM WiSe Framework vers o inicial Estas dever o ser as nicas fun es que um programador dever desenvolver No en tanto segundo a documenta o de suporte o programador pode criar fun es extra para ajudar ao processamento destas Existe ainda a possibilidade de implementar um m todo extra para a cria o de men sagens de comando a ser enviadas ao hardware dos sensores N o poss vel prever todos os comandos ou a sua funcionalidade como tal este m todo fica a cargo do programador A informa o que fornecida para este m todo atrav s da Universal Gateway e ID de destino Vai identificar qual o hardware que deve receber o comando e Um par metro Este par metro pode ser qualquer informa o E neess rio que o programador tenha particular aten o nesta fun o para que haja coer ncia com os comandos suportados pelo hardware Julga se que estes dois campos s o mais que suficientes para processar toda e qualquer mensagem de comando 3 3 1 5 Sensores xml Ficheiro XML gerado automaticamente pelo Framework Wizard cuja funcionalidade conter a informa o necess ria para que a Universal Gateway conhe a os sensores que lhe est o associados lt xml version 1 0 encoding utf 8 gt lt ListaSensores xmlns xsi http www w3 org 2001 XMLSchema
16. instance xmlns xsd http www w3 org 2001 XMLSchema gt lt sensor nome Temperature protocolo RF dll XBOW descricao Temperature foto foto isSelected false validacao is Temperature id get_sensorID dados getTemp_XBow request gt lt ListaSensores gt Listagem 3 2 Exemplo de um ficheiro sensores xml Este ficheiro cont m as seguintes tags e Nome corresponde ao tipo do sensor Protocolo a tecnologia de comunica o N o afecta em nada o funcionamento e serve apenas para informa o e DLL o nome do ficheiro que cont m o Parser do sensor Descri o apenas uma descri o associada ao sensor 27 WiSe Framework vers o inicial Foto cont m o caminho para a foto associado ao sensor e apenas serve para fins ilustrativos no Framework Wizard e n o na aplica o resultante isSelected informa o para o Framework Wizard Valida o nome do m todo do Parser que vai testar a valida o da mensagem id nome do m todo do Parser que vai retornar o id da mensagem Dados nome do m todo do Parser que vai retornar os dados contidos na mensagem Request nome do m todo do Parser que vai criar mensagens de comando a enviar aos sensores 3 3 1 6 Portas xml Ficheiro XML gerado automaticamente pela Universal Gateway cuja funcionalidade conter a informa o necess ria para configurar as portas e o m todos de leitura respectivo SOCAIDNAAWNH
17. o das entidades da Base de Dados feita atrav s da an lise interna das classes inclu das na dll na WiSeApp O c digo seguinte ilustra esta solu o using System using System Reflection using System Collections namespace WiseApp Models public class ModelTypes public static ArrayList GetTypesInNamespace string nameSpace Assembly asm Assembly GetExecutingAssembly ArrayList namespaceList new ArrayList foreach Type type in asm GetTypes if type Namespace nameSpace namespaceList Add type return namespaceList public static Type GetTypeInNamespace string typeName Assembly asm Assembly GetExecutingAssembly foreach Type type in asm GetTypes if type Name typeName return type break return null Listagem 6 3 Exemplo de classes para o carregamento din minco 59 Concep o e Implementa o 6 2 1 2 Novas funcionalidades para servi os externos A ideia dos servi os externos uma forma de fazer um bypassing legitimo ao uso da Universal Gateway Isto quando desconhecemos a fonte de origem dos dados ou n o temos acesso ao seu hardware ou qualquer outra raz o poderemos efectuar a cha mada por Web Service ao m todo put WiSeML Este m todo foi alterado para poder suportar estas funcionalidades Tamb m foi criado um novo Web Service denominado de put String WiSeML com o objectivo de suportar outro tipo de comunica
18. 5 Funcionamento actual do Framework Wizard 6 5 5 1 Inicializa o Ao arrancar o Framework Wizard faz o loading dos seus par metros que v o servir para as configura es do projecto e da WiSe Framework feita sempre uma verifica o a todos os ficheiros necess rios e se for detectado algum erro este ser mostrado no ecr para que possa ser corrigido pelo utilizador Em seguida mostrado o Interface Inicial 6 5 5 2 Interface Inicial o x lt Nome do Projecto gt Informa o de Utilizadores Figura 6 15 Ecran inicial do Wizard da WiSe Framework Perante o Interface inicial o utilizador tem tr s op es Iniciar um projecto novo Abrir um projecto j existente ou avan ar para as configura es da WiSe Framework Se iniciar um projecto novo ou abrir um j existente s o apresentadas as configura es para o mesmo e dado a possibilidade de editar essas configura es Ao navegar entre as v rias tabs dispon veis o utilizador tem a possibilidade de esco lher outras op es 74 Concep o e Implementa o 6 5 5 3 Tab Projecto Dentro da tab Projecto o utilizador tem a possibilidade de navegar entre 4 tabs 1 Servi os nesta tab encontra se a lista dos servi os internos e externos dispon veis para associar ao projecto Novo Projecto Abrir Projecto Compilar Projecto Criar Base de Dados Projec
19. capacidades estes aparelhos t m sido o foco de desenvolvimento de muitas aplica es inovadoras nos tempos actuais No entanto este desenvolvimento tem encontrado muitos obst culos Como uma rea inovadora n o existe nenhum m todo de desenvolvimento nem ferramentas dedicadas para completar tal tarefa Poucas s o as vezes em que o fabricante fornece algo de til para tal Esta disserta o tem como objectivo colmatar esta necessidade e oferecer uma ferra menta que ajude no desenvolvimento destas aplica es O trabalho foi realizado sobre uma primeira vers o desta ferramenta a WiSe Fra mework Foram criadas ferramentas de suporte para a cria o das depend ncias da Fra mework Estas ferramentas ainda oferecem capacidades de depura o e optimiza o para as mesmas A adapta o e melhorias feitas nos restantes componentes permitem retirar o utilizador da edi o de c digo fonte permitem a importa o autom tica das depend n cias a cria o de plugins etc N o menos importante foi ainda desenvolvido um m todo de desenvolvimento que varia de acordo com a utiliza o pretendida As ferramentas certas aliadas a um m todo estruturado de desenvolvimento produzem assim um ptimo resultado e indo al m do objectivo proposto permitem assim ultrapas sar os obst culos encontrados no desenvolvimento de aplica es que usem tecnologias de redes de sensores sem fios Abstract In the actual world the human being finds
20. de Barras e Gr fico de de densidade Feedback do Generator 5k bbe Oe ee MEE ps do Interface simples para novos par metros Separa o entre servi os Internos e Externos vi 6 14 6 15 6 16 6 17 6 18 6 19 6 20 6 21 6 22 6 23 6 24 6 25 6 26 6 27 Al A 2 A 3 A4 A 5 A 6 A 7 A 8 LISTA DE FIGURAS Op es de Compila o 2 0 4 5 se aa eH RS RASHES REE E ES To Ecran inicial do Wizard da WiSe Framework 74 Servi os do projecto actual 2 0 eke ee ee pes NANA ER EE T3 Informa o dos utilizadores aoaaa ee ee 76 Interface da Aplica o final ooa aa ee ee TI Op es de compila o ooa ee RR ESS PERES 78 Servi os internos aoaaa a 79 Pop Up novo servi o interno ooo ee ee 79 Servi os EXtern s cores E GREER EERE SR 80 Pop Up novo servi o externo ooo ee 80 Workflows aoaaa a 81 Pop Up novo Workflow 2 2 2 2 000 eee ee ee 81 Bot o compilar projecto os esse eves ee wee Lew eee Hes 82 Bot o criar base de dados 2 2 ee ee 82 Interface inicial que obriga a criar ou abrir um projecto 92 Pedido de um ficheiro pelo interface o oo aaa 93 Desenvolvendo um Parser ooa 94 Workflows no mesmo ambiente de desenvolvimento que a WiSeApp 95 Adi o de tipos de sensor no c digo fonte do generator 96 Interliga o entre o c digo fonte 2 2 2 ee eee 96 Ambiente de de
21. entidade diferenciados pela identifica o do dor hardware Tipo de informa es sempre iguais Tipo de informa o consoante a entidade Apenas um s tipo de gr fico linear V rios tipos de gr ficos suportados Novos interfaces apenas por edi o do codinostonte Novos interfaces por adi o de plugins O interface claramente uma das partes com maior import ncia para o utilizador final visto que este n o ter acesso a mais nada Inicialmente apenas era suportado duas entidades utilizadores ou grupos de utiliza dores Actualmente existe uma nova entidade denominada de agentes Ao arrancar o interface fazia loading dos par metros atrav s de um ficheiro auxiliar Este ficheiro po deria estar corrompido ou ser alterado por fontes externa e implicava que todo o interface deixasse de funcionar correctamente Actualmente estes par metros s o inicializados pelos valores reais contidos na Base de Dados 52 Solu o proposta O m todo Inicialmente tamb m era apenas suportado um tipo de servi o para cada entidade isto um utilizador s poderia ter um sensor de cada tipo Actualmente cada entidade pode ter v rios tipos de servi os quantas vezes necess rias e estes s o diferenciados entre si pela identifica o do hardware Para permitir a expansibilidade do Interface e para tirar as limita es impostas pelo interface gen rico foi criado um motor de plugins que permite a adi o dos mes
22. forma autom tica pelo Framework Wizard e transparente para o utilizador mas esta possibilidade a maior limita o da WiSe Framework A segunda maior limita o as depend ncias impostas pela WiSe Framework Isto um parser um workflow e um plugin caso deseje outro tipo de interface Era agrad vel se a aplica o fosse completamente auto suficiente Estas depend ncias s o retratadas 87 Conclus es e Trabalho Futuro como limita es porque caso n o existem o processo de cria o de aplica es baseadas em RSSF era quase instant neo No entanto esta limita o pode ser viste como uma mais valia pois permite uma enorme diversidade de aplica es finais 7 3 Trabalho Futuro Todo o trabalho executado foi testado devidamente e tendo passado todos os testes n o se acha nenhuma melhoria a fazer No entanto n o caindo na categoria de melhorias mas sim de novas funcionalidades podemos considerar a mudan a de arquitectura do interface final de MVC para outro tipo de arquitectura como por exemplo a PAC Arc ou uma arquitectura criada de prop sito para o efeito facilitando assim a n o adi o de c digo o que levaria a uma aplica o final mais s lida e menos vulner vel que impe a o acesso a quem n o tenha autoriza o 88 Refer ncias Arc Bad BPCt 07 CCS09 CLTO8 Cro07 DBL06 dCdAdIS DSY 09 GGW 05 HA06 JHS08 Garfixia Software Architectures Presen
23. i ower_limit Done pper limit calibrate value Done imit upper limit Done Figura 6 11 Feedback do Generator 6 4 1 3 Funcionalidades Suportadas e Cria o da Base de Dados dinamicamente e Escrita em log file e Detecta o de erros e sua escrita no ecr 6 4 1 4 Vantagens O utilizador consegue com esta nova vers o do generator criar a sua base de dados sem ter de previamente editar c digo assim como tem uma no o do trabalho que est a ser feita pela mesma de forma a corrigir eventuais erros que aconte am 69 Concep o e Implementa o 6 4 1 5 Requisitos O generator necessita de v rios ficheiros para que a sua execu o seja vi vel Os ficheiros s o os seguintes e EnableMixedMode reg e Castle ActiveRecord dll e Castle Componentes Validator dll e Castle Core dll e Jesi Collections dll e Log4net dll e NHibernate dll e SensorParams dll e WiseApp dll e Gerar Base de Dados bat e Script sql e Appconfig xml e SensorParam xml e Generator exe 70 Concep o e Implementa o 6 5 Framework Wizard 6 5 1 Optimizacoes 6 5 1 1 Cria o de c digo manualmente VS dinamicamente Na utiliza o do Framework Wizard era muitas vezes necess rio recorrer a edi o de c digo para as seguintes tarefas e Adaptar os modelos de novos sensores e Adaptar novos Workflows e Inserir novos par metros para os limites dos sensores e Inserir novos
24. o Esta entidade podia simplesmente n o ter qualquer necessidade de actuar sobre o sistema por exemplo e Um objecto Uma casa um autom vel etc e Uma localiza o Uma rea de uma floresta de uma zona urbana etc e Um pessoa n o actuante Um paciente um pe o etc Foi ent o desenvolvido o suporte para este tipo de entidades s quais se deu o nome de agentes O tipo de carregamento din mico que foi desenvolvido para o WiSeServer foi tamb m desenvolvido e adaptado para a WiSeApp permitindo assim que a aplica o n o necessi tasse de ficheiros externos como o WiseConfig xml para a inicializa o de informa o lt xml version 1 0 encoding UTF 8 gt lt application gt lt user info gt lt info gt birthdate lt info gt lt info gt sex lt info gt lt info gt alergies lt info gt lt user info gt lt sensors gt lt sensor gt Temperature Temperature lt sensor gt lt sensor gt Sound Sound lt sensor gt lt sensors gt lt application gt Listagem 6 5 Exemplo de ficheiro WiseConfig xml 64 Concep o e Implementa o Uma das grandes vantagens que esta altera o permite fechar um pouco a possibili dade de altera o do funcionamento da WiSe App por m os alheias Isto anteriormente a WiSeApp dependia de ficheiros externos presentes no disco local da m quina em ques t o assim como de informa o contida no seu c digo fonte Actualmente apesar do seu c
25. tal decis o Este tipo de abordagem lenta dif cil e os resultados nem sempre s o os melhores Assim e como o t tulo indica esta disserta o tem por objectivo desenvolver uma fer ramenta que permita superar estas barreiras e promover o r pido desenvolvimento destas aplica es Esta ferramenta dever ser o mais transparente e abstracta quanto poss vel Quer isto dizer que dever libertar o utilizador de tarefas complicadas e diminuir ao m ximo a pro grama o O ideal seria escolher o tipo de hardware a usar como os dados desse hardware devem ser processados e compilar tudo Infelizmente existem in meras vari veis a ter em conta o hardware muda com frequ ncia os objectivos finais mudam as tecnologias de suporte mudam Torna se ent o muito dif cil seguir um m todo de desenvolvimento concreto que resolva o problema mas n o imposs vel Em quest es de hardware esta ferramenta deve permitir a implementa o f cil de no vos componentes sendo que as nicas vari veis neste aspecto dever o ser dependentes do hardware a adicionar Em quest es de processamento de dados a ferramenta deve incluir um m todo simples que permita ao utilizador programar de forma intuitiva o tratamento a dar aos mesmos Introdu o E necess rio tamb m existir todo um conjunto de opera es no interface final para dar a liberdade ao utilizador de escolher a forma de visualizar os dados Para que tudo isto aconte a necess
26. tipos de sensores na base de dados e Carregar os workflows O que acontecia nestas situa es era uma depend ncia entre o resultado final e a edi o de c digo que levava a que o Framework Wizard tivesse uma utiliza o desagrad vel Actualmente este problema j n o acontece Deixa de ser necess rio ao utilizador editar o c digo das aplica es finais Universal Gateway e WiSeServer com excep o para a WiSeApp cuja situa o ser descrita mais frente A cria o dos Parsers e dos Workflows est o a cargo da Parser tool e da Workflow tool respectivamente Estando em posse destes relativamente f cil importa los para o Framework Wizard Esta disp e de um interface adequado para o efeito Ao inserir novos servi os tamb m era necess rio editar os seus par metros de limites manualmente no c digo fonte Este problema foi resolvido atrav s da implementa o de um interface simples E a Novo P rametro P rametro Nome Valor Cancelar Adicionar Figura 6 12 Interface simples para novos par metros Este tipo de solu o levou a uma reestrutura o da arquitectura do WiSeServer da WiSeApp e do generator como descrito pr viamente Em rela o a todos os par metros que est o associados a servi os o seu loading agora din mico n o dependendo de qualquer mudan a no c digo fonte 71 Concep o e Implementa o 6 5 1 2 WiSeApp A WiSeApp
27. topologia da rede Com a tecnologia ZigBee poss vel estabelecer um rede tipo malha mesh network isto os n s podem trocar mensagens entre si Num rede com a tecnologia Bluetooth cada n troca mensagens directamente com o receptor Revis o Bibliogr fica do Computer fid N AA W j 2 3 O e PN W eee oo senna p SH bl s q Ed q q al 9 AEE a exemplo de uma rede em malha com ZigBee b exemplo de uma rede ponto a ponto com Bluetooth Figura 2 2 Alguns tipos de redes de sensores sem fios A vantagem de uma rede em malha quando comparada com uma rede com a tecnologia bluetooth que o n mais distante se n o estiver dentro do raio de comunica o com o n base pode fazer o envio da sua mensagem atrav s dos outros n s aumentado assim a rea de cobertura da rede 2 2 Areas de Aplica o As reas nas quais se pode incluir este tipo de tecnologia s o in meras No entanto poss vel agrupa las nos seguintes t picos e Monitoriza o do Ambiente e Cuidados na Sa de e Servi os sobre o estado de esp rito e Posicionamento e localiza o de animais e Entretenimento e Log stica e Transportes e Casa e escrit rio e Aplica es industriais Revis o Bibliogr fica Na monitoriza o do ambiente podemos encontrar aplica es que servem ambientes de interior ou de exterior O tipo de sensores utilizado em redes de sens
28. 1 8091 ms continue Sound Model eate and Flush 10 03 2018 12 33 23 Output data 493 Process runtime 15 0808 ms continue Figura 6 5 Valores de entrada e saida 62 UR wWN Concep o e Implementa o e Visualiza o de varias vari veis incluindo a do tempo de execu o do workflow E CAUsersMliceiDocumentsiMy Dropbox wise framework Workflow Development Solution WF_tool exe cje Create and Flush Type Sound id 2 il Stamp 18 03 2018 12 33 28 Temperature 10 03 2810 12 33 29 ERROR WFTemperature doesn t seem to e Press ENTER to continue Message 18 Stamp 10 Input 480 Message 19 emperature 10 03 2010 12 47 21 30 3426824242794 Figura 6 6 Variveis de tempo de execu o Para al m destas funcionalidades existem outras que podem ser alteradas num ficheiro de configura o com o nome configurations xml s o elas e onlyShow permite escolher o que queremos ver no ecr Sendo poss vel escolher entre visualiza o s de alertas s de modelos ou de tudo e pressEnter ToContinue permiter escolher se queremos que a tool fa a uma pausa entre cada mensagem processada lt xml version 1 0 encoding utf 8 gt lt Configuration xmlns xsi http www w3 org 2001 XMLSchema instance xmins xsd http www w3 org 2001 XMLSchema gt lt options onlyShow everything pressEnterToContinue true gt lt Configuration gt
29. 3 2 Conceitoscomuns 1 3 25 S nsOres puma mw eo ee Ge we ew GRE ee a ee 3 2 2 Parsing de mensagens ss ps ms ek ee EYEE ERE ERE ES 323 MiseML s 35444 44044 444 86 4 Sh ERR EDS ERS 3 3 Camada dos Sensores 2 3 3 1 Universal Gateway 44h ce eb ve eevee we se ees 3 3 2 Funcionamento Geral da Universal Gateway 3 4 Camada dos Dados onoo 3 4 1 WiSeServer 0 0 20 0 0 00000 e a a 3 4 2 Funcionamento Geral do WiSeServer 4 3 5 Base de Dados ooo aaa 3 5 1 OG nerato isean aae rE a N a 3 5 2 Funcionamento Geral do Generator iii 4 CONTEUDO 3 6 Camada do Interface 0 0 0 00 0 eee es 5 6 WiStADP sampa sra np o s ES oS ee ES OS 3 7 Framework Wizard aoaaa A Dl UU ae ead bed be OER A DESA DAE SE 3 7 2 Para que serve us sd ebm KES KER KERR E DRE MRED 3 7 3 Funcionamento Geral do Wizard 044 3 8 Conclus o 2 i a d ae da o pa a a E a oae a e a o a Apresenta o e descri o do problema 4 1 O acto de cria o de aplica es para RSSF oaao 4 2 Utiliza o da WiSe Framework vers o inicial 4 2 1 1 depend ncia O parsing das mensages 4 2 2 2 depend ncia O processamento dos dados 4 2 3 3 depend ncia O interface o oo 4 3 Resumo e Conclus es ses oaoa a Solu o proposta O m todo 5 1 O m todo de utiliza o ooa a 5 2 Componentes do m todo
30. 6 componentes do m todo 5 2 1 Desenvolver o parser com a Parser tool Esta componente do m todo consiste em desenvolver um Parser com uma ferramenta pr pria para o efeito o Parser tool De seguida deve se executar os testes respectivos para validar o respectivo Parser 5 2 2 Desenvolver o workflow com a Workflow tool Um workflow tambem necess rio para cada servi o na WiSe Framework Como tal esta componente consiste em criar o respectivo workflow com a Workflow tool Posteri ormente dever o ser executados os testes necess rios para validar o workflow produzido 48 Solu o proposta O m todo 5 2 3 Criar Projecto e compilar Esta componente consiste em utilizar o Framework Wizard da WiSe Framework para criar todo o projecto associar os respectivos servi os e parametros assim como como importar parsers ou workflows novos No final dever compilar se todo o projecto 5 2 4 Criar Base de Dados A estrutura da Base de Dados ter de corresponder aos servi os incluidos na WiSe Framework Este m todo consiste em utilizar a ferramenta para o efeito produzida au tom ticamente no acto de compila o de projecto o generator Esta ferramenta criar a estrutura da Base de Dados respectiva 5 2 5 Configurar a aplica o final Esta passo do m todo consiste em simplesmente configurar a aplica o resultante de acordo com os requisitos necess rios 5 2 6 Alterar ou adicionar novo interface Se o interface gen ri
31. A 2 Pedido de um ficheiro pelo interface Para criar esse o ficheiro o utilizador deve programa lo mas para fins de teste do mesmo n o tem outra hip tese sen o utilizar a Universal Gateway em tempo real com o sensor de som a funcionar em tempo real Perante esta restri o necess rio ent o ter uma aplica o resultante da WiSe Framework a funcionar para permitir o desenvolvi mento do Parser do novo sensor Foi ent o compilada assim uma aplica o com o Framework Wizard mas com todas as configura es em branco isto sem nenhum outro sensor ou informa o adicionada para facilitar os testes ao novo sensor Esta aplica o resultante foi instalada e executada verificando se que tudo estava a funcionar correctamente Iniciou se o desenvolvimento do Parser atrav s da solu o de desenvolvimento da Universal Gatewaycomo mostra a figura A 3 Com o sensor de som a funcionar e com a Universal Gateway a imprimir para o ecr as leituras efectuadas procedeu se elimina o de erros do Parser e sua optimiza o Foi tamb m necess rio editar manualmente o ficheiro sensores xml para que a Universal Gateway conseguisse reconhecer o novo sensor em quest o 93 Testes ni way Microsoft Visual Studio Administrator pe Slee File Edit View Project Build Debug Data Tools Test Window Help Bua Ea n i a Det Any CPU 8 background gt QF ae wl oe iad E Hex Tv 0 iB X
32. AddRequests 6 NewRequest 6 StartSession StopSession O getRequest o put WiseML Figura 3 8 Servi os disponibilizados pelo WiSeServer e put WiSeML O servi o encarregue de receber as mensagens chama se put WiSeML A sua fun o principal a descodifica o das mensagens recebidas em par metros que possam ser usados pelo resto da aplica o mais propriamente pelo workflow associado Este m todo tamb m se encarrega de fazer uma triagem inicial dos dados e chamar o workflow associado com os mesmos e getRequest Este o servi o que a Universal Gateway vai utilizar que retornar os pedidos que tem de fazer aos sensores e StopSession Este servi o serve para a Universal Gateway terminar a sua sess o junto com o WiSeServer e StartSession Este servi o serve para a Universal Gateway iniciar a sua sess o junto com o WiSeServer 33 WiSe Framework vers o inicial e NewRequest Este servi o usado pela WiSeApp para criar um novo comando para os sensores e AddRequests Este servi o usado pela WiSeApp para adicionar um novo co mando para os sensores 3 4 1 3 Workflows Os Workflows s o o core do processamento de todos os dados no WiSeServer Estes consistem numa forma simples e intuitiva de programar baseada em fluxogramas A sequ ncia do fluxograma bastante f cil de criar e o c digo a incluir bastante r pido Este o conceito do Windows Workflow Foundation Micd Sequential W
33. BOW cs x Ara filex C Users Alice Desktop pr Trabalho wise framework Universal Gateway Universal Gateway EXE pe xe X e E E Universal Gateuay E m E Detecting COM ports 3 i Baud 115200 public class XBOW 4 byte data public XBOW by 2 this data mana by Vital IT 2009 public bool is_msq Console Wri 1Co re if date o obably t to Probably ip ten Probably Probably P if datad i Find Symbol Results TPR Lg Error List Find Result E immediate Window g Call Stack Ready Ln1 Coll Chi INS Figura A 3 Desenvolvendo um Parser Nesta fase importante que o WiseML esteja a ser criado correctamente pois essa a mensagem que vai passar para a camada seguinte Tendo se verificado essa condi o deu se por encerrado o desenvolvimento do Parser e prosseguiu se com a sua inser o no Framework Wizard Voltando tarefa de inserir um novo sensor no Framework Wizard conseguiu se ul trapassar a barreira na qual o Framework Wizard pedia por um Parser para o novo sensor de som No entanto outra barreira se levantaram O workflow do sensor Para tal o Framework Wizard disponibiliza um bot o que gera um novo workflow mas com um es queleto de c digo de um workflow gen rico necess rio agora editar esse esqueleto dentro da solu o de desenvolvimento no WiSeServer de forma a suportar o novo sensor Para fins de teste mais uma vez necess rio usar uma aplica o resul
34. CIDR WN SE BwWNF SO Concep o e Implementa o verifica se o primeiro valor de uma mensagem corresponde flag de inicio e vai acumu lando at que o valor da ltima posi o acumulada seja igual flag de fim O 530 im O 2 RX 3 126 196 066 0 000 90 17 flag de in cio flag de fim Figura 6 1 Ilustra o das flags de in cio e de fim Esta opera o s feita caso a propriedade de acumula o esteja a true nas configu ra es da porta Neste caso tamb m necess rio definir qual a flag de inicio e de fim nas mesmas configura es Finalmente os valores a comparar podem ser em valor inteiro ou em string 6 1 1 2 Portas xml A estrutura deste ficheiro foi modificada para suportar a nova funcionalidade do acu mulador lt xml version 1 0 encoding utf 8 gt lt ListaPortas xmins xsi http www w3 org 2001 XMLSchema instance xmlIns xsd http www w3 org 2001 XMLSchema gt lt porta porta COM5 baudrate 57600 paridade None dataBits 8 stopBits Two tipoLeitura BIN reserved false acumular true flag_inicio 126 flag_fim 126 flag_Type int gt lt ListaPortas gt Listagem 6 1 Exemplo de um ficheiro portas xml actual 6 1 1 3 Vantagens O uso da propriedade de acumula o resulta num aumento do n mero de mensagens a serem processadas pela Universal Gateway Isto quer dizer que o m todo anteriormente utilizado n o processava todas as mensagen
35. FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Framework para o desenvolvimento rapido de aplica es baseadas em redes de sensores sem fios R ben Tiago Ribeiro da Costa Mestrado Integrado em Engenharia Inform tica e Computa o Orientador Gil Manuel Magalh es de Andrade Gon alves Engenheiro 28 de Junho de 2010 Framework para o desenvolvimento r pido de aplica es baseadas em redes de sensores sem fios R ben Tiago Ribeiro da Costa Mestrado Integrado em Engenharia Inform tica e Computa o Aprovado em provas p blicas pelo j ri Presidente Jos Manuel Magalh es Cruz Professor Auxiliar Vogal Externo Gustavo Ribeiro da Costa Alves Professor Adjunto Orientador Gil Manuel Magalh es de Andrade Gon alves Assistente Convidado 28 de Junho de 2010 Resumo No mundo actual o ser humano encontra se numa constante campanha em busca da total mobilidade trazendo consigo o m ximo de informa o poss vel Por esta raz o a rea das tecnologias sem fios tem sido t o desenvolvida nos ltimos tempos Dentro desta rea e aliada a uma fonte de informa o importante encontra se a tecnologia de redes de sensores sem fios que s o constitu das por dispositivos aut nomos Motes espacialmente distribu dos que de forma cooperativa monitorizam condi es f sicas ou ambientais tais como temperatura humidade luminosidade som press o vibra es etc em diferentes localiza es Gra as a estas
36. Framework Wizard apenas um programa com a apar ncia de um configurador Este programa serve para fazer algumas configura es que podem ir desde a importa o de novos ficheiros at simples mudan as de nome de um sensor 3 7 2 Para que serve O Framework Wizard serve para configurar todos os par metros referentes a um pro jecto associado a RSSF dentro da WiSe Framework poss vel configurar alterar com pilar mudar par metros adicionar parsers workflows etc 39 WiSe Framework vers o inicial 3 7 3 Funcionamento Geral do Wizard O seguinte texto foi extraido da documento de suporte da WiSe Framework Aquando da cria o de um novo projecto o Framework Wizard d ao utiliza dor a escolha do direct rio onde guardar o projecto caso seja criado um novo direct rio o projecto fica automaticamente com esse nome O Framework Wizard cria ent o um ficheiro de extens o wise com o mesmo nome que o projecto Este ficheiro wise n o nada mais que um ficheiro XML vazio Quando se efectua uma altera o no projecto o Framework Wizard actualiza automaticamente o ficheiro XML adicionando as tags conforme os detalhes alterados Quando se cria um workflow novo o Framework Wizard cria um ficheiro de extens o cs e o nome do ficheiro cont m as letras WF workflow e o nome do projecto juntamente com um ficheiro do Designer e adiciona os ao projecto de workflows Para visualizar o projecto necess rio grav
37. JREBRERO x Solution Explorer Solution Main Serve gt p WorkflowParams Mid 1 A 5 H E References F 5 6 Gg Service References 3 Property aj App_Data public double Valor Content i EM Controllers gt get return valor z set valor value E z Alert cs E BloodPressure cs Ecg cs Temperature E Ecgz cs Ecg Group cs Ecgz 4 GroupMembers cs Pulserate Oximetry cs Ocineteyy Position es RespiratoryFrequenty 2 PulseRate cs BloodPressure Requests Sound E i E RespirationRate cs F Sensores G public enum Parameter B SensorType cs ji Soundas lower limit upper limit E both H J EM Views F DatabaseStarter cs Ly ta E Defaultaspx H de Global asax Figura A 6 Interliga o entre o c digo fonte 96 Testes Ap s estas altera es o generator correu sem problemas e criou a base de dados res pectiva Finalmente foi poss vel testar o workflow criado anteriormente e estava tudo de acordo com o esperado A pr xima fase consiste no interface necess rio que a WiSeApp consiga mostrar os valores que v o estar na base de dados de forma correcta Felizmente a estrutra de dados do sensor de som n o difere muito da estrutura gen rica de um sensor como tal o seu model n o necessita de altera es Por outro lado o controller compon
38. NAWNHHE 12 13 14 Concep o e Implementa o 6 3 3 Motor de Plugins O motor de plugins a grande novidade de toda a WiSeApp De facto n o seria m ideia se toda a aplica o funcionasse apenas com este motor de plugins No entanto existiam algumas funcionalidades que n o poderiam existir Este motor de plugins dividido em 3 partes e O layout do interface e As fun es necess rias e O seu estilo O layout a pe a mais importante e aquela que indispens vel O layout composto por um ficheiro view que depois ficar associado arquitectura MVC Micb da WiSe App Este ficheiro view serve apenas para desenhar e identificar o que vai ser visto no plugin A cada plugin corresponde uma nova TAB no interface da WiSeApp Esta tab s aparece dispon vel se o servi o disponibilizado pelo plugin estiver associado entidade na qual estamos a navegar actualmente Esta Tab adicionada ao interface atrav s das capacidades dos m todos de Render Partial sta lt div id tab lt tab gt gt lt Html RenderPartial Views Shared Plugin_Tabs ficheiros_views i Name Substring 0 ficheiros views i Name Length ViewData gt lt div gt Listagem 6 6 Exemplo de uma chamada de Render Partial Para ajudar ao processamento de fun es como gr ficos de tipos ainda n o suportados necess rio um ficheiro javascript w3sb Este ficheiro carregado dinamicamente p
39. Y WFEcg cs B WFEcgz cs B WFOximetry es B WFPosition cs B WrPulse cs fa 8 8 8 a 8 ER Find Results 1 4 Error List Ready Figura A 4 Workflows no mesmo ambiente de desenvolvimento que a WiSeApp Ao testar o workflow verificou se que imposs vel saber se est a funcionar cor rectamente pois a base de dados n o est preparada para os dados do novo sensor Foi necess rio resolver este problema Como o Framework Wizard cria uma ferramenta auto m tica para a cria o da base de dados o generator optou se por configurar o Framework Wizard para o novo sensor juntamente com o Parser e workflow associados Isto faz com que o generator j cria a estrutura da base de dados com o suporte desejado para o novo sensor de som 95 Testes Ao correr o generator houve um erro que impediu a sua concretiza o Verificou se que se devia falta de algumas configura es no mesmo que teriam de ser feitas com inser o manual de c digo nomeadamente no ficheiro Sensor Types cs e WorkflowsPara meters cs File Edit View Refactor Project Build Debug Data Tools Test Window Help Bagao sBa 9 e B gt Debug SensorTypeses gt Mixed Platforms A background Solution Explorer Solution Main Serve 1 X Ag sensorTypes y load B Paar Solution Main Server 5 projects using WiseApp Models Epublic class SensorTypes
40. a nica excep o destas condi es Como uma aplica o Web o seu c digo fonte tem de estar presente para que possa ser instalado no Servidor respectivo e como tamb m a aplica o destinada a ser um interface qualquer altera o que seja necess ria ter de ser feita no seu c digo fonte Por esta raz o a WiSe Framework estar sempre acompanhada pelo c digo fonte da WiSeApp e sobre ele far as altera es necess rias 6 5 1 3 Servi os Internos e Externos Para que a aplica o final suportasse servi os internos e externos era necess rio que o Framework Wizard tamb m os suportasse Como tal foi feita uma separa o entre Servi os Internos e Servi os Externos Servi os Intemos Servi os Extemos WwW Figura 6 13 Separa o entre servi os Internos e Externos Esta separa o permite uma maior adapta o da Framework a eventuais utiliza es futuras n o previstas durante a fase do seu desenvolvimento 6 5 2 Projecto VS Configura es Uma das grandes funcionalidades novas criadas nesta fase foi tamb m a separa o entre o que a WiSe Framework e o que o Projecto a desenvolver Na primeira vers o o Framework Wizard exigia que se tivesse um projecto aberto para se poder modificar par metros que s faziam parte da WiSe Framework isto adicionar ou remover sensores workflows entre outros Foi feita ent o uma separa o destes contextos sendo agora poss vel editar todos os par
41. a aos problemas apresentados e mediante as so lu es disposi o pode se concluir que para atingir o objectivo que esta disserta o prop e necess rio que a ferramenta a produzir obde a a um m todo de utiliza o con ciso e coerente Foi ent o necess rio establecer esse m todo e depois aplicar as altera es ou adi es necess rias WiSe Framework para que obde a ao mesmo 46 Capitulo 5 Solu o proposta O m todo Neste cap tulo vai ser apresentada a solu o proposta para resolver o problema um m todo de utiliza o estruturado e tamb m ir o ser descritos os seus componentes No final ser feita uma compara o entre o antes e o depois de empregar este m todo 5 1 O m todo de utiliza o Establecer um m todo de utiliza o e cria o de aplica es para a WiSe Framework solu o para atingir o objectivo desta disserta o A partir da resta apenas implementar as altera es necess rias WiSe Framework para que este m todo seja possivel de empregar Este m todo deve garantir que os problemas encontrados anteriormente n o se verifi quem assim como tamb m deve garantir que todo processo de cria o de aplica es para RSSF com a WiSe Framework esteja optimizado ao m ximo O m todo estabalecido foi ent o o seguinte e Desenvolver o Parser com a Parser tool Desenvolver o Workflow com a Workflow tool Criar Projecto e compilar Criar Base de Dados Configurar a
42. ace existem duas aplica es O servi o de administra o permite configurar as aplica es externas que v o utilizar os dados do sistema A consola Web permite a interface do utilizador com a framework octavex Com ela poss vel interagir com as motes ver gr ficos de dados administrar alertas e configurar outras formas de visualiza o 2 6 WiSe Framework vers o inicial Esta Framework encontra se numa vers o inicial e vai ser a base para o desenvolvi mento do projecto desta disserta o No seu estado inicial a WiSe Framework j atravessa as 3 camadas gerais de uma aplica o para RSSF No entanto ela foi desenhada com o objectivo de se abstrair da rede de sensores e trabalhar apenas com os seus dados Como tal n o oferece nenhum tipo de aplica o para configura o da rede ou para a programa o dos n s y deployment Deployment Model Cliente Al mati i a datastores Base de Dados Servidor Base de Dados SQL SERVER 2005 ASP NET Wireless Universal Gateway AC RF a Figura 2 10 Arquitectura f sica da WiSe Framework Na camada dos sensores existe uma aplica o denominada de Universal Gateway Esta aplica o consiste em estabelecer a ponte entre os sensores e a camada dos dados 15 Revis o Bibliogr fica O dados recebidos pelos sensores s o interpretados e convertidos para um formato XML especifico da WiSe F
43. ados 0 00011 00014 000 stamp 18 05 2010 12 33 21 gt lt sensor id 3 tipo SLS dados 1 00010 00013 000 stamp 18 05 2010 12 34 21 gt lt sensor id 3 tipo SLS dados 0 00010 00012 000 stamp 18 05 2010 12 35 21 gt lt sensor id 3 tipo SLS dados 1 00011 00011 000 stamp 18 05 2010 12 36 21 gt lt sensor id 3 tipo SLS dados 0 00011 00015 000 stamp 18 05 2010 12 37 21 gt lt Messages gt Listagem 3 1 Exemplo de um ficheiro WiSeML 23 WiSe Framework vers o inicial 3 3 Camada dos Sensores Nesta sec o vai ser descrito os componentes da WiSe Framework relativamente camada dos sensores A camada dos sensores a primeira meta de interac o entre os sensores e a aplica o resultante A WiSe Framework cont m uma aplica o denominada de Universal Gateway que vai operar apenas nesta camada e cujo objectivo fazer a ponte entre esta e as outras camadas Existem tamb m alguns ficheiros de suporte a esta aplica o que ser o descritos respectivamente 3 3 1 Universal Gateway ey Q Porta de s rie j as Universal Sensores Gateway USB Figura 3 3 Arquitectura Geral da Universal Gateway A Universal Gateway uma pequena aplica o que est encarregue da leitura e inter preta o dos dados enviados pelos sensores e o seu reencaminhamento para a camada dos dados Todos os sensores utilizados s o emulados como porta de s rie A Universal Gate
44. ando A partir desta etapa o processamento fica a cargo do handler que foi instalado nas portas e dos eventuais comandos recebidos por parte do servidor 3 3 2 2 Data port Handler Este handler o respons vel pelo processamento das mensagens As suas fun es consistem no seguinte 1 Identificar a sua porta e o tipo de leitura 2 Ler a mensagem 3 Executar o motor de parsing com o Parser respectivo 4 Enviar resultados para o m todo WiSeMICreator 29 WiSe Framework vers o inicial 3 3 2 3 Parsing das mensagens Universal Gateway Parser Recebe Mensagem Pr identifica o Pr Processamento Recebe mensagem Validacao Validar mensagem Retoma false Recebe false Ignora volta ao inicio Retorna true Recebe true Processa ID ID Retorna ID Recebe ID Processa Dados Dados Retorna Dados Recebe Dados Cria WiSeML Figura 3 5 Diagrama de Actividade Parsing A figura 3 5 demonstra as activades que ocorrem entre a Universal Gateway e o parser aquando da altura de executar o parsing a uma mensagem recebida 3 3 2 4 WiSeMLCreator O WiSeMICreator a fun o que a Universal Gateway usa para formatar os resultados obtidos da interpreta o das mensagens em WiseML e posteriormente envia los para o servidor na camada de dados 30 WiSe Framework vers o inicial 3 3 2 5 Requests A Universal Gateway cont m um handler para os comandos que chegam da camada de dados Este handler est en
45. aplica o final e Alterar ou adicionar novo interface 47 Solu o proposta O m todo Tambem foi criada uma correspond ncia entre cada componente do m todo e as suas possiveis utiliz es Tabela 5 1 Correspond ncia entre m todo e possiveis utiliza es Aplica es M todo de Utiliza o da Novos Servi os ou Desenvolvimento Utiliza o WiSe Framework Sensores Servi os Processamento do Interface Normal Externo Desenvolver o Parser com a Parser tool Desenvolver o Workflow Necess rio Necess rio Necess rio com a WF_tool Criar Projecto e compilar Necess rio Necess rio Necess rio Necess rio Criar Base de Dados Necess rio Necess rio Necess rio Necess rio Configurar a aplica o final Necess rio Necess rio Alterar ou adicionar novo gt sms Necess rio interface A tabela 5 1 ilustra quais os passos do m todo que s o necess rios mediante o ob jectivo para o qual se vai utilizar a WiSe Framework Um utilizador que tencione usar a WiSe Framework para uma tarefa normal necessita apenas de criar um projecto compil lo criar a base de dados e configurar a aplica o resultante Por outro lado um progra mador que esteja interessado em desenvolver apenas novos servi os a serem utilizados posteriormente necessita apenas de desenvolver um Parser respectivo com o Parser tool 5 2 Componentes do m todo Nesta sec o s o descritos os
46. ar o projecto em primeiro lugar Para guardar o projecto a Framework compila o ficheiro wiseapp csproj e workflows csproj juntamente com a parte relativa Universal Gateway com pilada parte com o compilador de C uma vez que mais r pido desta maneira que adicionar a um projecto e compilar Vit09 A cita o em cima demonstra que o Framework Wizard funciona como um configu rador de par metros para que a aplica o resultante suporte as op es pretendidas 40 WiSe Framework vers o inicial 3 8 Conclus o O conjunto total dos 5 componentes da WiSe Framework forma uma forte ferramenta de desenvolvimento de aplica es para RSSF De facto o suporte para as 3 camadas gerais de uma aplica o para RSSF fulcral neste aspecto e as funcionalidades extra do Framework Wizard e do generator na componente da Base de Dados aumenta o valor da WiSe Framework No entanto f cil de identificar algumas melhorias que podem ser realizadas princi palmente ao n vel da WiSeApp A WiSe Framework foi a base de desenvolvimento escolhida pela empresa autora desta disserta o e foi uma boa escolha por todos os pontos referidos at agora Nos pr ximos cap tulos vai ser apresentado o porque da WiSe Framework ainda n o corresponder ao objectivo desta disserta o e os passos necess rios para l chegar 41 Capitulo 4 Apresenta o e descri o do problema Neste cap tulo v o ser descritos todos os problemas encontra
47. as mensagens recebidas e como imposs vel de prever o tipo de mensagem a receber existe ent o dois m todos de leitura para as mesmas e BIN M todo que l uma cadeia de bytes tal como enviado para a porta de s rie e ASCII M todo que l caracteres 4 medida que estes v o chegando porta de s rie A leitura termina quando lido o car cter de final de linha O m todo ASCII mais eficaz para a leitura de mensagens do tipo NMEA 0183 GPS Bad e mensagens recebidas atrav s de bluetooth Este m todo muito eficaz para mensagens recebidas por linha Por outro lado o m todo BIN muito eficiente para todas as outras leituras Este m todo efectua a leitura de todos os bytes at ao comprimento m ximo da cadeia de bytes que foi recebida Apesar de muito eficiente este m todo provoca alguns erros na leitura que adv m principalmente da linguagem de programa o na qual a Universal Gateway foi desenvolvida CH 25 WiSe Framework vers o inicial 3 3 1 3 Pr Processamento de Mensagens Segundo a documenta o de suporte da Universal Gateway a linguagem de progra ma o C uma linguagem de alto n vel e no decorrer da implementa o dos m todos de leitura foram descobertos alguns problemas Por vezes a mensagem recebida era nula ou muito pequena e provocava uma desor dem no funcionamento da gateway Para contornar este problema a Universal Gateway foi implementada com algumas restri es e Nenhuma
48. as primeiras camadas gerais a camada dos sensores e a camada dos dados De notar que na camada dos sensores que este kit de desenvolvimento sobressai Ele cont m um conjunto de APIs que ajudam o utilizador a configurar e extrair os dados da rede Na camada dos dados apenas encontramos um servidor que permite a comunica o com esta rede Para o processamento de dados nas duas camadas superiores necess rio que o utilizador implemente o software necess rio que pode ser feito atrav s do Sentilla Work IDE Esta ferramenta usa o Eclipse como base para o desenvolvimento geral das aplica es 12 Revis o Bibliogr fica 2 5 3 ZigBit Quick Settings Exit Menu bar Toolbar button LEE ET Te fom oo Meshlletics Sensor Data Topology Pane Pane EA a j Coordinator N node Sensor data i a A i A for selected node Sa es Ee os 1 A J Router E node Z4node At Node Data Specific parameters et 4 ns ma oe E selected node Selected a 2 yr node End device Pane i A 1 x a Orphaned Anode rimas tes SS Figura 2 8 WSN Monitor GUI do Kit ZigBit O kit de desenvolvimento ZigBit Mes08 mais uma plataforma de desenvolvimento destinada 4 camada mais baixa de uma aplica o geral Cont m as ferramentas necess rias para a cria o e execu o da rede de sensores mas todo o tratamento de dados e a visualiza o na camada de interface
49. carregue de processar estes comandos com a ajuda do Parser respectivo ao sensor e escrever 0 comando na porta associada tamb m Universal Gateway Recebe instru es Pr identifica o Pr Processamento Envia parametros Processa Comando Recebe comando Retorna Comando Escreve na porta de s rie Figura 3 6 Diagrama de Actividades Comandos A figura 3 6 demonstra as activades que ocorrem entre a Universal Gateway e o parser aquando da altura de processar um comando para o hardware 31 WiSe Framework vers o inicial 3 4 Camada dos Dados Nesta sec o v o ser descritos os componentes da WiSe Framework relativamente camada dos dados A camada dos dados a segunda meta de interac o entre os sensores e a aplica o resultante A WiSe Framework cont m uma aplica o denominada de WiSeServer que vai operar apenas nesta camada e cujo objectivo fazer a ponte entre a Universal Gateway presente na camada dos sensores e a Base de Dados Existem tamb m alguns ficheiros de suporte a esta aplica o que tamb m ser o descritos 3 4 1 WiSeServer Universal Gateway t WiSeServer a p Base de Dados Figura 3 7 Arquitectura Geral do WiSeServer Existente na camada de dados encontra se o WiSeServer Este um servidor que ofe rece os servi os necess rios ao funcionamento da aplica o resultante e provavelmente a pe a fundamental de todas as aplica es resultantes do uso da WiSe Framewo
50. co n o for suficiente o programador pode implementar outro tipo de interfaces Sendo que essa fun o dever ser executada apenas nesta ultima fase 5 3 Oanteseo depois Nesta sec o ser descrito o panorama antes e depois da elabora o deste m todo relativo a cada um dos componentes da WiSe Framework 5 3 1 Camada dos Sensores Servi os Tabela 5 2 Antes e Depois Sensores Servi os Antes Depois Perda de Mensagens Adi o de buffer Sem perda de mensagens Problemas de comunica o com as outras ca Sem problemas de comunica o madas Processamento das mensagens recebidas no Pr processamento fora do Parser Parser Impossivel de fazer o Parser sem instalar uma SN ts Desenvolvimento do Parser com a Parser tool aplica o gen rica Uma das maiores dificuldades encontradas na camada dos sensores era o desenvol vimento do Parser respectivo a cada servi o Para agilizar este processo foi criada uma 49 Solu o proposta O m todo ferramenta denominada de Parser tool Com esta ferramenta um utilizador pode entre outras tarefas fazer uma depura o ao Parser que est a ser criado Gra as a esta vantagem foi poss vel identificar um grande problema na leitura das mensagens De facto ao desenvolver o Parser para as motes da CrossBow no teste de utiliza o no anexo A 1 constatou se que in meras mensagens n o estavam a ser apanha das pela Universal Gateway Atrav s do Par
51. com a WiSe Fra mework Estas aplica es v o obedecer as 3 camadas gerais de uma aplica o para RSSF No geral os sensores v o comunicar com a Universal Gateway presente na camada dos sensores Esta vai ficar encarregue de interpretar a informa o e comunica la ao servi dor o WiSeServer que se encontra na camada dos dados O WiSeServer por sua vez disponibiliza a informa o que poder ser consultada pela camada de interface Para tal o utilizador dever aceder aplica o de interface a WiSeApp 21 WiSe Framework vers o inicial Na figura 3 1 n o mostrada a componente da Base de Dados nem o Framework Wizard Mas na figura 3 2 temos um exemplo t pico de uma aplica o resultante que foi criado atrav s do Framework Wizard Aplica o Web ara Web Browser f Main Server Sensores Universal Gateway n Figura 3 2 Aplica o resultante criada pela WiSe Framework O Framework Wizard serve para configurar e compilar uma aplica o resultante A componente da Base de Dados serve para guardar toda a informa o que vai circular entre o WiSeServer e a WiSeApp 22 CIDA Rum WiSe Framework vers o inicial 3 2 Conceitos comuns Nesta sec o s o explicados os conceitos comuns entre os v rios componentes da WiSe Framework que v o estar directamente relacionados com esta disserta o 3 2 1 Sensores Ao longo deste cap tulo muitas vezes referido a palavra sensores Estes sen
52. crosoft asp net site http www asp net ajax tabid Microsoft Asp net mvc The official microsoft asp net site http www asp net S d35rmemuuonolwvmlgsp2n45 mvc Microsoft Microsoft net framework http www microsoft com net Microsoft Windows workflow foundation http msdn microsoft com en us library ms735967 aspx Aleksandar Milenkovic Chris Otto e Emil Jovanov Wireless sensor networks for personal health monitoring Issues and an implementation Computer Communications 29 13 14 2521 2533 2006 E S Nadimi H T S gaard T Bak e F W Oudshoorn Zigbee based wireless sensor networks for monitoring animal presence and pasture time in a strip of new grass Computers and Electronics in Agriculture 61 2 79 87 2008 OCTAVEX User s guide November 2006 Flavio Oquendo editor Software Architecture First European Conference ECSA 2007 Aranjuez Spain September 24 26 2007 Proceedings volume 4758 of Lecture Notes in Computer Science Springer 2007 Shyamal Patel Konrad Lorincz Richard Hughes Nancy Huggins John H Growdon Matt Welsh e Paolo Bonato Analysis of feature space for monito ring persons with parkinson s disease with application to a wireless wearable sensor system Conf Proc IEEE Eng Med Biol Soc 2007 6291 4 2007 90 PLH 09 RBZ05 Sen08 SLP05 SrCL 05 sta TG TKCMO8 Vit09 w3sa w3sb REFERENCIAS Shyamal Patel Konra
53. d Lorincz Richard Hughes Nancy Huggins John Growdon David Standaert Metin Akay Jennifer Dy Matt Welsh e Paolo Bonato Monitoring motor fluctuations in patients with parkinson s dise ase using wearable sensors IEEE Trans Inf Technol Biomed 13 6 864 73 Nov 2009 Jason Redi Hari Balakrishnan e Feng Zhao editors Proceedings of the 3rd International Conference on Embedded Networked Sensor Systems SenSys 2005 San Diego California USA November 2 4 2005 ACM 2005 Sentilla User s guide Abril 2008 Thomas Strang e Claudia Linnhoff Popien editors Location and Context Awareness First International Workshop LoCA 2005 Oberpfaffenhofen Germany May 12 13 2005 Proceedings volume 3479 of Lecture Notes in Computer Science Springer 2005 Victor Shnayder Bor rong Chen Konrad Lorincz Thaddeus R F Fulford Jones e Matt Welsh Sensor networks for medical care In Redi et al RBZ05 page 314 stackOverflow Render partial from different folder not sha red http stackoverflow com questions 208421 render partial from different folder not shared Leo Selavo Tia Gao Christopher Pesto Wireless medical sensor networks in emergency response Implementation and pilot results A Triantafyllidis V Koutkias I Chouvarda e N Maglaveras An open and reconfigurable wireless sensor network for pervasive health monitoring Methods Inf Med 47 3 229 34 2008 VitalIT WiSe Framework Man
54. d N amp De gt p Debug Mixed Platforms z 8 background JAFAR po e N E 215 aB Lit WiSeMLxml workflowsxmi WFSLS Designer cs WFSound Designer cs WFSLS cs WFSLS cs Design Position cs SLS cs SensorParam xml WFSound cs Design x Solution Explorer WorflowsClass vax iy S tf 8 gt Jele als 7 Lue WS a Solution Workflow Development 2 projects amp E 3 EB WiseApp 2 lt lt options onlyShow models pressEnterToContinue true gt gt Gal Properties 3 E H E References B lt lt options onlyShow alerts pressEnterToContinue true gt gt p Gal Models a lt lt options onlyShow eved i i all Model simulationes 3 lt op yShow E CA Users Alice Documents My Dropbox wise framework Workflow Development Solution WF_toolexe Two ats lt lt options onlyShow modd b EM ae ct E References B WFSLS cs E WFSLS Designer cs 8 WFSLS rules H dB WFSound cs lt lt options onlyShow alel lt lt options onlyShow evel onlyShow everytnif ion gt T FOUND NOT FOUND ER Find Results 1 4 Error List Ready Figura A 7 Ambiente de desenvolvimento de workflows e a Workflow tool Com a ajuda da ferramenta Workflow tool foi f cil desenvolver o workflow Verificou se que as funcionalidades de teste da Workflow tool permitiram optimizar o processa mento do workflow e estando todos os testes desta ferramenta superados se
55. da resultante A utiliza o de plugins para a cria o de novos interfaces permite tamb m uma enorme expansibilidade e possibilita ao utilizador a separa o entre o que a aplica o resultante e os plugins 85 Capitulo 7 Conclusoes e Trabalho Futuro Neste ltimo cap tulo s o apresentadas as conclus es sobre o resultado do trabalho que foi desenvolvido E tamb m mostrado em que medida este foi inovador que limita es existem e tamb m que melhoramentos podem advir em continuar o seu desenvol vimento 7 1 Satisfa o dos Objectivos Para cumprir os objectivos inicialmente propostos foi dada como solu o a cria o de um m todo organizado e estruturado para a cria o de aplica es baseadas em RSSF assim como a adapta o de uma vers o inicial de uma ferramenta a WiSe Framework De facto ao que no in cio parecia apenas o desenvolvimento de uma ferramenta de trabalho levou ao desenvolvimento de uma metodologia de trabalho qual foi aliada um conjunto de ferramentas Entre estas ferramentas e a metodologia proposta existe uma rela o de dualidade Ambas s o dependentes entre si Isto o m todo foi alcan ado com base nas capacidades destas ferramentas e estas foram adaptadas ao m todo proposto Ao conjunto destas ferramentas intitulou se WiSe Framework e metodologia pro posta de m todo de utiliza o da WiSe Framework O objectivo desta disserta o era o de criar uma ferramenta
56. de Workflows Adi o autom tica de Workflows Alia dificuldade na Crudo de Workowe Cria o de Workflows facilitada com a Work flow_tool Sem suporte para servi os externos Suporte para servi os externos Parametros dos servi os inseridos no c digo Parametros dos servi os inseridos autom ti fonte camente Tipos de servi os inseridos no C digo Tipos de servi os inseridos autom ticamente Assim como na camada dos servi os a camada de dados tamb m depende de clas ses externas denominadas de workflows O desenvolvimento de workflows implicava a 50 Solu o proposta O m todo grandes altera es no c digo fonte da aplica o resultante o que resultava num desen volvimento muito lento Para contornar este problema foi criada a Workflow tool Esta ferramenta permitiu o desenvolvimento r pido de workflows Anteriormente apenas servi os internos eram suportados 3 2 1 Actualmente esta ca mada j suporta servi os provenientes de fontes externas estes servi os s o designados de servi os externos 4 3 Associado a cada servi o est o seu workflow o seu tipo e os seus par metros O seu tipo permite ao WiSeServer identificar o workflow respectivo e os seus par metros servem para algum tipo de processamento espec fico a realizar no workflow Anteriormente estas 3 entidades teriam de ser inseridas manualmente atrav s do c digo fonte Actualmente este processo autom tico e din mico 5 3 3 Framework Wizard
57. deixada ao crit rio do utilizador No entanto existe uma ferramenta a WSN Monitor que pode ser usada para ver a topologia da rede e outras informa es dos sensores como mostra a figura 2 8 2 5 4 CodeBlue Esta aplica o abrange as tr s camadas de uma aplica o geral no entanto o seu espa o de desenvolvimento muito limitado em quest es de manipula o de dados Con t m o software necess rio para o desenvolvimento da rede e cont m uma aplica o em Java pronta para a visualiza o dos dados O CodeBlue SrCL 05 est destinado a mo nitoriza o de dados vitais e ainda um projecto em desenvolvimento na Universidade de Harvard 2 5 5 Octavex Esta ferramenta a que mais se aproximada da totalidade dos objectivos assumidos para esta disserta o A Octavex OCT06 uma suite desenvolvida para a implementa o nas 3 camadas gerais de uma aplica o para RSSF No entanto existem v rias aplica es nas duas camadas superiores 13 Revis o Bibliogr fica OCTAVEX Data Notifications ejeg 10su05 Mey OCTAVE XML API Windows Web OCTAVEX Service i Service Web Console Figura 2 9 Arquitectura da Octavex Ao contr rio dos outros projectos a Octavex n o fornece ferramentas para a progra ma o dos n s da rede de sensores nem para a sua manipula o Apenas se destina a trabalhar com os dados que eles transmitem Na camada dos sensores encontra se a gateway Octavex Gateway
58. desenvolvimento teste e manuten o isolado de am bos Micb A aplica o feita em ambiente MVC de forma a optimizar ao m ximo a reutiliza o de c digo Toda a estrutura e o tipo de informa o para cada entidade que a WiSeApp e o WiSeServer v o utilizar fazem parte dos models Os views cont m o layout da p gina actual e os controllers s o a componente encarregue de fazer as opera es e retornar valoras da Base de Dados de acordo com a estrutura dos models 3 6 1 4 AJAX o uso metodol gico de tecnologias como Javascript e XML providas por navegado res para tornar p ginas Web mais interativas com o usu rio utilizando se de solicita es ass ncronas de informa es Mica A aplica o efectua pedidos AJAX de modo a evitar fazer um refrescamento da p gina inteira Isto apenas feito o refrescamento das sec es de p gina que cont m dados que necessitam de ser mostrados em tempo real 38 WiSe Framework vers o inicial 3 7 Framework Wizard unas O aw al lt Nome do Projecto gt Novo Projecto Abrir Projecto Guardar Projecto Tipos de Sensores Workflows Informa o de Utilzadores Interface Lista de Sensores m Sensor Seleccionado Nome Protocolo Case Informa es M todos e Workflow Nome EEE Classe Lo Procura Protocolo Descri o Figura 3 12 Interface do Framework Wizard 3 71 O que O
59. dever o ser inseridos na camada dos Sensores e ser o denominados de servi os internos Para tal dever existir uma ferramenta que ajude na configura o e no desenvolvimento do Parser para estes novos sensores ou servi os Denominou se esta ferramenta de Parser tool Fontes de informa o desconhecida aplica es externas c lculos externos ser o de nominados de servi os externos dever o ser inseridos directamente na camada dos da dos Para tal ir o ser disponibilizadas novas funcionalidades no WiSeServer Independentemente da fonte da informa o dever sempre existir um workflow res pectivo Para ajudar ao desenvolvimento destes workflows dever existir uma ferramenta pr pria Denominou se esta ferramenta de Workflow tool O interface final dever ser configur vel ao n vel da forma como se apresenta a infor ma o Dever ser poss vel escolher o tipo de gr fico a representar os dados assim como o tipo de informa o l contida 45 Apresenta o e descri o do problema Tamb m dever ser poss vel a cria o de novos gr ficos ou novas formas de visu aliza o dos dados por exemplo a utiliza o de dados GPS recebidos da camada de sensores em mapas do Google Maps embutidos directamente na interface final Ent o dever existir um conjunto de regras que ajude na cria o de novas formas de visualiza o e tamb m na implementa o destas Por fim ap s uma considera o s ri
60. do criada atrav s da WiSe Framework 3 5 2 Funcionamento Geral do Generator O funcionamento do generator simples Inicialmente faz o carregamento dos para metros todos que necessita E de seguida cria a base de dados baseado no script que a WiSe Framework criou autom ticamente 36 WiSe Framework vers o inicial 3 6 Camada do Interface Nesta sec o v o ser descritos os componentes da WiSe Framework relativamente camada do interface A camada do Interface a ultima meta de interac o entre os sensores e a aplica o resultante A WiSe Framework cont m uma aplica o denominada de WiSeApp que vai operar apenas nesta camada e cujo objectivo fazer a ponte entre a Base de Dados e o utilizador final Existem tamb m alguns ficheiros de suporte a esta aplica o que ser o descritos respectivamente 3 6 1 WiSeApp 1106 0 8 09 o od amp amp amp amp s WiseApp Figura 3 11 Arquitectura Geral da WiseApp A WiSeApp desenvolvida foi inicialmente desenvolvida com base num caso pr tico de monitoriza o de equipas de emerg ncia em miss es de busca e salvamento Cont m um conjunto de funcionalidades que permitem a monitoriza o remota de utilizadores no terreno sendo poss vel a visualiza o da sua posi o e sinais vitais A WiSeApp foi desenhada com este prop sito mas as suas capacidades v o um pouco al m poss vel agrupar utilizadores e tamb m poss vel editar os par metros q
61. dos ao tentar fazer uma aplica o baseada em RSSF utilizando a vers o inicial da WiSe Framework 4 1 O acto de cria o de aplica es para RSSF Ao iniciar o desenvolvimento de uma aplica o baseada em RSSF o programador v se a par com imensas dificuldades Numa aplica o tradicional deste g nero a ideia principal de desenho dever algo como a seguinte e Ler a informa o dos sensores e Tratar os dados e Apresentar resultados No entanto o programador ter que fazer compromissos entre v rios assuntos como a efici ncia da aplica o o tempo de desenvolvimento o custo associado etc As suas decis es v o ser afectadas pelo tipo de hardware a ser suportado pelas funcionalidades desejadas pelas tecnologias a utilizar entre outros Aliado a esta composi o cada apli ca o tem de ser criada de raiz pois na maior parte das vezes o custo de uma adapta o superior N o existe um qualquer m todo de desenvolvimento para a cria o destas aplica es O programador v se ent o com mais uma dificuldade a ultrapassar tambem do senso comum que grande parte dos projectos sofrem altera es a meio do seu desenvolvimento Ainda que estas altera es seja de pouca relev ncia podem reflectir enormes modifica es em toda a estrutura da aplica o resultante aumentando assim o tempo de desenvolvimento 42 Apresenta o e descri o do problema Este tipo de abordagem lenta dif cil e as aplica
62. e que fica encarregue de programar os m todos correspondentes de acordo com o hardware utilizado Para resolver este problema mesmo necess rio que exista essa classe com os m todos correctos s classes desse tipo deram se o nome de Parsers 3 3 1 4 Pelo que dever existir pelo menos um Parser para cada tipo de sensor 4 2 2 2 depend ncia O processamento dos dados Na camada dos dados da WiSe Framework existe um outro pilar principal desta vez a sua capacidade de processamento de dados Este processamento fica encarregue a um workflow 3 4 1 3 da tecnologia Windows Workflow Foundation Este workflow tamb m est responsabilidade do programador Ele que est en carregue de desenvolver o workflow de acordo com os resultados esperados O workflow tamb m o respons vel pela inser o dos dados na Base de Dados Ter sempre que existir um workflow para cada tipo de sensor independentemente da carga de processamento dos dados 4 2 3 3 depend ncia O interface A possibilidade de alterar o interface o terceiro e ultimo pilar da WiSe Framework e encontra se na camada de Interface Ap s a compila o a aplica o produzida arranca com um interface gen rico Para que seja poss vel ao utilizador final ou para programadores configurar o interface ou criar novos tipos de interface necess rio recorrer ao c difo fonte da aplica o resultante Para al m destas 3 depend ncias surgiram outros problemas q
63. e descrito na sec o 2 8 a WiSe Framework uma ferramenta para ajudar ao desenvolvimento de aplica es baseadas em RSSF e foi a ferramenta seleccio nada para servir de base para o desenvolvimento desta disserta o Ao longo deste cap tulo v o ser descritos os conceitos e funcionalidades principais da WiSe Framework cuja import ncia est directamente relacionada para a compreens o deste documento Todos os outros conceitos que n o forem aqui mencionados podem ser aprofundados atrav s de uma consulta s refer ncias A WiSe Framework j suporta as 3 camadas gerais de uma aplica o para RSSF e como tal este cap tulo est organizado nessa estrutura Existem tamb m outras duas sec es intituladas de Base de Dados e Framework Wizard que juntamente com as 3 camadas gerais de uma aplica o para RSSF fazem os 5 componentes que a WiSe Framework con t m Por m inicialmente feita uma descri o geral da sua arquitectura e uma explica o dos conceitos comuns a todos os 5 componentes 20 WiSe Framework vers o inicial 3 1 Arquitectura Geral S q Cliente dir Cliente eo Cliente Universal Gateway Universal Gateway a a 9 9 Cy coy p tp i SD i i 9 O Sensor Sensor Sensor Sensor Sensor Sensor Sensor Sensor Figura 3 1 Arquitectura Geral de uma aplica o resultante da Wise Framework A figura 3 1 demonstra a arquitectura de uma aplica o produzida
64. e ser o transmitidas para os senso res necess rio que os drivers dos sensores suportem esta funcionalidade Esta funcionalidade de extrema import ncia quando queremos por exemplo pedir um ECG ou reiniciar o modulo de GPS F cil programa o dos drivers dos sensores Estes drivers consistem na interpre ta o das mensagens recebidas na porta s rie virtual ou n o Implementa o de workflows Ao contr rio da Octavex a WiSe Framework usa a tecnologia Windows Workflow Foundation para o processamento dos dados na segunda camada uma forma mais simples e directa do que a Octavex que requer a necessidade de criar aplica es para esse efeito Implementa o de Servi os externos A abstrac o da Wise Framework permite implementar servi os externos directamente na aplica o final Interface local da framework a Octavex cont m um interface Web para a cria o da aplica o isto requer que toda a rede de sensores esteja a funcionar para ser poss vel fazer altera es A WiSe Framework permite criar a aplica o final sem ser necess rio que a rede de sensores esteja a funcionar Alertas e Feeds A WiSe Framework suporta feeds para tecnologias m veis e aler tas para a aplica o final Oferece ainda mais op es de administra o de alertas que a Octavex A WiSe Framework ser ent o a base para o desenvolvimento desta disserta o 19 Capitulo 3 WiSe Framework versao inicial Como previament
65. eguem de certo modo cumprir aquilo que foi descrito na motiva o Em quest es de hardware ambas est o preparadas para a inclus o de qualquer tipo de sensor A Octavex j suporta alguns tipos de sensores mas tem um API que permite implementar virtualmente qualquer sensor A WiSe Framework faz a virtualiza o das portas de s rie e como tal qualquer tipo de mensagem que seja recebida tem a possi bilidade de passar para esta Framework atrav s da pr configura o de uma esp cie de driver interpretador Em quest es de processamento de dados a Octavex cont m uma API para a cria o de aplica es que depois ter o de fazer uma subscri o junto da Framework e assim os dados podem ser processados como o utilizador quiser A WiSe Framework suporta a tecnologia Windows WorkFlow Foundation que permite ao utilizador estruturar o processamento da informa o como um fluxograma abstraindo assim complica es de programa o Destas duas s a WiSe Framework que oferece uma aplica o final com in meras op es de configura o que vai desde os limites que disparam os alertas at cria o de grupos de utilizadores A Octavex cont m um servi o de administra o que permite criar tais funcionalidades 18 Revis o Bibliogr fica A escolha cai na WiSe Framework por v rias raz es Suporta comunica o nos dois sentidos poss vel configurar mensagens de co mando sem conhecimentos de programa o qu
66. elo motor de plugins lt JavaScript engine loading gt lt string dir framework HttpContext Current Request PhysicalApplicationPath ToString dir framework dir framework Substring 0 dir framework LastIndexOf N FileInfo ficheiros java new DirectoryInfo dir framework Content Plugin_java GetFiles js for int i 0 i lt ficheiros java Length i String java name ficheiros_java i Name ToString To lt script type text javascript src lt Url Content Content Plugin java java name gt gt lt script gt lt gt Listagem 6 7 Motor de carregamento de ficheiros javascript 67 Concep o e Implementa o O estilo da Tab associada ao plugin deve ser definido no ficheiro css w3sa e este tamb m ser carregado com o motor de plugin oI Uru WV NPP RP eB Pee eee FP SOOmMAIADUARHNHHK OLY lt CSS engine loading gt o string dir framework HttpContext Current Request PhysicalApplicationPath ToString dir framework dir framework Substring 0 dir framework LastIndexOf N FileInfo ficheiros css new DirectoryInfo dir framework Content Plugin_css GetFiles css String CSS contents File WriteAllText dir framework Content Plugin_css plugin css CSS contents empty the file String plugin_css_name plugin css for int i 0 i lt ficheiros_css Length i String conte
67. ente que vai definir os dados a visualizar ainda n o est completo Foi necess rio editar o controller para corresponder ao novo sensor Ap s esta tarefa J foi poss vel visualizar os dados do sensor som Para finalizar foi ent o feita a configu ra o manual dos ficheiros de tradu o terminando assim o processo de inser o de um sensor novo o sensor de som A 2 Inplementa o de um novo servi o externo Servi o de Locali za o e Seguimento Este teste obteve uma abordagem muito diferente do anterior O objectivo o de adi cionar um novo servi o externo Um servi o denominado de Servi o de Localiza o e Seguimento Trata se de um sistema que permite obter a localiza o absoluta sistema de co ordenadas e ou simb lica sala n 2 de um objecto m vel Este sistema recorre a uma Rede de Sensores sem fios composta por motes pequenos dispositivos de hardware que comunicam entre si e que medem a intensidade de sinal RF nas mensagens recebidas Este teste teve imensa import ncia pois um teste que valida quase todas as etapas do m todo de solu o proposto anteriormente Como se tratava de um servi o externo apenas necessitamos de um workflow Ent o o m todo inicia se na fase de cria o de um workflow 97 Testes A Workflow Development Microsoft Visual Studio Administrator TETEE File Edit View Project Build Debug Data Tools Test Window Help Gly ly oF e
68. ers o da WiSe Framework Seguindo os passos do m todo de utiliza o foi muito r pido iniciar o desenvolvimento Como o servi o a adicionar um servi o externo n o foi necess rio criar um parser ent o avan ou se para a cria o do workflow respectivo Esta tarefa foi muito r pida devido ao suporte oferecido pela Workflow tool Compilar o projecto com este workflow e o novo servi o foi a pr xima etapa A nova vers o do Framework Wizard foi uma grande ajuda pois com o seu interface mais intuitivo permitiu uma r pida configura o de todos os par metros A base de dados foi criada no acto de compila o o que diminuiu o trabalho para o utilizador Como tarefa final faltava adaptar o interface ao servi o adicionado Para tal foi criado um plugin e as depend ncias necess rias e este foi adicionado ao interface Com alguns ajustes em pequenos par metros foi poss vel concluir todo este processo de forma r pida e eficaz 6 6 3 1 Conclus es Sem nenhuma duvida que comparando os dois testes poss vel identificar todas as me lhorias e vantagens da vers o actual da WiSe Framework A ferramenta est muito mais gil e n o necessidade de alterar o c digo fonte aumenta a fluidez de desenvolvimento 84 Concep o e Implementa o As ferramentas para criar o Parser e o Workflow s o uma mais valia que v o criar um ambiente isolado e permitem obter dois elementos importantes para o Framework Wizard e para a aplica o
69. escritiva desses projectos 2 5 1 CrossBow MoteWorks O kit de desenvolvimento da CrossBow MoteWorks Cro07 uma plataforma de desenvolvimento de redes de sensores sem fios que abrange as 3 camadas gerais de uma aplica o para RSSF SERVER TIER CLIENT TIER Database Logger Visualization Analysis Tools Figura 2 6 Arquitectura do CrossBow MoteWorks Na primeira camada a camada dos sensores encontra se o XMesh software que o respons vel pelos algoritmos que formam a rede de sensores e as traject rias de reenca minhamento das mensagens entre os v rios n s Na segunda camada a camada dos dados encontra se o software XServe e o XOtap que s o os respons veis pelo processamento dos dados desde a camada dos sensores at camada de interface Esta aplica es tamb m se podem incluir na camada dos sensores pois s o elas que recebem os dados dos mesmos Para a terceira camada a camada de interface fornecido um software de visualiza o denominado MoteView mas o XMesh pode ser usado com outro tipo de software que ter de ser feito de prop sito para o efeito 11 Revis o Bibliogr fica 2 5 2 Sentilla m i e m 4 Sentilla Server Sentila Work IDL Client Motes Host Figura 2 7 Arquitectura de uma rede Sentilla O kit de desenvolvimento da Sentilla Sen08 mais focado para o desenvolvimento e manipula o de uma rede de sensores sem fios do tipo malha Como tal incide ape nas nas du
70. esenvolver este parser Conclu da esta tarefa faltava um workflow para trabalhar os dados obtidos Para poder fazer um workflow e verificar a sua fiabilidade foi necess rio desenvolver em primeiro lugar a estrutura da Base de dados Ora esta abordagem foi baseada em tentativa erro e o seu desenvolvimento foi muito lento 83 Concep o e Implementa o Para a pr xima etapa era necess rio adaptar as funcionalidades do interface e para que tal fosse poss vel foi necess rio alterar c digo fonte do mesmo Esta tarefa foi muito delicada pois era necess rio alterar o c digo fonte e voltar ao Framework Wizard para poder gerar a aplica o resultante 6 6 2 1 Conclus es Em termos gerais o Framework Wizard da fase incial da WiSe Framework n o tem praticamente import ncia alguma pois quase todo o trabalho feito nos ambientes de desenvolvimento de cada uma das aplica es criadas No entanto a cria o de c digo esqueleto de certos componentes uma vantagem excepcional N o foi poss vel criar o Parser nem o Workflow sem ser nas solu es de cada uma das aplica es respectivas a Universal Gateway e o WiSeServer Houve imensos problemas na constru o da Base de Dados e a solu o para os mesmos implica alterar c digo fonte do generator 6 6 3 Inplementa o de um novo servi o externo Servi o de Localiza o e Segui mento Este teste foi muito diferente do anterior pois foi executado sobre a nova v
71. etros do sistema limites de valores associa o de sensores grupos etc 16 Revis o Bibliogr fica 2 7 Compara es De seguida feita uma compara o nas categorias em que os trabalhos realizados mais se diferenciam Tabela 2 2 Compara es entre os Trabalhos realizados 17 Revis o Bibliogr fica 2 8 Resumo e Conclus es Ap s o levantamento do estado da arte e de uma an lise feita a outros projectos na rea poss vel concluir que todos os trabalhos relacionados sofrem do mesmo problema a capacidade de desenvolver as aplica es finais de uma forma r pida e coerente De facto n o existe no mercado nem fora deste nenhuma ferramenta que consiga suportar completamente o desenvolvimento de aplica o de redes de sensores sem fios desde a cria o da rede at cria o do seu interface final N o no entanto objectivo desta disserta o criar uma ferramenta que sirva para o desenvolvimento da rede e dos seus n s Mas sim criar uma ferramenta que aparte disso sirva para criar tudo o resto de uma forma r pida e din mica Este ser um ptimo m todo de desenvolvimento usar um dos kits de desenvolvi mento para criar e configurar a rede de sensores e depois usar uma ferramenta para pro duzir uma aplica o final de forma r pida e eficaz De todo este estudo realizado apenas a Octavex e a WiSe Framework chegam aos n veis desejados para esta disserta o Ambas as frameworks cons
72. gil que permitisse o de senvolvimento r pido de aplica es baseadas em RSSF Os resultados obtidos foram al m do objectivo inicial De facto temos actualmente n o s uma ferramenta mas um conjunto de ferramentas que para al m de agilizarem o processo de desenvolvimento destas aplica es permitem tamb m agilizar o processo de depura o an lise de dados e distribui o de tarefas de desenvolvimento 86 Conclus es e Trabalho Futuro Aliado a estas ferramentas ainda temos o m todo que ser como um guia para o uso das mesmas e talvez posso vir a tornar se um padr o para o desenvolvimento deste tipo de aplica es No conjunto da WiSe Framework encontram se 3 aplica es principais que v o incidir sobre as 3 camadas gerais de uma aplica o para RSSF respectivamente dando assim su porte para qualquer tipo de hardware de dados a processar e tamb m no tipo de interface desejado Para o desenvolvimento das depend ncias que cada uma dessas aplica es possui existem outras ferramentas de suporte e funcionalidades extra como o Parser tool o Workflow tool e o motor de plugins Estas ferramentas permitem agilizar e acelerar o desenvolvimento das depend ncias e o motor de plugins permite a expansibilidade a no vos tipos de interface Para al m do suporte s 3 camadas gerais de uma aplica o para RSSF que a WiSe Framework oferece existe tamb m outros dois componentes O componente da Base de dados camada cuja funcio
73. guiu se para a fase seguinte A fase seguinte consiste em criar o Projecto com o Framework Wizard e compilar Esta etapa foi relativamente simples bastando alguns cliques para alcan ar a configura o pretendida O Framework Wizard oferece a op o de criar a base de dados no final da compila o Esta op o foi aceite e com apenas um clique foi poss vel compilar o pro jecto e criar a base de dados Devido reestrutura o dos v rios componentes da WiSe Framework j n o se veri ficou a necessidade de editar c digo fonte de nenhum dos componentes No entanto o interface ainda n o se encontrava pronto para suportar este tipo de servi o A ltima fase do m todo visto que um servi o externo e um servi o espec fico que n o funciona com um simples gr fico a de cria o de um plugin para o Interface A utiliza o de plugins permite que n o seja necess rio editar nenhum c digo fonte da WiSeApp No entanto pelas raz es discutidas na sec o 6 5 1 2 sempre necess rio editar os controllers Sendo que esta tarefa agora muito mais simples O servi o de localiza o e seguimento um servi o que fornece como dados um par de coordenadas X Y e para uma correcta visualiza o necess rio imprimir essas coordenadas sobre um mapa da rea em quest o Para tal usou se uma adapta o da biblioteca de gr ficos existente na WiSe App para fazer a sobreposi o de pontos em cima de uma imagem est tica pr
74. he creation of plugins amongst other things Not less important was the establishment of a development method that varies with the wanted utilization The right tools allied to the right method of development produce a great result that goes beyond the proposed objective allowing it to overcome the obstacles found in the development of wireless sensors network applications il Conte do 1 Introdu o 2 3 1 1 Contexto e Enquadramento cccccccll 1 2 Motiva o e Objectivos 2 ees ee eee eee ee eee eee 1 3 Estrutura da Disserta o 645 26k tee eee Ee Ee ES Revisao Bibliografica 2 1 Redes de Sensores sem Fios 0 00 00 eee ee ene 2 1 1 Introdu o te rica seram ss EOE PE BSR SS 2 1 2 Tecnologias de Rede 2 i cei eed bebe Bd eee pass 2 2 reas de Aplica o 2 0 ee ee 2 3 Trabalhos Relacionados 2 2 2 4 Arquitectura geral de uma aplica o RSSF 2 5 Outros projectos ooo ee 2 5 1 CrossBow MoteWorks 0 0 0 0 0000 eee eee 2 3 2 SEMA ss oe bt Boe we god eo eee SS Soe be Ss Be st he 20 0 ANDI so 4 40 oe oo ew ok ee ee ee Ee ee ee aS 294 CodeBlU se oi ae bh bed RSE RELAPSE TEA TA SR DID OCtaVER e 2 ed Ge E Ss a eee ee we ed a 2 6 WiSe Framework vers o inicial 0 00084 2d A OMIPALA ES so a sosti eo orged ee eke oe ee Ye dO RS 2 8 Resumo e Conclus es cccccccl WiSe Framework vers o inicial 3 1 Arquitectura Geral 3s 2 2 6248 be a
75. himself in a constant campaign for the search of total mobility with the maximum information possible For this reason the area of wireless sensor technologies has been so developed over the last years Within this area and allied to an important source of information lays the wireless sensor networks technology which is constituted by small autonomous devices Motes space distributed that of cooperative form monitor physical or ambient conditions such as temperature moisture luminosity sound pressure vibrations etc in different locations Thanks to these abilities these devices have been being the focus of the development of lots of innovative applications in the modern times However this development has found lots of obstacles Since it is an innovative area there s not a dedicated development method or dedicated tools to achieve this task Few are the options that the manufacture offers This dissertation has the objective to eliminate these needs and offer a tool that helps in the development of such applications The work was done over a initial version of this tool called WiSe Framework Suppor ting tools were created for the development of the dependencies of the framework Other than that these tools offer debugging capabilities and optimization extras The adaptation made to the rest of the components allowed the elimination of the necessity for the user to alter source code the automatic importation of dependencies and t
76. igns monitoring and patient tracking over a wireless network Conf Proc IEEE Eng Med Biol Soc 1 102 5 2005 Stephan Hengstler e Hamid K Aghajan Application development in vision enabled wireless sensor networks In ICSNC DBLO06 page 30 Won Suk Jang William M Healy e Miroslaw J Skibniewski Wireless sensor networks as part of a web based building environmental monitoring system Automation in Construction 17 6 729 736 2008 89 KCO5 LVCA 07 LW05 LW07 Mes08 Mica Micb Micc Micd MOJ06 NSBO08 OCTO6 Oqu07 PLH 07 REFER NCIAS S amus Murphy Mark Roantree Dermot Diamond Karl Crowley June Frisby Web based real time temperature monitoring of shellfish cat ches using a wireless sensor network Sensors and Actuators A 122 222 230 May 2005 Fernando Losilla Cristina Vicente Chicote Barbara Alvarez Andr s Iborra e Pedro Sanchez Wireless sensor network application development An architecture centric mde approach In Oquendo Oqu07 pages 179 194 Konrad Lorincz e Matt Welsh Motetrack A robust decentralized approach to rf based location tracking In Strang e Linnhoff Popien SLP05 pages 63 82 Konrad Lorincz e Matt Welsh Motetrack a robust decentralized appro ach to rf based location tracking Personal and Ubiquitous Computing 11 6 489 503 2007 MeshNetics ZigBit Development Kit 2 3 user s guide October 2008 Microsoft Ajax The official mi
77. isolada do resto da WiSe Framework o que permite delegar tarefas a outras pessoas isto podemos ter um programador com conhecimen tos exclusivos sobre o hardware dos sensores a programar o parser sem precisar de ter conhecimentos especificos sobre a aplica o resultante em que v o ser utilizados 57 Concep o e Implementa o A empresa detentora da WiSe Framework pode agora pedir aos fabricantes do hard ware dos sensores o desenvolvimento de um Parser respectivo sem ter que revelar total ou parcialmente o c digo fonte da WiSe Framework 6 1 2 4 Requisitos Os requesitos s o os mesmos que a Universal Gateway mas ao contr rio desta o Par ser tool necessita que os seus ficheiros de configura o sejam configurados manualmente 58 oa ou sw hm RR RWWHWKWHWKWHKHKWWHYNNDNNNNNNNK ER eRe eee es BESSAADAGTCTREDBDNHNK SEBAAIDAARBVHNSSSOHADAARHONHK SY Concep o e Implementa o 6 2 Camada Dados 6 2 1 Optimiza es ao WiSeServer Nesta sec o encontram se as optimiza es efectuadas ao WiSeServer assim como as vantagens que da resultaram 6 2 1 1 Carregamento din mico Na sua vers o inicial o WiSeServer necessitava de altera es a certas classes do seu c digo fonte para poder suportar novos servi os que fossem adicionados Actualmente tudo o que o WiSeServer necessita carregado dinamicamente Isto poss vel gra as s capacidades de introspec o que o C suporta Por exemplo a inicializa
78. lhos como estes poss vel verificar que existe um grande interesse nesta rea Revis o Bibliogr fica 2 4 Arquitectura geral de uma aplica o RSSF Apesar de existirem in meros projectos e in meras variantes de aplica es neces s rio estabelecer pontos comuns entre elas e definir ent o par metros semelhantes para que futuras an lises sejam discutidas na mesma base O conhecimento mais importante a ter em conta quando se retrata uma aplica o baseada em redes de sensores sem fios a sua arquitectura interna ou seja a forma em como ela est organizada Em qualquer aplica o baseada em redes de sensores sem fios existem pelo menos 3 camadas S o elas Tabela 2 1 As 3 camadas de uma aplica o RSSF Esta a camada mais Esta a camada do meio Esta a camada mais inferior do sistema do sistema middleware superior do sistema que encarregue de interpreta respons vel pelo trata da transforma o os sensores nos n s da tratamento dos dados dos dados em algo rede e interagir com eles provenientes dos percept vel ao utilizador sensores e pela l gica da aplica o Em muitos projectos e ferramentas a finalidade encontra se apenas na camada dos sensores Tais projectos t m como objectivo apenas o desenvolvimento das redes em si e a sua manipula o Para estes projectos a camada de interface o menos importante pois ao utilizador interessa apenas a visualiza o dos dados A an lise po
79. lvimento de workflows 6 2 2 1 Funcionamento geral A ideia principal desta ferramenta ajudar ao desenvolvimento dos workflows sim plificando esta tarefa atrav s da simula o do ambiente circundante dos mesmos Este processo feito utilizando mensagens em WiSeML tal e qual como seriam enviadas pela Universal Gateway Estas mensagens s o ent o descodificadas e o seu workflow chamado respectivamente Tanto o processo antes do workflow como ap s este comple tamente simulado pela Workflow tool isto 1 Recep o das mensagens 2 Valida o dos dados 3 Invoca o do workflow respectivo 4 Armazenamento na base de dados de qualquer resultado do workflow Assim o funcionamento simples Para a recep o das mensagens utiliza se um dos ficheiros que o Parser tool produz o WiseML xml A valida o de dados ficou a cargo de um outro ficheiro xml criado com o objectivo de tirar trabalho a editar ficheiros de c digo Chama se SensorParam xml e cont m todos os tipos de sensores os seus limites e os seus valores A invoca o dos workflows feita pela mesma classe que usada na aplica o final O armazenamento na base de dados simulado por fun es de escrita em ficheiros de log Para esta funcionalidade existir os modelos respectivos tiveram de ser alterados 61 Concep o e Implementa o 6 2 2 2 Funcionalidades Suportadas O Workflow tool cont m as funcionalidades necess rias para o desenv
80. mensagem nula processada e Nenhuma mensagem muito pequena processada e Todas as outras mensagens ter o que ser validadas no p s processamento Qualquer mensagem que n o seja apanhada por estas restri es ser processada 3 3 1 4 Parser Ap s a recep o de uma mensagem v lida no pr processamento a Universal Ga teway precisa de processar os seus dados Como podem existir uma imenso conjunto de sensores a primeira tarefa identificar o tipo de sensor emissor Conhecendo o emissor a Universal Gateway processa a mensagem e os seus dados criando uma nova mensagem no formato WiseML e envia o resultado para a camada de dados Todas estas tarefas est o dependentes de m todos espec ficos a cada tipo de sensor Estes m todos devem ser implementados numa classe pr pria para o efeito O motor de parsing da gateway ir usar esta classe e os seus m todos para interpretar as mensa gens recebidas Os m todos inclu dos nesta classe dever o ser implementados por um programador que conhe a a estrutura das mensagens a receber para que estas sejam bem interpretadas A esta classe d se o nome de Parser Cada tipo de Hardware deve ter as sociado pelo menos um Parser Cada sensor precisa de ter 3 m todos para fazer o parsing da sua mensagem e Valida o m todo encarregue de validar a mensagem caso ela seja do seu sensor e Identifica o m todo encarregue de ler a mensagem e identificar a mote n hardware emissor
81. metros referentes WiSe Framework sem precisar de ter um projecto aberto 6 5 3 Novas funcionalidades Em rela o a todos os par metros que est o associados a sensores o seu loading agora din mico n o dependendo de qualquer mudan a no c digo fonte Esta mudan a trouxe consigo algumas funcionalidades novas e E agora poss vel criar e editar um n mero indefinido de par metros para cada sensor e o seu uso ser apenas ao n vel de processamento do workflow 72 Concep o e Implementa o e As aplica es finais n o precisam de ser editadas ao n vel do c digo e A base de dados criada dinamicamente 6 5 4 Novas op es Op es de Compila o V Compilar WiseApp Y Compilar Base de Dados V Compilar WiseServer 7 Compilar Universal Gateway Criar Base de Dados ao Compilar Figura 6 14 Op es de Compila o e Compilar WiSeApp Activar ou desactivar para que o Framework Wizard compile a WiSeApp e Compilar Base de Dados Activar ou desactivar para que o Framework Wizard compile a Base de Dados e Compilar WiSeServer Activar ou desactivar para que o Framework Wizard com pile o WiSeServer e Compilar Universal Gateway Activar ou desactivar para que o Framework Wi zard compile a Universal Gateway e Criar Base de Dados Activar ou desactivar para que o Framework Wizard crie a estrutura da Base de Dados na m quina em que est a correr 73 Concep o e Implementa o 6 5
82. mos Estes plugins d o ao utilizador a vantagem de poder ter o seu interface de acordo com as suas necessidades 53 Capitulo 6 Concepcao e Implementacao Neste cap tulo v o ser abordados todos os componentes da WiSe Framework que fo ram optimizados ou melhorados assim como todas as novas funcionalidades e ferramentas que foram criadas Ir tamb m ser feita uma s ntese das vantagens de cada altera o ou ferramenta Para ajudar a uma melhor compreens o do trabalho realizado ser o mostra dos alguns excertos de c digo ou conte do de ficheiros 6 1 Camada Sensores 6 1 1 Optimiza es na Universal Gateway Nesta sec o encontram se as optimiza es efectuadas Universal Gateway assim como as vantagens que da resultaram 6 1 1 1 Acumulador No pr processamento das mensagens existiam algumas falhas devido a alguns proble mas das bibliotecas de comunica o pela porta s rie da NET Framework Micc Acon tecia que algumas das mensagens recebidas eram descartadas pelas seguintes raz es e Eram mensagens nulas e Eram mensagens demasiado pequenas e Eram mensagens com lixo Ap s um estudo a estas mensagens concluiu se que elas continham informa o ne cess ria e que eram partes de outras mensagens que quando juntas eram validadas Para contornar esta situa o desenvolveu se um acumulador cuja funcionalidade acumular todas as partes de uma mensagem at que esta esteja completa O acumulador 54
83. mpilar Projecto Criar Base de Dados F Projecto Framework 23 Servi os Informa o de Utilizadores Op es de Compila o Log tipo Pr Visualiza o ea 0 g vitalit Figura 6 18 Interface da Aplica o final Uma restri o destas funcionalidades que para se poder pr visualizar necess rio compilar o projecto em primeiro lugar Esta uma ptima funcionalidade pois poss vel ter uma no o de como ficar o interface sem ter de instalar a WiSeApp primeiro 77 Concep o e Implementa o 4 Op es de Compila o esta tab oferece algumas op es de compila o Esta uma nova funcionalidade que permite ao utilizador distinguir quais as componentes a compilar e tamb m se pretende que a WiSe Framework cria a Base de Dados automaticamente ap s a compila o do Projecto cs 2 S teste1 Novo Projecto Abrir Projecto Compilar Projecto Criar Base de Dados g as Servi os Informa o de Utilizadores Interface Op es de Compila o 7 Compilar WiseApp W Compilar Base de Dados V Compilar WiseServer V Compilar Universal Gateway Criar Base de Dados ao Compilar Figura 6 19 Op es de compila o Estas op es s o bastante intuitivas e ajudam ao desenvolvimento da aplica
84. nalidade a de guardar todos os dados que circulam nas outras camadas suportada por uma aplica o o generator que o respons vel por criar toda a sua estrutura e adicionar a informa o est tica de forma completamente transparente para o utilizador Por ltimo existe um outro componente o Framework Wizard que o respons vel por literalmente juntar todas as pe as e criar a aplica o baseada em RSSF O Framework Wizard cont m um interface simples e permite a transpar ncia abstrac o e boa usabilidade para o utilizador final O m todo proposto consiste em 6 passos dos quais nem todos s o necess rios executar Isto a utiliza o desejada a dar WiSe Framework que vai definir o conjunto de passos a realizar No entanto nunca ser o mais que 6 passos Mediante esta capacidade poss vel dizer que existe uma grande satisfa o com os resultados obtidos mas que como sempre existem algumas melhorias poss veis 7 2 Limita es A maior limita o sem d vida ao n vel do interface da aplica o final O que acontece que a sua estrutura baseada em MVC e devido a esta aplica o ter como objectivo ser o mais din mica e expans vel poss vel numa aplica o web n o poss vel fechar o seu c digo fonte principalmente porque a cria o de novas categorias servi os internos ou externos implica a adi o de novo c digo fonte a esta aplica o Felizmente esta adi o de c digo feita de
85. nts File ReadAllText ficheiros_css i FullName ToString CSS_contents contents File WriteAllText dir_framework Content Plugin_css plugin css CSS contents plugin css Attributes Add href Content Plugin_css plugin css name gt Listagem 6 8 Motor de carregamento de ficheiros css Com esta nova funcionalidade poss vel criar novas tabs para servi os espec ficos sem afectar o resto da aplica o e completamente integrado com os par metros definidos previamente no Framework Wizard Os programadores podem ent o desenvolver o seu interface para um servi o espec fico Isto aumenta exponencialmente a expansibilidade da WiSeApp 6 4 Base de Dados Todos os dados necess rios execu o da aplica o especialmente a parte da WiSe App encontram se na Base de Dados Na sua primeira vers o o Framework Wizard era respons vel por alterar c digo fonte do programa respons vel pela cria o da Base de Dados o generator e compil lo Isto levantava v rios problemas Qualquer utilizador da WiSe Framework tinha acesso estrutura da Base de Dados o que significava assim v rios riscos de seguran a Actual mente o c digo fonte do generator n o est dispon vel para edi o e toda a base de dados criada dinamicamente em rela o estrutura dos seus models 6 4 1 Optimiza es ao Generator O generator um programa de apoio criado pela WiSe Framework cuja funci
86. o final 78 Concep o e Implementa o 6 5 5 4 Tab Framework Dentro da tab Framework o utilizador tem a possibilidade de navegar entre 3 tabs 1 Servi os Internos esta a tab na qual feito todo o trabalho de configurar ser vi os internos O utilizador tem a possibilidade de adicionar editar ou remover um servi o deste tipo como tamb m a possibilidade de editar todos os par metros correspondentes ao mesmo vise romeno a a a E E w wall Projecto lt nome gt Novo Projecto Abrir Projecto Compilar Projecto Criar Base de Dados a sige Servi os Intemos Servi os Extemos Workflows Servigos Intemos Tipo Protocolo Classe Informa es M todos e Workflow Limites e P rametros Position BT GPS BloodPressure RF MIG Tipo Ecg RF MIG 1 Pi Oximetry RF MIG es cot Pulserate RF MIG Protocolo X Temperature RF MIG a Ecgz RF Zephyr pedi Sound RF XBOW Foto Procurar TemperatureX RF XBOW Remover Servi o Noro Sonico intomo Cancelar Guardar Figura 6 20 Servi os internos Este o pop up que aparece para inserir um novo servi o interno Soa Servigo h todos Tipo Valida o da Mensagem Classe Identifica o do Servi o Protocolo Recolha de Dados Descri o Pedidos Base Feta Ne Figura 6 21 Pop Up novo servi o inte
87. olvimento dos workflows e Permite a visualiza o e interpreta o de erros que possam surgir na configura o dos workflows e os seus par metros CAUsers Alice Documents My Dropbox wise framework Workflow Development Solution WFtoolexe Sax Pn Workflow Tool Loading Sensor Paramet Opening SensorParan i Done Loading T and P upper limit Done Donet r_limit Done lower limit Done limit calibrate value Done Loading Aler Done Loading 1 Workf lo WFSound Done Loading workflows configurations file Done Configuring 9 Workflows from workf lows xml file tion NOT FOUND NOT FOUND NOT FOUND re NOT FOUND NOT FOUND OT FOUND X NOT FOUND ri yF NOT FOUND WFSound Loading WiSeML xml file Done Configuring 2693 Me from WiSeML xml file Figura 6 4 Ecra de arranque do Workflow tool e Apresenta os valores de entrada e de sa da para cada mensagem recebida CAUsers Alice Documents My DropborwiserameworkaWorkiow Development SolutionWF toolexe kd DE ies PROCESSING MESSAGES a Sen Model and Flush Press ENTER continue Sensor Model Press ENTER continue Sound Model and Flush i 2 Stamp 18 03 2018 12 33 21 Output data 481 runtime 14 0088 ms Press ENTER continue Sound Model age Number 4 ion Create and Flush Stamp 10 83 2010 12 33 22 Output data 483 5 runtime
88. omo o esperado considerado sucesso E caso n o fun cione como esperado considerado insucesso Podemos ver este tipo abordagem como um pequeno teste unit rio e A aplica o funciona de acordo com o esperado Se sim ent o sucesso se n o ent o insucesso Tendo em conta esta abordagem ent o poss vel fazer uma s rie de testes unit rios a cada uma das componentes da WiSe Framework Na qualidade de autor deste documento e autor da implementa o desta disserta o f cil de constatar que o ideal comparar o antes e o depois da implementa o Como tal foram realizados 2 tipos de testes um com a vers o inicial da WiSe Framework e outro com a vers o final da mesma orientada pelo m todo de utiliza o proposto no cap tulo 5 Em cada um destes dois tipos foram executadas as tarefas necess rias para determinar o sucesso da WiSe Framework Mais informa o sobre estes testes pode ser encontrada no Anexo A 6 6 2 Inclus o de um novo servi o Amplitude de Som Este teste foi um teste aplicado vers o inicial da WiSe Framework Foi um teste muito completo pois abrangeu todas as reas que a ferramenta tinha disposi o Depois de identificado o hardware a utilizar a CrossBow foi necess rio criar o parser respectivo para a interpreta o das suas mensagens O primeiro obst culo surgiu logo nesta etapa pois era necess ria usar a pr pria Universal Gateway juntamente com as motes a funcionar para poder d
89. onalidade principal o de criar a Base de Dados de forma correcta para o projecto seleccionado Na sua vers o inicial o generator apenas corria os comandos necess rios para criar a base de dados Na sua vers o actual o Generator imprime no ecr todos os passos da sua 68 Concep o e Implementa o execu o assim como falhas que possam ter ocorrido Estas tamb m s o escritas num ficheiro de log 6 4 1 1 Optimiza es Devido a reestrutura o da arquitectura para que n o houvesse escrita de c digo por parte da WiSe Framework o generator agora completamente din mico Isto faz o loading dos modelos dos servi os respectivos dos seus par metros e dos tipos de servi os e cria a base de dados de acordo com estes A preven o de erros tamb m foi melhorada e agora vis vel no ecr a ocorr ncia de algum erro que possa acontecer 6 4 1 2 Funcionamento actual O funcionamento actual do generator simples Ao iniciar faz o loading dos par me tros todos que necessita atrav s da classe WiseApp dll e do ficheiro SensorParam xml E de seguida cria a base de dados baseado no script que a WiSe Framework criou E o EX Administrador C Windows system32 cmd exe Alice Desktop testei Main Server Generator gt Gerar Base de Dados bat creating Data Loading Ty Types alizing ActiveRecord Creating Schema Complete Creating Admin Done d parane Done upper_limit Done
90. ores sem fios permite obter detalhes localizados sobre espa os onde os m todos comuns n o chegam Na maior parte das vezes estes aplica es servem para solu es de vigil ncia e seguran a Na rea da sa de encontram se aplica es para a monitoriza o remota de dados vitais humanos localiza o de pacientes e doutores administra o de drogas em hospitais etc O uso destas aplica es faz com que a vida tanto dos pacientes como a dos doutores seja mais f cil ou seja poss vel fazer diagn sticos e outros processos independentemente da posi o dos intervenientes assim como opera es de triagem dentro dos hospitais por exemplo Tais aplica es s o vitais pois lidam com dados humanos Na rea dos servi os sobre o estado de esp rito encontram se as aplica es que ten tam processar de forma inteligente o estado de esp rito do utilizador Isto a medi o de dados corporais atrav s de uma rede de sensores sem fios permite identificar a emo o do utilizador que pode depois ser inclu da numa conversa on line ou numa chamada telef nica Aplica es que trabalham na rea de posicionamento e localiza o de animais ser vem simplesmente para monitorizar posi es e localiza es Na rea de entretenimento encontram se as aplica es que usam varias fontes de dados para dar nfase ao entreteni mento do utilizador Na rea de log stica transportes industria e casa e escrit rio encontram se as aplica
91. orkflow 2 TT dadosvalidos dadosinvalid EM gvarcarDados g darDadosSen sorbo EiseActivity M E fElseBranchActeith fEiseBranchActwity2 8 a ElseActivity2 o Drop Actites o Here fElseBranchActivit fElseSranchActivitys sem larme E E a bradicardia af taquicardia X Y Figura 3 9 Diagrama de um Workflow Sequ ncial Cada tipo de hardware ou tipo de sensor deve ter um workflow associado A associa o feita antes da compila o da aplica o resultante Este pode e deve ser programado por quem sabe quais os objectivos finais dos dados em quest o A WiSe Framework j suporta o lan amento de alertas para valores edit veis Estas fun es j est o implementadas nos workflows existentes 34 WiSe Framework vers o inicial 3 4 2 Funcionamento Geral do WiSeServer Nesta sec o descrito o funcionamento geral do WiSeServer 3 4 2 1 Inicializa o Ao iniciar o WiSeServer faz o carregamento de todos os par metros que foram progra mados pelo Framework Wizard Nomeadamente inicializa o tipo de sensores a processar os seus workflows os seus limites os alertas e as fun es de comunica o com as cama das adjacentes 3 4 2 2 Recep o de mensagens O servidor recebe mensagens atrav s da fun o put WiSeML Aquando da recep o da mesma esta fun o vai se encarregar de descodificar o seu conte do identificando o workflow de des
92. ou em movimento podem ou n o estar conscientes da sua localiza o e podem ou n o ser homog neos assim como muitas outras caracter sticas dependentes do objectivo da rede Na Figura 2 1 temos um exemplo do layout de um rede de sensores sem fios a e um exemplo de uma poss vel traject ria que a informa o pode ter b Revis o Bibliogr fica g amp l Sink c o E a Figura 2 1 Topologia de RSSF Tal traject ria poss vel atrav s de um algoritmo de routing inclu do na programa o dos n s A funcionalidade deste tipo de redes influenciada pela dist ncia entre cada n e pelas suas condi es t cnicas estado da bateria sensores inclu dos etc 2 1 2 Tecnologias de Rede N o existe nenhuma obrigatoriedade sobre qual a tecnologia a utilizar neste tipo de redes BPC 07 No entanto poss vel designar quais as tecnologias que actualmente s o usadas em produ o e conferem a produtos est veis S o estas a tecnologia ZigBee e Bluetooth ZigBee a especifica o para protocolos de comunica o que se destina a equipamen tos de r dio frequ ncia de pouca pot ncia baseados na especifica o IEEE 802 15 4 2006 Este protocolo cont m duas variantes uma para largura de banda normal e outra para lar gura de banda larga Bluetooth um protocolo aberto que se destina troca de dados entre aparelhos de r dio frequ ncia de onda curta A grande diferen a entre estas duas tecnologias encontra se na
93. parte da Wi SeApp encontram se na Base de Dados 3 5 1 O Generator O generator um pequeno programa criado automaticamente pela WiSe Framework com a finalidade de construir a estrutura da Base de Dados que vai suportar as configura es da aplica o resultante 3 5 1 1 Exemplo de Base de Dados Alerts Positions WorkflowParams Ecgs qu s id q Msg SETE NomeWorkfiow ReadTime aa IssueDate Latitude NomeParametro Data NextCheck Longitude Valor Sensorld level Altitude ype Sensorld Limit Archived BloodPressures PulseRates Sensocid po g d i z A 2 ReadTime Datal ReadTime Sensors a DT I Data Data id MeanAP Sensorid io Os Number jean SensorT ypeld Sensorid Agenti Agents 7 id Name 1 04 SensorTypes GroupMembers TAPA q ud ic A A 0 Password g Name La BirthDate E x Description Permissions X Weight Oximetries 4 m 4 w Height g id g ReadTime Da Data Temperatures A Alergies Sensorid id ReadTime Groups Notes TE Email Data 7 id Sudo Sensorld Name AvatarFileName Figura 3 10 Exemplo da estrutura de Base de Dados de uma aplica o resultante Na figura 3 10 podemos ver ali alguma personaliza o no tipo de sensores escolhi dos como a Pulsa o e Press o sangu nea Este o tipo de estrutura que uma aplica o resultante tem quan
94. que respons vel pela interpreta o dos dados provenientes dos sensores e transmiti los para a camada superior Na camada dos dados existem 4 aplica es distintas e Recep o de dados Data Receiver Web Service a aplica o respons vel pela agrega o dos dados provenientes das gateways e pelo seu reencaminhamento para a aplica o de publica o de dados e Publica o de dados Data publisher a aplica o que extrai a informa o das mensagens recebidas pela aplica o de recep o de dados e decide as aplica es de destino para essa informa o Para que uma aplica o seja uma aplica o de destino tem de se subscrever junto da aplica o de publica o de dados Isto feito atrav s de um sistema de troca de mensagens no formato SOAP XML pr prio sempre necess rio que haja pelo menos uma aplica o subscrita para que o fluxo de dados seja til e Servi o de Arquivo Archive service a aplica o que recebe notifica es e dados da aplica o de publica o de dados e armazena os para an lises futuras e Servi o de Alertas Alert Service uma aplica o que interroga a base de dados com frequ ncia em busca de altera es de estado nas sec es de alertas Caso haja alguma altera o esta reportada para os destinos configurados Por de feito s o alertas por email ou por log na base de dados 14 Revis o Bibliogr fica Na camada de interf
95. ra permitir uma maior flexibilidade na compila o dos projectos e na cria o da Base de Dados 51 Solu o proposta O m todo 5 3 4 Base de Dados Tabela 5 5 Antes e Depois Base de Dados Antes Depois Necess rio alterar manualmente c digo fonte antes de compilar um projecto Sem necessidade de alterar c digo fonte Sem feedback para o utilizador do estado ac Com feedback para o utilizador tual O maior problema neste componente era o facto de que a ferramenta que criava a base de dados o generator necessitar de altera es ao seu c digo fonte para poder correspon der a altera es feitas no Framework Wizard Este problema foi resolvido sendo que agora esta ferramenta completamente autom tica e din mica Um outro problema era o facto de n o haver feedback nenhum para o utilizador do que se passava na execu o desta ferramenta O utilizador n o tinha no o se o generator foi bem executado ou n o Este problema foi resolvido sendo que agora o utilizador tem completa no o do que a ferramenta est a executar 5 3 5 Camada do Interface Tabela 5 6 Antes e Depois Interface Antes Depois Apenas utilizadores e grupos Suporte para utilizadores grupos e agentes Edi o de parametros de workflow iniciais Edi o dos parametros de workflow dinami atrav s de ficheiro externo camente Suporte para n tipo de servi os para cada Apenas TOT apo de Sigo per cada mira
96. ramework Devido abstrac o da rede de sensores a Universal Gateway consegue trabalhar com virtualmente qualquer rede desde que a recep o dos dados na m quina de destino seja feita atrav s da porta de s rie ou da sua virtualiza o Para uma interpreta o dos dados dos sensores necess rio existir uma pr programa o de m todos que permitam interpretar as mensagens recebidas pela Universal Gateway Esta programa o pode ser feita em Java ou CH Na camada dos dados encontra se o Main Server que encarregue da recep o das mensagens provenientes da Universal Gateway a sua interpreta o e o seu reenvio para os workflows correspondentes Os workflows s o como mini aplica es programadas sobre a forma de um fluxo grama Estes workflows est o encarregues do processamento dos dados e das consequ n cias dos mesmos S o eles tamb m os respons veis pelo lan amento de alertas O uso de workflows d uma grande expansibilidade a esta framework pois d ao utilizador a capa cidade de usar programar o processamento dos dados sem ter de usar aplica es externas ou aplica es pr compiladas Na camada superior a camada de interface encontra se uma aplica o Web que faz o interface entre o utilizador e o sistema Esta aplica o permite a organiza o dos v rios intervenientes do sistema permite a visualiza o dos seus dados a recep o de alertas a disponibiliza o de feeds e a configura o de par m
97. rimeiros instantes da utiliza o da mesma Para a averiga o de todos os problemas foi necess rio ter em conta todos os tipos de utiliza o e todos os tipos de opera es poss veis de realizar Para tal foi realizado um teste de utiliza o que consistiu em criar uma aplica o gen rica de raiz para medi es de um tipo de sensor novo utilizando a WiSe Framework O hardware de sensores escolhido tamb m foi um hardware nunca antes utilizado as motes da Crossbow O sensor escolhido foi o sensor de Amplitude de Som A aplica o final dever ter as caracter sticas gen ricas de uma aplica o deste g nero Os passos realizados durante esta tarefa n o s o importantes para o resto do cap tulo mas podem ser encontrados no anexo A 1 deste documento 43 Apresenta o e descri o do problema Ap s a conclus o desta tarefa foram apontadas diversas falhas no m todo de utili za o Estas falhas devem se maioritariamente s depend ncias impostas Foram ent o identificadas as 3 principais depend ncias Uma em cada camada 4 2 1 1 depend ncia O parsing das mensages Um dos pilares principais da WiSe Framework encontra se na camada dos sensores e a capacidade de interpretar as mensagens que s o enviadas pelos sensores Para que isso seja poss vel ter de existir uma classe respectiva que far o parsing dessas mensagens em algo til para a Aplica o Essa classe est responsabilidade do programador El
98. rio numa fase preliminar fazer um estudo sobre o que j existe neste campo e identificar os pontos fortes e os pontos a desenvolver para que sirvam de orienta o ao desenvolvimento desta disserta o O pr ximo passo ser colmatar esses pontos a desenvolver tentando assim obter uma ferramenta que satisfa a estes objectivos Em poucas palavras o objectivo desta disserta o desenvolver uma ferramenta gil que permita o desenvolvimento r pido de aplica es baseadas em redes de sensores sem fios de salientar que a INOVAMAIS imp s uma condi o de desenvolvimento Condi o que diz que este desenvolvimento deve ter por base uma primeira vers o j existente de uma ferramenta intitulada de WiSe Framework 1 3 Estrutura da Disserta o Esta disserta o encontra se dividida em 7 cap tulos O primeiro e ltimo cap tulo dizem respeito introdu o e s conclus es respectivamente Nestes explicado os ob jectivos e a motiva o desta disserta o e tamb m os resultados conclu dos da conclus o dos mesmos Nos cap tulos interm dios descrito todos os passos que decorreram na execu o desta disserta o Inicialmente feita uma an lise ao estado da arte actual nesta rea onde tamb m justificado a condi o imposta pela empresa em quest o No cap tulo se guinte descrito em mais pormenor a WiSe Framework para facilitar a compreens o das mat rias discutidas nos restantes cap tulos Os cap t
99. rk Este WiSeServer a camada interm dia entre os sensores e a visualiza o dos dados dos mesmos O WiSeServer tamb m est encarregue do processamento de workflows Estes workflows fazem parte da componente Windows Workflow Foundation Micd pre sente na NET Framework Micc e s o descritos com maior detalhe na sec o 3 4 1 3 A escolha deste tipo de tecnologia deveu se facilidade de desenvolvimento dos work flows que a net Framework oferece E assim tamb m ser poss vel expandir o uso da WiSe Framework no sentido em que qualquer programador pode programar a sequ ncia de processamento dos dados adquiridos na camada inferior 32 WiSe Framework vers o inicial Ap s toda a informa o resultante do processamento estar v lida n o impressa no ecr mas sim guardada na Base de Dados Esta t cnica permite uma enorme compatibi lidade com qualquer tipo de visualiza o de dados Na camada de Interface a aplica o encarregue dessa fun o tem apenas de lidar com a Base de Dados at mesmo para interac es com o hardware 3 4 1 1 Mensagens Recebidas As mensagens recebidas por parte do WiSeServer v em no formato WiseML Este formato permite encapsular a informa o necess ria para o bom funcionamento de toda a aplica o resultante 3 4 1 2 Web Services O WiSeServer disponibiliza alguns servi os para o funcionamento da aplica o The following operations are supported For a formal definiti e
100. rno 79 Concep o e Implementa o 2 Servi os Externos esta tab tem as mesmas funcionalidades que a tab anterior mas para servi os externos Como os servi os externos n o necessitam de um parser as op es relativas a estes n o existem nesta tab Hed c Projecto lt nome gt Novo Projecto Abrir Projecto Compilar Projecto Criar Base de Dados Em a ED Procurar Figura 6 22 Servi os Externos Este o pop up que aparece para inserir um novo servi o externo Figura 6 23 Pop Up novo servi o externo 80 Concep o e Implementa o 3 Workflows Esta tab permite importar ou remover workflows E poss vel remover v rios workflows ao mesmo tempo A remo o de um workflow implica a desasso cia o do mesmo ao respectivo servi o re c Projecto lt nome gt Novo Projecto Abrir Projecto Compilar Projecto Criar Base de Dados Workflows Dispon veis WFSound dll Figura 6 24 Workflows Adicionar um workflow bastante simples basta escolher a classe e o workflow dessa classe Figura 6 25 Pop Up novo Workflow 81 Concep o e Implementa o 6 5 5 5 Compilar Projecto Ap s todos os dados e configura es do projecto estarem prontas o utili
101. s 2 Arquitectura de uma rede Sentilla 0 WSN Monitor GUI do Kit ZigBit Lc clccll Arquitectura da Octayex bee eek EH EEEE EG DAS Arquitectura f sica da WiSe Framework Arquitectura Geral de uma aplica o resultante da Wise Framework Aplica o resultante criada pela WiSe Framework Arquitectura Geral da Universal Gateway Exemplo de uma mensagem recebida Diagrama de Actividade Parsing 00 Diagrama de Actividades Comandos Arquitectura Geral do WiSeServer cccccclcl Servi os disponibilizados pelo WiSeServer Diagrama de um Workflow Sequ ncial Exemplo da estrutura de Base de Dados de uma aplica o resultante Arquitectura Geral da WiseApp 2 2 0000 Interface do Framework Wizard 00 Ilustra o das flags de in cio e de fim O Parser tool 4a a eo owe Dr OO E DE ee ee we ew Web Services disponiveis actualmente Ecra de arranque do Workflow tool 00 Valores de entrada e sa da ahaa 000000000004 Variveis de tempo de execu o ives esau ee RGR E Re ROS Gr ficos sem Identifica o do Hardware 2 Gr ficos com Identifica o do Hardware 0 Gr fico linear e Gr fico de pontos 2 200 Gr fico
102. s recebidas o que resultava em perda de infor ma o importante Com os 2 m todos de leitura dispon veis 3 3 1 2 mais a nova funcionalidade de acu mula o poss vel expandir a variedade de mensagens a processar pela gateway sendo estas agora virtualmente qualquer tipo de mensagem 55 Concep o e Implementa o No p s processamento para validar uma mensagem a Universal Gateway tinha de inicializar uma est ncia em todos os parsers existentes para que estes pudessem ou n o validar a mensagem como sua Uma vez que o pr processamento pode agora usufruir da nova funcionalidade de acumula o ficou mais robusto libertando assim algum trabalho por parte do motor de parsing o que resulta numa diminui o da carga de processamento Temos apenas uma fun o a executar ao inv s de 1 n Parsers fun es a executar 6 1 2 O Parser tool fa n a CAUsers Alice Documents My Dropbox wise framework Parser Development Solution Parser Tool exe Parser Tool Baudrate 57608 Leitura BIN i Reservada Acumular False Flag em int 6 Baudrate 57600 Leitura BIN i Reservada Acumular False Flag em int 126 126 Baudrate 115200 Leitura BIN Reservada Acumular False Flag em int 8 8 Position Temperature Pulserate Oximetry BloodPr Ecg Pulse RespirationRate Temperature Ecgz Temperature Sound Ready to open COM ports Press ENTER to continue use or disabled aa Ancona ee
103. senvolvimento de workflows e a Workflow tool 98 SLS Interface nal sport edd eae ba ee aes 99 vii Lista de Tabelas 2 1 2 2 5 1 5 2 5 3 5 4 5 5 5 6 As 3 camadas de uma aplica o RSSF anaoa 10 Compara es entre os Trabalhos realizados 17 Correspond ncia entre m todo e possiveis utiliza es 48 Antes e Depois Sensores Servi os 000000 0 49 Antes e Depois Dados 02 022 2 eee 50 Antes e Depois Framework Wizard 0 51 Antes e Depois Base de Dados aoao e 52 Antes e Depois Interface oaoa a RPA viii Lista de Listagens 3 1 3 2 3 3 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 Exemplo de um ficheiro WiSeML aana 23 Exemplo de um ficheiro sensores xml nooo 27 Exemplo de um ficheiro portas xml a ooo a 28 Exemplo de um ficheiro portas xml actual Ja Ficheiro das configura es do Parser tool Exemplo de classes para o carregamento dindminco 59 Ficheiro das configura es do Wotkflow tool 63 Exemplo de ficheiro WiseConfig xml 64 Exemplo de uma chamada de Render Partial 67 Motor de carregamento de ficheiros javascript 67 Motor de carregamento de ficheiros css oaoa 68 1X Abreviaturas e Simmbolos AJAX API DLL ECG GPS GSM GUI IDE IEEE MVC NMEA PAC RF RSSF SOAP WSN WWF XML
104. ser tool foi poss vel verificar que apesar do Parser desenvolvido corresponder ao protocolo da CrossBow cerca de 7 em cada 10 men sagens recebidas eram descartadas O Parser tool obedece mesma arquitectura que a Universal Gateway e gra as s suas fun es de depura o foi poss vel chegar conclus o que as mensagens descartadas eram na verdade mensagens partidas em segmentos e que a jun o dos v rios segmentos correspondia a uma mensagem completa Para contornar este problema a arquitectura da Universal Gateway e do Parser tool foi alterada de forma a suportar um buffer O n mero de mensagens descartadas diminuiu para cerca de 1 em cada 20 mensagens recebidas Entende se que as mensagens descar tadas agora j n o s o mensagens partidas em v rios segmentos Anteriormente cada mensagem recebida era enviada para todos os Parsers para ser pr validada Apenas um destes retornava com a valida o no entanto todos os Parsers eram executados Isto levava a um desempenho med ocre Actualmente as mensagens s o pr validadas antes de ser chamado o Parser respectivo Gerou se assim um aumento de desempenho na Universal Gateway Inicialmente tamb m existiam alguns problemas de comunica o com a camada de dados Estes problemas deixaram de existir depois da reestrutura o da arquitectura da Universal Gateway 5 3 2 Camada de Dados Tabela 5 3 Antes e Depois Dados Antes Depois Adi o manual
105. sores s o os pequenos aparelhos referidos na Revis o bibliogr fica na sec o 2 1 1 que medem valores comuns como a temperatura humidade pulsa o etc Podem tamb m referenciar valores mais complexos como um Electrocardiograma ou at coordenadas GPS Mais tarde estes sensores ser o denominados de servi os por quest es de log stica e para uma melhor compreens o da WiSe Framework A explica o para esta altera o encontra se posteriormente na sec o 4 3 3 2 2 Parsing de mensagens Parsing acto pelo qual se analisa por es de texto para determinar elementos na sua estrutura O parsing referido ao longo deste cap tulo e tamb m ao longo deste documento o acto de interpretar a informa o recebida por parte dos sensores e transform la em algo leg vel para o ser humano ou para a aplica o em quest o 3 2 3 WiseML O WiseML um formato de mensagem em XML criado exclusivamente para a WiSe Framework que vai circular entre os seus componentes e consiste nos seguintes campos e Id valor que identifica o hardware e Tipo tipo de sensor temperatura GPS etc e Dados valores medidos separados por pipe ou outra condicional desde que tratada posteriormente e Stamp data e hora da leitura lt xml version 1 0 encoding utf 8 gt lt Messages xmlins xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema gt lt sensor id 3 tipo SLS d
106. sterior ser feita por outros m todos ou outras pessoas A camada dos sensores provavelmente a mais importante pois a camada que faz a ponte entre os sensores e o resto da aplica o Dependendo do tipo de sensores a utilizar esta camada pode ser a mais complexa ou a mais simples Normalmente os aparelhos encarregues de processar o software desta camada em tempo real s o simples e n o requerem muito poder de processamento Se o desejo do utilizador ter um sistema que d apoio decis o ent o necess rio investir na camada dos dados Esta ser ent o uma camada que poder requerer um elevado poder de processamento dependendo dos objectivos da aplica o Normalmente estas camadas encontram se numa disposi o vertical em que a camada dos sensores n o consegue comunicar com a camada de interface sem passar pela camada dos dados No entanto podem surgir casos em que tal seja necess rio havendo ent o um atalho entre camadas Estas 3 camadas s o as mais b sicas pelo que pode acontecer uma subdivis o de qual quer uma destas camadas em v rios n veis ou at a exist ncia de outras camadas extra 10 Revis o Bibliogr fica 2 5 Outros projectos Na execu o deste documento foram analisados outros projectos de car cter seme lhante ao desta disserta o S o projectos com o objectivo de ajudar ao desenvolvimento de aplica es que trabalhem com redes de sensores sem fios Em seguida feita uma an lise d
107. tante mas desta vez em conjunto com a Universal Gateway e o Parser desenvolvido anteriormente 94 Z Main Server Microsoft Visual File Edit View Project Build Debug Data Tools Test Window Help Gly agaga anA bp Debug Mixed Platforms gt 8 background Uh SensorTypes cs Testes 4 Sensorlypes using WiseApp Models ppublic class SensorTypes public static void load 4 xogjoo S Je10 dxq Jonas ype SensorTypeName Ecgz new SensorType SensorTypeName Sound yx load new SensorType SensorTypeName Position Sensor GPS CreateAndFlush new SensorType SensorTypeName BloodPressure Sensor ECG CreateAndFlush Name Oximetry Oximetria CreateAndFlush Pulserate Pulsa o CreateAndFlush Tame Temperature Temperatura CreateAndFlush Sensor ECGz CreateAndFlush Sonoro CreateAndFlush Sensor Press o Sanguinea CreateAndFlush m E References c ig Service References G App Data H EM Content EM Controllers E DM Helpers i E Models i DM Scripts 6 Gal Views E DatabaseStarter cs E EE Default aspx H da Globalasax PositionData cs samadosd del SensorTypeName cs translation en po translation pt po E web config 8 WiseConfigaml S EH Workflows aj Properties c E References Alerts cs aillarkflows cs E ListaWorkflowst B WFBloodPressure cs B
108. tation abstraction control http www dossier andreas net software_architecture pac htm Glenn Baddeley Glenn baddeley gps nmea sentence information http home pacific net au gnb gps nmea html Paolo Baronti Prashant Pillai Vince W C Chook Stefano Chessa Alberto Gotta e Yim Fun Hu Wireless sensor networks A survey on the state of the art and the 802 15 4 and zigbee standards Computer Communications 30 7 1655 1695 2007 Xianghui Cao Jiming Chen e Youxian Sun An interface designed for networked monitoring and control in wireless sensor networks Computer Standards amp Interfaces 31 3 579 585 2009 Wan Young Chung Seung Chul Lee e Sing Hui Toh Wsn based mobile u healthcare system with ecg blood pressure measurement function Conf Proc IEEE Eng Med Biol Soc 2008 1533 6 2008 CrossBow MoteWorks Getting Started Guide March 2007 Proceedings of the International Conference on Systems and Networks Com munications ICSNC 2006 October 29 November 3 2006 Papeete Tahiti French Polynesia IEEE Computer Society 2006 Eurico Neves Presidente do Conselho de Administra o da INOVA S A Mensagem http www inovamais pt Fei Ding Guangming Song Kaijian Yin Jianging Li e Aiguo Song A gps enabled wireless sensor network for monitoring radioactive materials Sensors and Actuators A Physical 155 1 210 215 2009 Tia Gao Dan Greenspan Matt Welsh Radford Juang e Alex Alm Vital s
109. tino para os dados De seguida feito alguns testes para verificar a veracidade da mensagem e se corresponde ao workflow de destino Caso a mensagem que passe nestes testes enviada para o workflow caso contr rio descartada Para prevenir sobre carregamento da Base de Dados o reencaminhamento dos dados s iniciado quando um determinado sensor for associado a um agente Esta associa o feita na camada do interface a aplica o WiSe App 3 4 2 3 Processamento de Workflows O processamento presente num workflow deixado a cargo do programador no en tanto existem funcionalidades gen ricas que t m de acontecer 1 Tratamento dos dados os dados recebidos devem ser tratados de alguma maneira aqui que se deve fazer as principais computa es 2 Armazenamento na Base de Dados os dados devem ser armazenados a uma dada altura 3 Lan amento de Alertas No caso de existirem os alertas tamb m t m que ser lan ados pelo workflow Qualquer outro tipo de computa o extra pode existir e fica ao crit rio de programador 3 4 2 4 Armazenamento na Base de Dados Todo o tipo de resultados provenientes de um workflow ser o posteriormente armaze nados Actualmente estamos a falar de valores dos sensores e de vari veis de alertas mas no futuro poder o existir outro tipo 35 WiSe Framework vers o inicial 3 5 Base de Dados Todos os dados necess rios execu o da aplica o especialmente por
110. to Servi os Informa o de Utilizadores Interface Op es de Compila o Servicos Intemos Estado V Activado Desactivado 7 Desactivado Desactivado T Desactivado Desactivado v Activado Activado Activado Figura 6 16 Servi os do projecto actual Pela imagem podemos verificar duas listas distintas Uma de servi os internos e outra de servi os externos A activa o ou desactiva o destes feita clicando na checkbox respectiva 75 Concep o e Implementa o 2 Informa o dos utilizadores nesta tab o utilizador pode seleccionar qual o tipo de informa o que deve estar associado aos utilizadores da aplica o resultante ES teste Novo Projecto Abrir Projecto Compilar Projecto Criar Base de Dados F Projecto Doen as Anteriores Alergias Notas de utilizador Figura 6 17 Informa o dos utilizadores Basta seleccionar a informa o que se quer visualizar na aplica o final 76 Concep o e Implementa o 3 Interface Esta tab permite fazer um preview do aspecto do interface da aplica o Web final escolher um log tipo para a mesma e tamb m alterar o seu ficheiro css S teste1 Novo Projecto Abrir Projecto Co
111. ual do Utilizador June 2009 w3schools com Css tutorial http www w3schools com css w3schools com Javascript tutorial http www w3schools com js default asp 91 Anexo A Testes A 1 Inclus o de um novo servi o Amplitude de Som Na fase inicial da WiSe Framework n o h nenhum procedimento ou m todo a seguir portanto a primeira tarefa que um utilizador tem a de abrir o Framework Wizard e tentar a partir da iniciar alguma ac o ES Wise Framework a X F al lt Nome do Projecto gt Novo Projecto Abrir Projecto Guardar Projecto Tipos de Sensores Workflows Informa o de Utilzadores Interface Lista de Sensores Seleccionado Nome Protocolo Case Informa es M todos e Workflow Nome Classe Procura Protocolo o Descri o Sensor Figura A l Interface inicial que obriga a criar ou abrir um projecto Para iniciar alguma ac o no Framework Wizard o utilizador tem de ter um projecto aberto ou criado ent o a primeira tarefa consiste em criar um projecto novo ou abrir 92 Testes um existente O objectivo deste teste a adi o de um novo sensor ent o vamos criar esse novo sensor no Framework Wizard Por sinal o interface de adi o de um novo sensor pede o ficheiro de parser correspondente e como esse ficheiro ainda n o foi criado n o podemos adicionar o novo sensor Classe n o pode ser nula Figura
112. ue merecem destaque e Como proceder para utilizar outro tipo de informa o que n o seja proveniente de sensores e Como proceder para utilizar sensores cuja informa o seja proveniente de fontes que n o a Universal Gateway 44 Apresenta o e descri o do problema e Como proceder para criar interfaces diferentes N o h uma solu o para estes problemas na vers o inicial da WiSe Framework 4 3 Resumo e Conclus es A WiSe Framework foi sem d vida a escolha correcta para o desenvolvimento desta disserta o Para al m dos factores referidos na sec o 2 8 a WiSe Framework suporta as 3 camadas gerais de uma aplica o para RSSF no entanto existem ainda in meros obst culos que a fazem distanciar do objectivo desta disserta o A dificuldade em criar um parser ou um workflow respectivo a necessidade de alterar c digo fonte para obter um novo interface a falta de suporte para outro tipo de informa o que n o a proveniente de sensores e a impossibilidade de expans o para fontes externas s o apenas algumas das barreiras que impedem que a WiSe Framework corresponda ao objectivo proposto para esta disserta o Mediante estas barreiras tomaram se as seguintes decis es de implementa o Todas as fontes de informa o quer sejam elas sensores ou de outro tipo passar o a denominar se de servi os Novos servi os cuja fonte de informa o seja conhecida porta de s rie bluetooth RF poder o e
113. ue v o influenciar o processamento do workflow de cada sensor tamb m poss vel a programa o de comandos que ir o ser enviados de volta aos sensores No geral a WiSeApp uma aplica o bastante robusta mas o seu prop sito apenas a monitoriza o de sinais vitais em gr ficos lineares 37 WiSe Framework vers o inicial 3 6 1 1 Ficheiros de Tradu o O carregamento dos ficheiros de tradu o necess rio na medida em que a WiSeApp foi desenvolvida de maneira a conter o menor texto poss vel para fomentar a reutiliza o de c digo O ficheiro Translations po cont m informa es relativas a certas strings que apa recem na WiSeApp como por exemplo o que escrever caso encontre o campo nome Isto faz com que funcione com todo o tipo de ficheiros sem ser preciso modificar os fi cheiros de cada vez que se mudam os nomes dos campos correspondentes 3 6 1 2 WiseConfig xml O ficheiro WiseConfig xml cont m as informa es que a WiSeApp supostamente deve pedir ao utilizador tais como a altura ou o peso e ainda a informa o sobre os sensores a disponibilizar Esta informa o editada no Framework Wizard e criada auto maticamente pela WiSe Framework Se esta informa o n o existir a aplica o d erro de p gina n o encontrada 3 6 1 3 Arquitectura MVC um padr o de arquitetura de software que visa separar a l gica de neg cio da l gica de apresenta o permitindo o
114. ulos restantes consistem em apresentar o problema na sua totalidade apresen tar a solu o e as suas vantagens e por fim descrever com mais pormenor o que foi feito para atingir esta solu o Capitulo 2 Revis o Bibliogr fica Neste cap tulo feita uma descri o do estado da arte na rea das RSSF feita uma s ntese sobre a base do projecto assim como as aplica es relacionadas feita refer n cia a alguns trabalhos j realizados neste dom nio e tamb m aos problemas encontrados durante a sua elabora o No final apresenta se uma descri o geral de projectos compat veis a esta disserta o e feita uma compara o entre eles 2 1 Redes de Sensores sem Fios Esta a rea de desenvolvimento desta disserta o Tudo aqui retratado est directa ou indirectamente relacionado com este tipo de redes 2 1 1 Introdu o te rica Uma rede de sensores sem fios wireless sensor network uma rede de aparelhos denominados de n s que podem sentir o ambiente que os envolve e comunicar tal infor ma o atrav s de liga es sem fios BPC 07 Esses aparelhos s o ent o designados por sensores Os dados s o transmitidos se poss vel e necess rio atrav s de m ltiplos n s para um n receptor muitas vezes denominado como a base sink A este n base est geralmente associado uma aplica o que pode ser local ou distribu da e que se encarregar de outras fun es Os n s da rede podem estar parados
115. un o o Parser tool compara automaticamente os resultados obtidos com os esperados e imprime no ecr o resultado dessa compara o Esta funcionalidade depende do ficheiro ExpectedMessages xml e processRequests o Parser tool pode ou n o processar comandos simulados Esta funcionalidade depende do ficheiro Requests xml e onlyShowAnswers Esta funcionalidade permite apenas mostrar as respostas aos pedidos efectuados De extrema utilidade quando se est a implementar o m todo que processa os comandos no Parser As op es para estas funcionalidades podem ser configuradas no ficheiro Configura tions xml lt xml version 1 0 encoding utf 8 gt lt Configuration xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema gt lt options verbose false pressEnterToContinue true useExpectedMessages false processRequests false onlyShowAnswers false gt lt Configuration gt Listagem 6 2 Ficheiro das configura es do Parser_tool Para al m destas funcionalidades esta ferramenta ainda faz o seguinte e Escreve para o ficheiro WiSeML xml todas as mensagens interpretadas e Escreve para o ficheiro ExceptionsLog xml todas as excep es encontradas 6 1 2 3 Vantagens Com esta ferramenta poss vel obter um ambiente simulado de programa o sem que o programador se preocupe em ter a camada de dados a funcionar A programa o dos parsers agora
116. vel encontrar outro tipo de projectos na rea da sa de De facto esta a rea em que se encontram as maiores inova es no campo das redes de sensores sem fios Figura 2 5 Localiza o dos sensores no estudo de Parkinson Um desses projectos focou se em monitorar flutua es motoras em doentes de Parkin son PLH 09 Usando um rede de sensores com aceler metro criaram uma aplica o que fazia a leitura e permitia a an lise estat stica para fazer o estudo dos sintomas desta Revis o Bibliogr fica doen a Atrav s de uma rede com sensores GPS embutidos poss vel criar aplica es para por exemplo medir a radia o nuclear em zonas pr determinadas DS Y 09 Tais apli ca es usam sensores especiais para medir a radia o que juntamente com o sensor de GPS podem identificar o valor da radia o e atribuir o local Com os sensores de GPS tamb m poss vel e relativamente mais f cil criar aplica es de posicionamento e locali za o NSBOOS Aplica es mais simples podem consistir em simples sensores de temperatura que co municam a sua informa o para a esta o base Exemplo disso uma aplica o em cujos sensores medem a temperatura da apanha do camar o e a base transmite os dados por GSM para um servidor on line KC05 Desta forma poss vel fazer uma melhor gest o do produto Os exemplos aqui mostrados foram escolhidos por crit rios de originalidade e com plexidade Atrav s de traba
117. way apenas se interessa pelas mensagens que s o enviadas para estas portas No seu n cleo a Universal Gateway apenas um motor de parsing das mensagens recebidas Este motor utiliza classes externas denominadas de Parsers que cont m os m todos necess rios para a interpreta o das mensagens recebidas A Universal Gatewaytamb m est encarregue da configura o das portas de s rie e da formata o dos dados em WiseML para posteriormente serem enviados para a camada de dados 24 WiSe Framework vers o inicial 3 3 1 1 Mensagens recebidas As mensagens recebidas nas portas de s rie s o a fonte de dados principal para a Universal Gateway A documenta o de suporte da Universal Gateway identifica v rios tipos de mensagem a processar Algumas das caracter sticas comuns mencionadas s o as seguintes e Tamanho da mensagem variado e Cabe alho da mensagem diferente do fim Os valores dos dados contidos nas mensagens s o tamb m afectados pela tecnologia de transmiss o das mesmas Bluetooth Zigbee RF pela velocidade de emiss o e pela configura o das portas Pelo que qualquer processamento feito s mensagens recebidas tem de ter presente estes conceitos Figura 3 4 Exemplo de uma mensagem recebida A imagem em cima demonstra o valor decimal de uma cadeia de bytes O primeiro e o ultimo byte tem o mesmo valor decimal 3 3 1 2 M todos de Leitura Como a principal preocupa o da Universal Gateway s o
118. zador pode ent o compilar o seu projecto para obter a aplica o final Dever ent o faz lo pressionando bot o Compilar Projecto r Compilar Projecto Figura 6 26 Bot o cmpilar projecto O Framework Wizard encarregar se de compilar o Projecto e criar os ficheiros ne cess rios execu o da aplica o final N o esquecer que este processo afectado pelas op es de compila o escolhidas 6 5 5 6 Criar Base de Dados Esta uma nova funcionalidade que permite ao utilizador recriar a base de dados atrav s do interface do Framework Wizard Esta op o s est dispon vel caso o projecto j tenha sido compilado previamente Para tal basta que o utilizador pressione o seguinte bot o Criar Base de Dados Figura 6 27 Bot o criar base de dados Esta op o faz lan ar o generator remotamente A sua janela aparecer no ecr 82 Concep o e Implementa o 6 6 Testes 6 6 1 Introdu o Neste cap tulo s o tratados os testes que foram executados para comprovar o sucesso ou insucesso desta disserta o Ao contr rio da maior parte das aplica es inform ticas que trabalham com valores espec ficos ou computam c lculos matem ticos em que poss vel extrair taxas de sucesso ou insucesso a WiSe Frameworkn o tem qualquer tipo de m trica til na qual seja pos s vel estimar valores de sucesso ou insucesso Em termos muito simples se no final a aplica o resultante funcionar c
Download Pdf Manuals
Related Search
Related Contents
Panas。ni閤 取扱説明書 Panasonic 26PEU1U6 Data Sheet RHtest_dlyPrcp User Manual NPP-6X2.4 and NPP-6X2.4 -SCT User Manual DeLOCK Bracket USB/SATA/POWER e-モクプラ扉 共 通 HP 2012 90W Docking Station Benutzerhandbuch für optimus Schallpegelmesser Copyright © All rights reserved.
Failed to retrieve file