• Nenhum resultado encontrado

Pertil de aplicac¸ ˜ao ZRC

No documento Controlo Remoto Universal por ZigBee (páginas 42-47)

Tecnologia ZigBee RF4CE

3.7 Pertil de aplicac¸ ˜ao ZRC

O perfil de aplicac¸ ˜ao ZRC, ´e o primeiro perfil definido pela especificac¸ ˜ao Zigbee RF4CE. Este, faz inter- face com a camada NWK ZigBee RF4CE e a aplicac¸ ˜ao definida pelo fabricante. A aplicac¸ ˜ao comunica com a camada NWK por meio de chamadas a API (Application Programming Interface) do perfil ZRC que por sua vez comunica diretamente com a camada NWK atrav ´es de primitivas (solicitac¸ ˜ao, indicac¸ ˜ao, resposta, confirmac¸ ˜ao). Os resultados dos procedimentos efetuados pela camada NWK s ˜ao reportados pela camada APL, os quais o perfil ZRC se encarrega, atrav ´es de func¸ ˜oes de retorno da API do perfil, de notificar `a aplicac¸ ˜ao. A Figura 3.10, ilustra um diagrama de troca de primitivas necess ´arias numa transmiss ˜ao de dado (por exemplo, trama de descoberta) entre as camadas NWK e APL.

Figura3.10:Diagramadeprimitivastrocadasnumatransmiss ˜aodedado(adaptadode[5]) .

Esteperfil,baseia-senosmecanismosdedescobertaeemparelhamentodefinidospelaespecificac¸˜ao ZigbeeRF4CEparaespecific ´a-los,c ombinadosn um´unicom ecanismod enominadoemparelhamento push-button. Este mecanismo consiste em pressionar um bot ˜ao de cada um dos dois dispositivos quesepretendeemparelhareap ´osasaplicac¸˜oesdessesdispositivosdetetaremoest´ımulodobot ˜ao, iniciarem automaticamenteo mecanismo dedescobertaseguido domecanismo de emparelhamento (descritos nos sub-cap´ıtulos 3.5.2 e 3.5.3 respetivamente) de acordo com o tipo de dispositivo a que pertencem [14].

A aplicac¸˜ao dodispositivo controller ao detetaro est´ımulo do bot ˜ao executa o processode des- coberta,considerandoa configurac¸˜aod oss eguintesp ar ˆametroc onformee specificadospe lope rfil:a durac¸˜aoda descobertaiguala 100ms; o n ´umerom ´aximo detentativasdedescobertaiguala 30; o intervalodetempoentretentativasdedescobertaiguala1s;alistadeidentificadoresdeperfissupor- tados, transmitidanasolicitac¸˜aodedescobertadeveconterovalor0x01(identificadord op erfilZRC);

o n ´umero m ´aximo de descritores de dispositivos obtidos na descoberta igual a 1, etc. Assim sendo, a

aplicac¸˜aododispositivocontrollerdeve terminaroprocesso,serecebermaisdoqueumarespostaa`

solicitac¸˜aodedescoberta.Ap ´osumprocedimentodedescobertacomsucesso,obtendoexatamenteum

´unicodescritordedispositivo,odispositivocontrollerenviaautomaticamenteparaessedisposi-tivouma solicitac¸ ˜ao de emparelhamento e guarda a sua refer ˆencia de emparelhamento na tabela de emparelhamento, no caso do processo de emparelhamento terminar com sucesso. O mecanismo de emparelhamentopush-buttondoladododispositivocontroller,emboratenhasidoprojetadoparase-rem executados dispositivos controller pode tamb ´em ser executado por dispositivos target em caso de emparelhamentosentredoisdispositivostarget.

Omecanismodeemparelhamentopush-buttondoladododispositivotargetinicia-secomopro-cesso deautodescoberta,noqualodispositivoentraemmododerespostadedescobertaautom ´aticadurante umper´ıododetempodefinidopeloperfilde30s.Seaautodescobertaocorrercomsu-cesso,aaplicac¸

˜aododispositivotargetesperapelasolicitac¸˜aodeemparelhamentododispositivoque

o descobriu durante um per´ıodo de tempo definido pelo perfil de 1 s. O processo deve terminar e ne- nhum processamento adicional deve ser efectuado se durante este per´ıodo o dispositivo n ˜ao receber uma solicitac¸ ˜ao de emparelhamento. Caso contr ´ario o dispositivo, com base na informac¸ ˜ao contida na solicitac¸ ˜ao recebida, deve decidir se responde ou n ˜ao `a solicitac¸ ˜ao. Esta decis ˜ao est ´a fora do ˆambito deste perfil, sendo por isso da responsabilidade do programador da aplicac¸ ˜ao. Se a aplicac¸ ˜ao decidir responder `a solicitac¸ ˜ao e este terminar com sucesso, o dispositivotarget considera-se emparelhado com o dispositivo o qual solicitou o emparelhamento, constando a referencia de emparelhamento deste na sua tabela de emparelhamento. O mecanismo de emparelhamentopush-buttondo lado do disposi- tivotargetpode apenas ser executado por dispositivostarget. Todos os dispositivos operando de acordo com o perfil ZRC devem utilizar os mecanismos de seguranc¸a fornecidos pela camada NWK ZigBee RF4CE, sendo por isso o mecanismo de emparelhamentopush-buttonprocedido pelos procedimentos de gerac¸ ˜ao e partilha de chaves de seguranc¸a conforme descrito no capitulo 3.5.3.

Operfildeaplicac¸˜aoZRCutilizaumconjuntodecomandosHDMICEC(HighDefinitionMultimedia InterfaceConsumerEletricsControl)[14],apresentadosnoAnexoA,osquaisumdispositivocontroller enviaparaumdispositivotargetexecutarumadeterminadaoperac¸˜ao.Porexemplo,pressionarnobot ˜ao

’Vol +’ de um dispositivo controller (comando de uma televis ˜ao) envia um comando para o dispositivo target (umatelevis ˜ao)incrementarovolume. UmcomandoZRCe´constitu´ıdo por2bytes, oprimeiro cont ´emoidentificadordotipodecomandoeosegundooidentificadordocomando.Esteperfilsuporta tr ˆestiposdecomandos[14]:

• Comando pressionado - o utilizador pressiona um bot ˜ao do dispositivocontroller e o comando ´e enviado para o dispositivostarget.

• Comando repetido - o utilizador mant ´em pressionado um bot ˜ao do dispositivocontroller por algum tempo e v ´arios comandos retidos s ˜ao enviados para o dispositivostarget.

• Comando libertado - o utilizador para interromper a execuc¸ ˜ao de uma operac¸ ˜ao de um dispositivos target, liberta o bot ˜ao pressionado no dispositivocontroller e envia um comando deste tipo.

Quando a aplicac¸ ˜ao de um dispositivocontroller recebe o est´ımulo de um bot ˜ao, deve transmitir um tipo de comando pressionado para o dispositivotarget de destino. Se o bot ˜ao pressionado for libertado dentro de um per´ıodo de tempo definido pela aplicac¸ ˜ao de at ´e 100 ms, o dispositivo controller pode optar por transmitir ou n ˜ao um tipo de comando libertado. Caso o bot ˜ao n ˜ao for pressionado dentro desse intervalo de tempo, o dispositivocontroller deve tramsmitir um comando do tipo repetido para o dispositivo de destino. Este procedimento deve ser repetido a uma taxa de at ´e 100 ms, at ´e que o bot ˜ao seja libertado, ap ´os o qual o dispositvo controller deve transmitir um comando do tipo libertado. Por outro lado, o dispositivotarget ao receber um comando do tipo pressionado, deve executar a operac¸ ˜ao solicitada uma ´unica vez. Ap ´os receber um comando do tipo repetido, deve executar repetidamente a operac¸ ˜ao solicitada durante um per´ıodo de tempo definido pelo perfil de at ´e 200 ms. O dispositivo target deve repetir o procedimento se durante o intervalo de tempo mencionado anteriormente receber novamente um comando do tipo reptido. Se durante esse intervalo de tempo, o dispositivotarget n ˜ao receber um comando do tipo repetido ou se receber um comando do tipo libertado, este deve terminar a operac¸ ˜ao.

Os procedimentos envolvidos na transmiss ˜ao dos diferentes tipos de comandos, descritos no par ´agrafo anterior, s ˜ao ilustrados na Figura 3.11 a) e b). Em a) o bot ˜ao do dispositivocontroller n ˜ao foi pressi- onado o tempo suficiente para que um comando repetido seja enviado ao dispositivotarget. O dispo- sitivotarget recebe um comando do tipo pressionado enviado pelo dispositivo controller e executa a

operac¸ ˜ao que este solicita uma ´unica vez. Quando o bot ˜ao do dispositivo controller ´e libertado, um comando do tipo libertado ´e enviado ao dispositivotarget (este ultimo procedimento, tal como referido anteriormente ´e opcional). Em b) o bot ˜ao do dispositivo controller ´e pressionado o tempo suficiente para que um comando do tipo repetido seja enviado ao dispositivotargetap ´os o envio de um comando do tipo pressionado. Este, executa a operac¸ ˜ao solicitada um vez e de seguida inicia o ciclo de execuc¸ ˜ao da operac¸ ˜ao repetidamente. Quando o bot ˜ao ´e libertado, um comando do tipo libertado ´e enviado ao dispositivotarget que interrompe o ciclo de execuc¸ ˜ao da operac¸ ˜ao. Aplicac¸ ˜oes de dispositivos im- plementados de acordo com o perfil de aplicac¸ ˜ao ZRC devem suportar o processamento de apenas um bot ˜ao pressionado de cada vez. O suporte a m ´ultiplos bot ˜oes pressionados de uma vez deve ser estabelecido pela aplicac¸ ˜ao.

Figura 3.11: Diagrama de mensagens trocadas na transmiss ˜ao dos diferentes tipos de comandos.

No documento Controlo Remoto Universal por ZigBee (páginas 42-47)

Documentos relacionados