Versão de software 1.3.x Versão de firmware 1.3.x
Transcrição
Versão de software 1.3.x Versão de firmware 1.3.x
Versão de software 1.3.x Versão de firmware 1.3.x C / A n t o n i I s e r n , 4 , 4 3 2 0 5 R e u s ( Ta r r a g o n a ) , E s p a n h a Te l + 3 4 9 7 7 3 0 0 3 7 7 I F a x + 3 4 9 7 7 3 9 3 I i n f o @ q u e r c u s . b i z w w w. q u e r c u s . b i z Quercus Technologies Manual do usuário do BirdWatch® RL (v 1.3.0) Agosto de 2012 © 2012 Quercus Technologies. Direitos reservados. Este manual, assim como o sistema nele descrito, são fornecidos sob licença e podem ser usados somente de acordo com os termos descritos por tal licença. O conteúdo deste manual é oferecido exclusivamente para uso informativo e pode ser alterado sem prévio aviso. Nenhuma parte desta publicação deve ser reproduzida, localizada num sistema de distribuição ou divulgada de qualquer forma sem o consentimento prévio de Quercus Technologies. Quercus Technologies Índice Conceitos básicos.................................................................................17 1. Introdução....................................................................................18 1.1. O que é o BirdWatch® RL.........................................................18 1.1.1. Serviços...........................................................................18 1.1.2. Modelos disponíveis............................................................19 1.1.3. Capacidade.......................................................................20 1.2. Modos de funcionamento..........................................................20 1.3. Integração..............................................................................20 1.3.1. Alternativas de desenvolvimento..........................................20 1.3.2. Alternativas de comunicação................................................22 1.4. Política de atualizações e compatibilidade....................................22 1.4.1. Números de versão............................................................22 1.4.2. Compatibilidade entre versões.............................................22 2. Tipos de detectores........................................................................24 2.1. Detector de avanço em vermelho...............................................24 2.1.1. Descrição..........................................................................24 2.1.2. Disposição........................................................................24 2.1.3. Funcionamento..................................................................25 2.1.4. Incidências.......................................................................26 2.2. Detector de veículo parado........................................................28 2.2.1. Descrição..........................................................................28 2.2.2. Disposição........................................................................28 2.2.3. Funcionamento..................................................................28 2.2.4. Informação gerada.............................................................30 3. Passos prévios à instalação.............................................................32 3.1. Localização.............................................................................32 3.1.1. Condições básicas .............................................................32 3.1.2. Requisitos mínimos............................................................32 3.2. Instalação elétrica....................................................................35 Quercus Technologies 3.3. Cabeamento...........................................................................35 4. Material fornecido..........................................................................36 4.1. Componentes opcionais............................................................37 Software.............................................................................................38 5. Instalação do software cliente..........................................................39 5.1. Conteúdo do CD-ROM...............................................................39 5.2. Instalação em Windows............................................................39 5.3. Instalação em GNU/Linux..........................................................39 5.3.1. Premissas.........................................................................39 5.4. Arquivos instalados..................................................................40 6. Configuração do sistema central.......................................................42 6.1. Seção [Global]........................................................................42 6.2. Seção [Network]......................................................................43 6.3. Seção [Units]..........................................................................43 6.4. Seção [UnitX]..........................................................................43 7. Ferramenta de diagnóstico (VLDiag).................................................45 7.1. Barra de botões.......................................................................46 7.1.1. Botões principais...............................................................46 7.1.2. Botões de controle.............................................................46 7.1.3. Botões de visualização .......................................................46 7.1.4. Botões de ação..................................................................47 7.1.5. Botões de deslocamento.....................................................47 7.1.6. Botões de função...............................................................47 7.1.7. Botões de ajuda.................................................................48 7.2. Zona Principal.........................................................................49 7.2.1. Aba “Situação”..................................................................49 7.2.2. Aba “Eventos”...................................................................50 7.2.3. Aba “Incidências”...............................................................52 7.2.4. Aba “Resumos”..................................................................54 7.2.5. Aba “Câmera ao vivo”.........................................................54 7.2.6. Aba “Configuração”............................................................56 7.2.7. Aba “FTP”.........................................................................57 Quercus Technologies 7.3. Barra de status........................................................................58 8. Simulador (VLSimu).......................................................................59 8.1. Configuração da unidade...........................................................59 8.1.1. Arquivo de configuração geral..............................................59 8.1.2. Arquivo de detectores.........................................................60 8.1.2.1. Seção [Globals]................................................................................61 8.1.2.2. Seção DetectorX..............................................................................61 8.1.2.3. Seção TrafficLight_X..........................................................................62 8.1.2.4. Seção LightX_Y................................................................................62 8.1.3. Comunicação serial............................................................63 8.2. Configuração da simulação........................................................64 8.2.1. Evento de veículo...............................................................66 8.2.1.1. Estrutura da instrução.......................................................................66 8.2.1.2. Exemplo..........................................................................................67 8.2.2. Evento de entrada digital....................................................67 8.2.2.1. Estrutura da instrução.......................................................................67 8.2.2.2. Exemplo..........................................................................................68 8.2.3. Evento de estado das comunicações.....................................68 8.2.3.1. Estrutura da instrução.......................................................................68 8.2.3.2. Exemplo..........................................................................................68 8.2.4. Evento de semáforo...........................................................69 8.2.4.1. Estrutura da instrução.......................................................................69 8.2.4.2. Exemplo..........................................................................................69 8.3. Execução................................................................................69 8.3.1. Simulador.........................................................................70 8.3.1.1. Interface gráfica...............................................................................70 8.3.2. Adaptador serial................................................................71 8.4. Exemplo de simulação..............................................................72 9. Ferramenta de pré-visualização (VLPreviewer)...................................74 9.1. Execução................................................................................74 9.2. Conceitos básicos.....................................................................74 9.2.1. O cenário..........................................................................74 9.2.2. Modos..............................................................................75 9.3. Distribuição.............................................................................77 Quercus Technologies 9.3.1. Barra de botões.................................................................78 9.3.1.1. Botões principais..............................................................................78 9.3.1.2. Botões de gestão de resultados do cenário...........................................78 9.3.1.3. Botões de controle do cenário............................................................79 9.3.1.4. Botões de ajuda...............................................................................79 9.3.2. Controle da câmara BirdWatch® .........................................79 9.3.3. Visualização do cenário.......................................................80 9.3.4. Edição/Simulação do cenário...............................................81 9.3.4.1. Edição do cenário.............................................................................81 9.3.4.2. Simulação do cenário........................................................................82 9.3.5. Barra de estado.................................................................82 9.4. Exemplos de cenários ideais......................................................83 Hardware............................................................................................84 10. Descrição física do equipamento.....................................................85 10.1. Componentes........................................................................85 10.2. Pinouts.................................................................................86 10.2.1. Rede Ethernet..................................................................86 10.2.2. Conexões seriais..............................................................86 10.2.3. E/S................................................................................86 10.3. Características das comunicações seriais...................................87 10.4. Características do sistema de E/S.............................................87 10.4.1. Entradas.........................................................................87 10.4.2. Saídas............................................................................87 10.5. Controle de temperatura.........................................................88 11. Firmware....................................................................................89 11.1. Configuração principal do sistema.............................................91 11.1.1. Communications..............................................................91 11.1.2. Engine............................................................................93 11.1.3. Global............................................................................93 11.1.4. Integration......................................................................94 11.1.4.1. Global...........................................................................................94 11.1.4.2. Network:.......................................................................................94 11.1.4.3. SetX..............................................................................................95 11.1.4.3.1. LPR........................................................................................95 Quercus Technologies 11.1.4.3.2. RL..........................................................................................95 11.1.5. IO..................................................................................95 11.1.6. OSD...............................................................................96 11.1.7. Serial.............................................................................97 11.2. Configuração dos detectores....................................................97 11.2.1. Tela inicial.......................................................................97 11.2.2. Tela de edição de detector.................................................99 11.2.2.1. Conceitos pré-existentes..................................................................99 11.2.2.2. Edição...........................................................................................99 11.2.3. Tela de edição de semáforo..............................................102 11.2.3.1. Conceitos pré-existentes................................................................102 11.2.3.2. Edição.........................................................................................103 11.3. Importar configuração de FTP.................................................104 11.4. Exportar configuração a FTP:.................................................104 11.5. Alterar senha de configuração................................................105 11.6. Aplicar alterações e reiniciar...................................................105 11.7. Descartar alterações.............................................................105 11.8. Informação do sistema..........................................................105 11.9. Registro do BirdWatch® RL....................................................105 11.10. Registro do Integration........................................................106 11.11. Registro do adaptador serial.................................................106 11.12. Registro do sistema de configuração......................................106 11.13. Registro do disco de dados...................................................106 11.14. Ver incidências no disco.......................................................106 11.15. Exportar relatório de estado a FTP........................................107 11.16. Informação de contato........................................................107 11.17. Ajustar data e hora.............................................................108 11.18. Sincronizar hora com o servidor............................................108 11.19. Atualizar firmware..............................................................108 11.19.1. Passos prévios à atualização...........................................108 11.19.2. Atualização..................................................................109 11.20. Restabelecer firmware original..............................................109 11.21. Formatar o disco de dados...................................................110 Quercus Technologies 11.22. Restauração de emergência..................................................111 12. Instalação passo a passo.............................................................113 12.1. Instalação em parede...........................................................113 12.2. Instalação em teto................................................................115 12.3. Instalação em mastro vertical................................................117 12.4. Instalação em poste horizontal...............................................118 12.5. Procedimentos comuns..........................................................119 12.6. Ajuste da óptica...................................................................120 12.7. Configuração básica do firmware............................................122 12.8. Configuração dos detectores..................................................123 12.9. Fechamento da unidade........................................................123 Programação......................................................................................125 13. Programação básica....................................................................126 13.1. C++...................................................................................126 13.1.1. Gerenciamento de memória.............................................129 13.1.2. Criação do executável.....................................................130 13.2. C.......................................................................................130 13.2.1. Gerenciamento de memória.............................................132 13.2.2. Criação do executável.....................................................133 13.3. Outros exemplos..................................................................133 14. Referência de classes..................................................................135 14.1. Compatibilidade entre os produtos BirdWatch® RL....................135 14.2. Hierarquia...........................................................................137 14.3. Classes...............................................................................138 14.4. Classe System.....................................................................138 14.4.1. Propriedades..................................................................138 14.4.2. Métodos........................................................................139 14.4.3. Eventos........................................................................140 14.5. Classe Units.........................................................................142 14.5.1. Propriedades..................................................................142 14.6. Classe Unit..........................................................................142 14.6.1. Propriedades..................................................................143 Quercus Technologies 14.6.2. Métodos........................................................................145 14.7. Classe UnitStatus.................................................................150 14.7.1. Propriedades..................................................................150 14.8. Classe VersionInformation.....................................................150 14.8.1. Propriedades..................................................................150 14.9. Classe Detectors..................................................................151 14.9.1. Propriedades..................................................................151 14.10. Classe Detector..................................................................152 14.10.1. Propriedades................................................................152 14.10.2. Métodos......................................................................155 14.11. Classe PresenceDetector......................................................156 14.12. Classe QueueDetector.........................................................156 14.13. Classe SpeedDetector..........................................................157 14.13.1. Propriedades................................................................157 14.14. Classe RedLightDetector......................................................158 14.14.1. Propriedades................................................................158 14.15. Classe StoppedCarDetector..................................................160 14.15.1. Propriedades................................................................160 14.16. Classe TrafficLights.............................................................161 14.16.1. Propriedades................................................................162 14.17. Classe TrafficLight...............................................................162 14.17.1. Propriedades................................................................162 14.17.2. Métodos......................................................................163 14.18. Classe HistoricIncidences.....................................................164 14.18.1. Propriedades................................................................164 14.18.2. Métodos......................................................................165 14.19. Classe HistoricSummaries....................................................166 14.19.1. Propriedades................................................................166 14.19.2. Métodos......................................................................167 14.20. Classe RealTimeInformation.................................................168 14.20.1. Propriedades................................................................168 14.20.2. Métodos......................................................................170 Quercus Technologies 14.21. Classe Regions...................................................................171 14.21.1. Propriedades................................................................171 14.22. Classe Region.....................................................................172 14.22.1. Propriedades................................................................172 14.22.2. Métodos......................................................................173 14.23. Classe OutputActuators.......................................................174 14.23.1. Propriedades................................................................174 14.24. Classe OutputActuator.........................................................174 14.24.1. Propriedades................................................................175 14.24.2. Métodos......................................................................176 14.25. Classe Lights......................................................................176 14.25.1. Propriedades................................................................176 14.26. Classe Light.......................................................................177 14.26.1. Propriedades................................................................177 14.26.2. Métodos......................................................................177 14.27. Classe Incidence.................................................................178 14.27.1. Propriedades................................................................178 14.27.2. Métodos......................................................................181 14.28. Classe Images....................................................................182 14.28.1. Propriedades................................................................182 14.29. Classe Image.....................................................................182 14.29.1. Propriedades................................................................182 14.29.2. Métodos......................................................................183 14.30. Classe Video......................................................................184 14.30.1. Propriedades................................................................184 14.30.2. Métodos......................................................................186 14.31. Classe Summary................................................................186 14.31.1. Propriedades................................................................187 14.31.2. Métodos......................................................................191 14.32. Classe SpeedsDistribution....................................................192 14.32.1. Propriedades................................................................192 14.33. Classe LengthsDistribution...................................................193 Quercus Technologies 14.33.1. Propriedades................................................................193 14.34. Classe OccupationsDistribution.............................................193 14.34.1. Propriedades................................................................193 14.35. Classe SpeedsUpperLimit.....................................................194 14.35.1. Propriedades................................................................194 14.36. Classe LengthsUpperLimit....................................................195 14.36.1. Propriedades................................................................195 14.37. Classe OccupationsUpperLimit..............................................195 14.37.1. Propriedades................................................................195 14.38. Classe Timestamp...............................................................196 14.38.1. Propriedades................................................................196 14.39. Classe Notification..............................................................197 14.39.1. Propriedades................................................................197 14.40. Classe Configuration...........................................................197 14.40.1. Métodos......................................................................197 14.41. Classe ConfigurationDetector................................................207 14.41.1. Propriedades................................................................207 14.41.2. Métodos......................................................................211 14.42. Classe ConfigurationPresenceDetector...................................212 14.43. Classe ConfigurationQueueDetector.......................................212 14.44. Classe ConfigurationSpeedDetector.......................................212 14.44.1. Propriedades................................................................212 14.45. Classe ConfigurationRedLightDetector....................................214 14.45.1. Propriedades................................................................214 14.46. Classe ConfigurationStoppedCarDetector................................218 14.46.1. Propriedades................................................................218 14.47. Classe ConfigurationOutputActuators.....................................221 14.47.1. Métodos......................................................................221 14.48. Classe ConfigurationOutputActuator......................................222 14.48.1. Propriedades................................................................222 14.48.2. Métodos......................................................................224 14.49. Classe ConfigurationTrafficLight............................................225 Quercus Technologies 14.49.1. Propriedades................................................................225 14.49.2. Métodos......................................................................226 14.50. Classe ConfigurationLights...................................................226 14.50.1. Métodos......................................................................227 14.51. Classe ConfigurationLight.....................................................228 14.51.1. Propriedades................................................................228 14.51.2. Métodos.....................................................................229 14.52. Classe SystemInformation...................................................230 14.52.1. Propriedades................................................................230 14.52.2. Métodos......................................................................231 14.53. Classe SettingsEntry...........................................................231 14.53.1. Propriedades................................................................231 14.53.2. Métodos......................................................................232 14.54. Tipo VLDetectorType...........................................................233 14.55. Tipo VLNotificationCode.......................................................233 14.56. Tipo VLIncidenceType..........................................................233 14.57. Tipo VLLightType................................................................234 14.58. Tipo VLFieldType.................................................................234 14.59. Tipo VLOperatorType...........................................................234 14.60. Tipo VLTimestampObject......................................................234 14.61. Tipo VLLogSystem..............................................................235 14.62. Tipo VLConfigurationActionType............................................235 15. Protocolo de comunicações..........................................................236 15.1. Formato das mensagens........................................................237 15.2. Versões das mensagens........................................................238 15.3. Compatibilidade entre produtos..............................................240 15.4. Conceitos pré-existentes.......................................................242 15.4.1. Unidades.......................................................................242 15.4.2. Booleanos.....................................................................242 15.5. Estruturas comuns................................................................242 15.5.1. Timestamp....................................................................242 15.5.2. Region..........................................................................242 Quercus Technologies 15.5.3. OutputActuator..............................................................243 15.5.4. DetectorHeader..............................................................243 15.5.5. SpeedDetector...............................................................244 15.5.6. QueueDetector...............................................................245 15.5.7. PresenceDetector...........................................................246 15.5.8. Light.............................................................................246 15.5.9. TrafficLight....................................................................246 15.5.10. RedLightDetector..........................................................247 15.5.11. StoppedCarDetector......................................................248 15.5.12. VideoInformation..........................................................249 15.6. Mensagens de eventos..........................................................250 15.6.1. InputChanged................................................................250 15.6.2. Notification....................................................................250 15.6.3. SummaryInformation......................................................251 15.6.4. IncidenceInformation......................................................252 15.6.5. RealTimeInformation.......................................................254 15.7. Mensagens de pedido............................................................255 15.7.1. VersionQuery.................................................................255 15.7.2. RealTimeQuery..............................................................255 15.7.3. StatusQuery..................................................................256 15.7.4. IOQuery........................................................................257 15.7.5. ImageQuery..................................................................258 15.7.6. SnapshotQuery..............................................................259 15.7.7. UnitTasksQuery..............................................................261 15.7.8. DetectorTasksQuery........................................................261 15.7.9. DetectorsCountQuery......................................................262 15.7.10. DetectorInformationQuery.............................................263 15.7.11. TrafficLightsCountQuery.................................................265 15.7.12. TrafficLightInformationQuery..........................................266 15.7.13. SetUnitTasksQuery........................................................267 15.7.14. SetDetectorTasksQuery..................................................267 15.7.15. OutputQuery................................................................268 Quercus Technologies 15.7.16. RebootQuery................................................................269 15.7.17. VideoQuery..................................................................269 15.8. Mensagens de confirmação....................................................270 15.8.1. ACK..............................................................................270 15.8.2. NAK..............................................................................270 15.9. Mensagens de configuração...................................................271 15.9.1. Ping.............................................................................272 15.9.2. Login............................................................................272 15.9.3. Logout..........................................................................273 15.9.4. PasswordChange............................................................273 15.9.5. Syntime........................................................................274 15.9.6. SetTime........................................................................274 15.9.7. UpdateFirmware.............................................................275 15.9.8. RestoreFirmware............................................................275 15.9.9. FormatRWPartition..........................................................276 15.9.10. ExportLog....................................................................277 15.9.11. SystemInfo..................................................................277 15.9.12. ExportStatus................................................................278 15.9.13. ImportConfiguration......................................................279 15.9.14. ExportConfiguration......................................................279 15.9.15. ApplyChanges..............................................................280 15.9.16. DiscardChanges............................................................280 15.9.17. Restart........................................................................281 15.9.18. GetEntriesCount...........................................................281 15.9.19. GetEntry.....................................................................282 15.9.20. SetEntry......................................................................283 15.9.21. RestoreEntry................................................................283 15.9.22. GetDetectorsCount........................................................284 15.9.23. RemoveDetector...........................................................284 15.9.24. GetDetector.................................................................285 15.9.25. SetPresenceDetector.....................................................288 15.9.26. SetQueueDetector........................................................288 Quercus Technologies 15.9.27. SetRedLightDetector.....................................................289 15.9.28. SetSpeedDetector.........................................................290 15.9.29. SetStoppedCarDetector.................................................291 15.9.30. GetTrafficLightsCount....................................................291 15.9.31. RemoveTrafficLight........................................................292 15.9.32. GetTrafficLight..............................................................293 15.9.33. SetTrafficLight..............................................................294 16. Funções adicionais......................................................................295 16.1. Informações por FTP.............................................................295 16.1.1. Arquivo XML..................................................................296 16.1.1.1. Incidência de avançar no vermelho..................................................296 16.1.1.2. Incidência de veículo parado...........................................................298 16.1.2. Arquivo JPEG.................................................................300 16.1.3. Arquivo AVI...................................................................301 16.2. Encriptação de protocolo.......................................................301 16.2.1. Formato de encriptação...................................................301 16.2.2. Servidor de SFTP............................................................304 17. Ferramenta Integration...............................................................305 17.1. Tipos de instalação...............................................................305 17.1.1. BirdWatch® RL + SmartLPR® Speed................................305 17.2. Configuração.......................................................................306 17.3. Informação gerada...............................................................306 17.3.1. Arquivo XML do evento....................................................306 17.4. Exemplo de instalação...........................................................310 17.4.1. Instalação.....................................................................310 17.4.2. Variáveis.......................................................................310 17.4.2.1. BirdWatch® RL.............................................................................311 17.4.2.2. SmartLPR® Speed........................................................................311 17.4.2.3. SmartLPR® Speed........................................................................311 17.4.2.4. BirdWatch® RL (Integration)..........................................................311 17.4.3. Resultados....................................................................313 Apêndices..........................................................................................314 18. Apêndice A: parâmetros de instalação...........................................314 Quercus Technologies 18.1. Uma faixa com semáforo lateral.............................................315 18.2. Uma faixa com semáforo central.............................................318 18.3. Dois faixas com semáforo lateral............................................320 18.4. Dois faixas com semáforo central............................................323 18.5. Três faixas com semáforo lateral.............................................325 18.6. Três faixas com semáforo central............................................327 Apêndice B: especificações técnicas....................................................330 18.7. BirdWatch® RL sem controle de temperatura...........................330 18.8. BirdWatch® RL com controle de temperatura...........................331 19. Apêndice C: em caso de avaria.....................................................332 20. Apêndice D: suporte...................................................................333 21. Apêndice E: valores de [Global] TimeZone.....................................334 Quercus Technologies Manual de referência do BirdWatch® RL Conceitos básicos Conceitos básicos Nesta seção, oferecemos um resumo básico das características de um sistema BirdWatch ®RL. Aqui, podem ser vistos aspectos como o funcionamento básico do sistema, os modelos disponíveis, as diversas alternativas de desenvolvimento e comunicações que ele possui, assim como as etapas anteriores à instalação da unidade. Quercus Technologies 17 Manual de referência do BirdWatch® RL Conceitos básicos 1. Introdução 1.1. O que é o BirdWatch® RL BirdWatch® RL (Red Light) é um produto da família BirdWatch ® destinado à supervisão de tráfego e especializado na detecção dos veículos que desobedecem uma sinal de semáforo com luz vermelha. O sistema é baseado no uso e combinação de sensores de presença de veículos chamados laços virtuais. Esses sensores recebem tal nome por analogia com os laços indutivos, os quais são instalados fisicamente sob o asfalto e exigem realizar modificações na via. Entretanto, os laços virtuais são baseados no processamento de imagens capturadas por uma câmera e dispensam qualquer tipo de instalação física no solo. Exemplo de um laço virtual Cada produto BirdWatch® é formado por uma única unidade de hardware que deve ser instalada em cada conjunto de faixas a ser supervisionado. Essa unidade integra todos os elementos necessários para a E/S de sinais, as comunicações, a captura das imagens e seu processamento. 1.1.1. Serviços Os equipamentos BirdWatch® RL processam informações como: ● Avanço em vermelho: detecção de veículos que ignoram um sinal de semáforo com luz vermelha (Avanço sobre o sinal de pare). ● Veículo parado: detecção de veículos parados sobre a faixa de pedestre com o sinal do semáforo em vermelho aceso. As informações processadas são recebidas pelo usuário através de Incidências: Uma incidência é uma infração ou anomalia do tráfego. Contém fotografias da faixa em alta resolução, assim como um vídeo de toda seqüência do evento (somente na versão Plus). Por exemplo, a passagem de um veículo que ignorou o sinal do semáforo em vermelho. O sistema trabalha com dois formatos de imagem: ● 0,36 megapixels em branco e preto: imagem utilizada para: Quercus Technologies 18 Manual de referência do BirdWatch® RL ● Conceitos básicos ○ Configurar a unidade e continuar com seu funcionamento no modo "câmera ao vivo". ○ Gerar um vídeo nas incidências (somente na versão Plus). 5 megapixels colorida: imagem de alta qualidade utilizada para as fotografias tiradas em uma incidência. Para processar os diversos tipos de informações, as unidades BirdWatch ® RL utiliza os detectores de avanço em vermelho e os detectores de veículo parado. Um detector é um dispositivo virtual complexo, base da tecnologia BirdWatch ®. Formado por um ou vários laços, destinado à detecção de um tipo concreto de informação. Cada detector controla uma via de circulação, oferecendo os seguintes recursos: Detector Laços Incidências detectáveis Avanço em vermelho 2 Veículo que ignora o sinal de pare do semáforo. Veículo parado 1 Veículo parado sobre a faixa de pedestre com o sinal fechado para os veículos. Cada unidade BirdWatch® RL é capaz de processar um total de 3 detectores de cada tipo simultaneamente. 1.1.2. Modelos disponíveis Existem dos modelos disponíveis de BirdWatch® RL: a versão BirdWatch® RL e a versão BirdWatch® RL Plus, que se diferenciam quanto ao versão estendida, que permite a geração de vídeos nas incidências. Ambos modelos estão disponíveis com o sem módulo de controle de temperatura: ● Sem módulo de controle de temperatura: não proporciona proteção perante temperaturas extremas. ● Com módulo de controle de temperatura: proporciona proteção perante temperaturas extremas e aumenta a gama de funcionamento. 1.1.3. Capacidade As unidades BirdWatch® RL têm uma capacidade de armazenamento de mais de 6000 fotografias de alta qualidade (5 megapixels). Se a gravação de video é habilitada nas incidências a capacidade será de mais de 3600 fotografias de alta qualidade (5 megapixels) e 1200 vídeos (0.36 megapixels). 1.2. Modos de funcionamento BirdWatch® permite dois tipos de funcionamento no que se refere aos seus comunicados, sendo esses dois tipos podem funcionar ao mesmo tempo: ● Online: as unidades BirdWatch® enviam ao aplicativo do cliente as informações sobre o tráfego à medida que elas vão produzidas em tempo real. Com este modo se dispõe de um controle contínuo do estado das faixas. ● Offline: as unidades BirdWatch® armazenam as informações geradas até que elas possam ser transferidas para serem interpretadas. Quercus Technologies 19 Manual de referência do BirdWatch® RL Conceitos básicos 1.3. Integração O BirdWatch® se comunica com a o aplicativo do cliente através do protocolo descrito no capítulo “Protocolo de Comunicações”. O mesmo protocolo é usado para a comunicação serial (RS-232 o RS-485) e UDP/Ethernet. 1.3.1. Alternativas de desenvolvimento Para a comunicação UDP/Ethernet, o protocolo está coberto por bibliotecas C e C++ compatíveis com o Microsoft Windows e o GNU/Linux. A seguir, são expostas as vantagens e inconvenientes de cada método de integração: ● Biblioteca de classes em C++: biblioteca de ligação dinâmica para o Windows e GNU/Linux, que proporciona uma visão orientada para objetos do sistema. Junto com a biblioteca de ligação dinâmica, é fornecido o código fonte de um Proxy em código C++ totalmente portátil para que a biblioteca possa ser utilizada a partir de qualquer compilador de C++. Administra a comunicação simultânea com várias equipes, de forma transparente. Implementa uma interface de alto nível que proporciona uma grande simplicidade de programação a partir de C++. Disponível para sistemas Windows e GNU/Linux. ● Biblioteca de funções em C: biblioteca de ligação dinâmica para o Windows e GNU/Linux, que proporciona uma visão orientada para funções do sistema. Da mesma forma que na biblioteca em C++, junto com a biblioteca, é fornecido o código fonte de um proxy em código C totalmente portátil para que a biblioteca possa ser utilizada a partir de qualquer compilador de C. Administra a comunicação simultânea com várias equipes, de forma transparente. Permite programar em C mantendo a visão de alto nível que proporciona a biblioteca em C++. Pode-se usar tanto a partir de C como a partir de C++. Disponível para sistemas Windows e GNU/Linux. ● Mediante protocolo UDP ou serial próprio de BirdWatch®: fornecem-se as definições do protocolo usado para a comunicação num arquivo de cabeçalho (VL.h), assim como exemplos de seu uso programados em linguagem ANSI C. Além disso, fornecem-se rotinas básicas para as comunicações UDP nos arquivos (UDTools.c e UDTools.h). Com elas, podemos programar um aplicativo do cliente que interaja com o BirdWatch® a partir, praticamente, de qualquer dispositivo que tenha capacidade de transmissão por rede ou serial. Quercus Technologies 20 Manual de referência do BirdWatch® RL Conceitos básicos A relação existente entre as diversas camadas pode-se ver no seguinte esquema (nele se supõe que o aplicativo cliente está programado em C++). Client computer Aplicativo cliente Proxy C++ Proxy C Biblioteca de ligação dinâmica Protocolo UDP Unidade Unidade BirdWatch® BirdWatch® Como podemos comprovar, os dois métodos de programação de alto nível (C/C++) não são nada mais do que camadas sucessivas em torno de uma biblioteca de ligação dinâmica, que é onde reside toda a funcionalidade do sistema. Devemos observar que, apesar das diversas capas que compõem o sistema, elas não acrescentam nenhuma sobrecarga sensível ao seu funcionamento (até mesmo em máquinas de baixo rendimento). Desta forma, é igualmente eficiente programar sobre a biblioteca em C ou C++. 1.3.2. Alternativas de comunicação As unidades BirdWatch® podem se comunicar com o aplicativo do cliente (que, na nomenclatura BirdWatch ® se denomina “sistema central”) de duas diferentes formas: ● Mediante protocolo UDP: usando uma rede Ethernet standard de 10/100Mb. ● Mediante comunicação serial RS-232 ou RS-485: mediante o sistema de configuração do BirdWatch ® podemos escolher a velocidade da comunicação serial (para mais informações, consulte o capítulo 11Firmware). 1.4. Política de atualizações e compatibilidade O software distribuído com a unidade é compartilhado por todos os produtos de supervisão de tráfego da família BirdWatch®. Quercus Technologies 21 Manual de referência do BirdWatch® RL Conceitos básicos Os equipamentos de supervisão de tráfego da família BirdWatch ® possuem um firmware (software executado no interior da unidade) que pode ser atualizado. 1.4.1. Números de versão Cada versão do software/firmware é composto por três números (por exemplo 2.4.5): O primeiro número (denominado "maior") mostra a versão principal de software/firmware. Este número indica quantas vezes se produziram grandes alterações internas e/ou externas. O 2.4.5 O segundo número (denominado "menor") indica quantas vezes se adicionaram novas funcionalidades à versão "maior" indicada. terceiro (denominado "revisão") indica quantas vezes se corrigiram erros da versão "maior.menor" indicada. A versão inicial de qualquer produto BirdWatch® é a 1.1.0. 1.4.2. Compatibilidade entre versões O software cliente sempre é compatível com as versões anteriores, ou seja, com a última versão do software, podemos controlar todas as versões das unidades BirdWatch®. Para saber se uma atualização de firmware é compatível com sua unidade, é preciso verificar qual é a versão em funcionamento de sua unidade e compará-la com a versão da atualização: Versão Compatível Requer atualização de software Primeiro número diferente Não -- Primeiro número idêntico Segunda número diferente Sim Sim Primeiro e segundo nºs idênticos Terceiro número diferente Sim Não Quercus Technologies 22 Manual de referência do BirdWatch® RL Conceitos básicos 2. Tipos de detectores Nesse capítulo, são descritas as características e os serviços dos detectores disponíveis nas unidades BirdWatch ® RL. As dimensões indicadas são meramente informativas. Para um ótimo funcionamento, essas dimensões deverão se adequar às características da via e do tráfego a ser controlado. No software BirdWatch® existem exemplos ideais. Esses exemplos podem ser visualizados através da ferramenta VLPreviewer. Ver 9Ferramenta de pré-visualização (VLPreviewer). 2.1. Detector de avanço em vermelho 2.1.1. Descrição O detector de avanço em vermelho é indicado a detectar os veículos que ignoram o sinal de pare do semáforo, assim como indicar sua velocidade aproximada. ● Número de laços: 2. ● Comprimento aproximado: 7 metros. ● Largura aproximada: entre 3 e 4 metros. ● Incidências: Avanço em vermelho 2.1.2. Disposição O detector ocupará a largura da faixa e terá um comprimento aproximado de 7 metros. Ele será dividido em dois laços de um comprimento aproximado de 4 metros, sendo que esses dois laços têm 20% de seu comprimento sobrepostos. Para sua configuração somente será necessário definir o detector de forma que 60% do mesmo ocupe a zona posterior a linha de detecção; o sistema se encarregará de dividir-lo corretamente em dois laços. Para o cálculo correto 60% 40% das velocidades e comprimentos, é imprescindível especificar, da forma mais precisa possível, o comprimento do detector, a distância deste até a unidade BirdWatch® RL e a altura de instalação da unidade. Para a detecção de incidências é imprescindível que um sinal informe a mudança de estado do semáforo. O sinal pode ser determinado por: ● Reconhecimento de imagem: a unidade verifica, de forma autônoma, o estado do semáforo. Para isso o semáforo deverá aparecer na imagem e deverá descrever a posição de cada uma das luzes semafóricas. ● Entrada digital: uma das entradas digitais é utilizada. ○ 0 lógico: Permissão de passagem ○ 1 lógico: Proibição de passagem Atenção: em ambas situações é imprescindível que o semáforo seja visualizado na imagem para que as incidências geradas tenham uma validez legal. Quercus Technologies 23 Manual de referência do BirdWatch® RL Conceitos básicos Também é possível adicionar a luz amarela, ainda que essa seja opcional. O sinal também pode ser determinado pelo reconhecimento da imagem ou entrada digital. A inclusão da mesma adiciona informações a incidência; consultar o capítulo2.1.4Incidências. 2.1.3. Funcionamento O detector detecta os veículos que ignoram um sinal de proibição de avanço (semáforo com luz vermelha acesa). O veículo se aproxima do detector. O veículo ocupa o primeiro laço. O veículo ocupa tanto o primeiro como o O veículo ocupa somente o segundo laço. segundo laço. O veículo se afasta do detector. Para o funcionamento correto do detector deve ser considerado que: ● Cada um dos laços não deve ser ocupado por mais de um veículo por vez. Quercus Technologies 24 Manual de referência do BirdWatch® RL ● Conceitos básicos Os veículos devem ativar os dois laços. Para o correto cálculo da velocidade deve levar em conta que a ocupação do detector por mais de um veículo ao mesmo tempo dificulta o cálculo. 2.1.4. Incidências Esse tipo de detector gera um tipo de incidência: ● Passagem no vermelho: Para cada veículo que ignora o sinal vermelho. Se informa os seguintes parâmetros: ○ Momento: instante em que a incidência foi gerada (primeira, segunda e terceira fotografia); em microssegundos. ○ Tempo transcorrido: tempo transcorrido desde a ativação da sinal de proibição de avanço até a geração da incidência (primeira fotografia). ○ Velocidade: velocidade aproximada de circulação do veículo; em km/h. ○ Tempo em âmbar: Tempo com o sinal em âmbar aceso antes de acender a luz vermelha de proibição de avanço que gerou a incidência; em milissegundos. Esse valor somente será valido se foi definido um sinal de âmbar. Observe que é possível configurar um detector de tal forma que as incidências com um “Tempo transcorrido” menor que o valor determinado não se gerem. A informação é acompanhada por três fotografias e um vídeo (este último só se for a versão Plus): ○ Fotografias: três fotografias de 5 megapixels coloridas onde se pode ver tanto o veículo quanto o semáforo: ▪ Primeira fotografia: o veículo ainda não cruzou a linha de detecção. ▪ Segunda fotografia: o veículo cruza a linha de detecção. ▪ Terceira fotografia: o veículo se afasta da linha de detecção. É imprescindível que no momento das 3 fotografias a luz vermelha de proibição do semáforo esteja acesa; pois se assim não ocorresse não haveria infração. Quercus Technologies 25 Manual de referência do BirdWatch® RL Conceitos básicos Primeira captura da incidência. Segunda captura da incidência. Terceira captura da incidência. ○ Vídeo (somente na versão Plus do produto): vídeo de 13 frames por segundo de 0,36 megapixels em preto e branco, onde se pode ver a seqüência de todo o evento. Embora o vídeo começa no momento da captura da primeira fotografia e termina na terceira, o usuário pode configurar o detector para atrasar e avançar o início e o fim de um determinado tempo de vídeo, respectivamente. Os vídeos são de duração limitada (até 10 segundos) para que, em algumas incidências, o vídeo poderia não ser gerado devido a uma duração excessiva. 2.2. Detector de veículo parado 2.2.1. Descrição O detector de veículo parado é orientado para detectar veículos parados em uma faixa de pedestres com o sinal de proibição de avanço ativo. ● Número de laços: 1. ● Comprimento aproximado: 5 metros. ● Largura aproximada: entre 3 e 4 metros. ● Incidências: veículo parado. Quercus Technologies 26 Manual de referência do BirdWatch® RL Conceitos básicos 2.2.2. Disposição O detector ocupará a largura da via e terá um comprimento aproximado de 5 metros. Para sua configuração somente será necessário definir o detector sobre a faixa de pedestre da via a controlar. É imprescindível um sinal que informe a proibição de avanço. Esse sinal pode determinar-se por: ● Reconhecimento de imagem: a unidade verifica, de forma autônoma, o estado do semáforo. Para isso ele deve aparecer na imagem e deve descrever a posição de cada uma de suas luzes. ● Entrada digital: uma das entradas digitais é utilizada. ○ 0 lógico: permissão de passagem ○ 1 lógico: proibição de passagem Atenção: em ambas situações é imprescindível que o semáforo seja visualizado na imagem para que as incidências geradas tenham uma validez legal. 2.2.3. Funcionamento O detector detecta os veículos parados em uma faixa de pedestres com a luz de proibição acesa (semáforo vermelho). Para que a incidência seja gerada corretamente é necessário que comprir as seguintes condições: ● O veículo para no detector antes da luz vermelha acender e se mantem parado após a luz mudar para vermelho. ● Uma vez acesa a luz vermelha do semáforo, o veículo fica parado sobre a faixa de pedestre após terminar o tempo máximo de parada (predefinido pelo usuário). O veículo se aproxima do detector; o O veículoestá continua parado; semáforo semáforo com a luz verdeoacesa. O veículo para sobre o detector; o O veículocontinua continuacom parado o semáforo semáforo a luzeverde acesa. muda para luz vermelha. com a luz vermelha acesa; Termina o Quercus Technologies tempo máximo de parada configurado pelo usuário (a partir da mudança do estado do semáforo para luz vermelha). 27 Manual de referência do BirdWatch® RL Conceitos básicos O veículo volta a se movimentar (não importa o estado do semáforo). Para o correto funcionamento do detector deve ter em conta que o detector não pode ser ocupado por mais de um veículo ao mesmo tempo 2.2.4. Informação gerada A incidência de veículo parado informa de: ○ Momento: instante em que a incidência foi gerada (primeira, segunda e terceira fotografia); em microssegundos. ○ Tempo total da parada: Tempo transcorrido desde a detecção do veículo (com o sinal de proibição de avanço ainda apagado) até o retorno da movimentação. A informação é acompanhada por três fotografias e um vídeo (este último só se for a versão Plus): ○ Fotografias: três fotografias de 5 megapixels coloridas onde se pode ver tanto o veículo quanto o semáforo: ▪ Primeira fotografia: veículo parado; instante em que o semáforo acendeu a luz vermelha de proibição de avanço. ▪ Segunda fotografia: veículo parado, encerrado o tempo máximo de parada sobre a faixa predefinido pelo usuário (a partir da mudança da luz do semáforo vermelho). ▪ Terceira fotografia: último instante antes que o veículo retome sua movimentação ou a luz vermelha tenha se apagado. Quercus Technologies 28 Manual de referência do BirdWatch® RL Conceitos básicos Primeira captura da incidência. Segunda captura da incidência. Veículo parado; instante em que o Veículo parado, encerrado o tempo máximo semáforo acendeu a luz vermelha de de parada sobre a faixa. proibição de avanço. Terceira captura da incidência. Último instante antes que o veículo retome sua movimentação ou a luz vermelha tenha se apagado. ○ Video (somente nas versões Plus do produto): video de 1 frame por segundo e 0,36 megapixels em preto e branco, onde se pode ver a seqüência de todo o evento. Embora o vídeo começa no momento da captura da primeira fotografia e termina no terceiro, o usuário pode configurar o detector para atrasar e avançar o início e o fim de um determinado tempo de vídeo, respectivamente. Os vídeos são de duração limitada (até 30 segundos) para que, em algumas incidências, o vídeo poderia não ser gerado devido a uma duração excessiva. Quercus Technologies 29 Manual de referência do BirdWatch® RL Conceitos básicos 3. Passos prévios à instalação 3.1. Localização 3.1.1. Condições básicas As unidades BirdWatch® RL são desenhadas para serem colocadas em instalações que atendam às seguintes condições: ● Instalação traseira: instalação sobre a pista, de forma que os veículos se afastem da unidade. ● Semáforo visível: totalmente visível na imagem capturada. Se não for assim as incidências geradas ficariam carentes de legalidade. ● Placa visível: placa do veículo visível nas três fotografias de uma incidência, respeitando em cada uma delas a resolução mínima (consultar o capítulo 3.1.2 Requisitos mínimos). Se não for assim as incidências geradas ficariam carentes de legalidade. Levar em consideração que os detectores de avanço de sinal vermelho, para que a placa do veículo apareça na primeira fotografia. A mesma deve ficar totalmente visível quando estiver na parte anterior a linha de detecção. Nesse caso, a longitude da área que antecede a linha de detecção, dependerá da longitude dos veículos a controlar. ● Incidência solar: é imprescindível evitar que os raios solares incidam diretamente ao interior da câmera; evidentemente isso diminuiria notavelmente a qualidade da imagem e, conseqüentemente, o rendimento da unidade. ● Funcionamento noturno o sistema BirdWatch® não exige uma iluminação mínima para funcionar corretamente. Não obstante: ○ é essencial que as luzes dos veículos estejam dentro do detector quando estes estiverem circulando, senão, não se garante o funcionamento correto dos detectores durante a noite. ○ Nas imagens das incidências, as placas dos veículos podem ser lidas corretamente sempre e quando cumprem o padrão internacional ISO 7591. 3.1.2. Requisitos mínimos Para que o funcionamento da unidade BirdWatch® RL seja ótimo a instalação deve cumprir os seguintes requisitos: ● Posição da câmera: ○ Via única: A instalação da unidade deve ser ao lado da via ou no centro da mesma. RL RL ○ Duas vias: A instalação da unidade deve ser na linha de separação das vias (mediante um pórtico). Se não é possível pode fazer a instalação na parte central da via com menos trânsito de veículos pesados (para evitar ocultações). Quercus Technologies 30 Manual de referência do BirdWatch® RL Conceitos básicos RL RL RL ○ Três vias: a unidade deve ser instalada no centro da via central (mediante um pórtico) RL ● Resolução da placa do veículo: uma placa, para poder ser lida corretamente pelo olho humano, deve ter uma resolução mínima de 200 pixels/metro * de largura nas fotografias de incidências (colorida, de 5Mp). Recriando o cenário da instalação mediante a ferramenta VLPreviewer é possível obter uma resolução aproximada de uma placa em diferentes posições da via. Ver o capítulo 9 Ferramenta de pré-visualização (VLPreviewer). ● Resolução do semáforo: Cada uma das luzes que compõem o semáforo devem ter uma resolução mínima de 16 pixels de diâmetro nas fotografias de incidências (em cor de 5Mp). No capítulo 18Apêndice A: parâmetros de instalação se encontram algumas tabelas com as medidas das instalações para um, dois e três vias. Quercus Technologies só pode garantir o funcionamento ideal do sistema BirdWatch® RL se o posicionamento dos diversos elementos do sistemas for realizado conforme as diretrizes descritas no capítulo 3.1Localização e Apêndice A: parâmetros de instalação. O correto funcionamento de uma instalação de laços virtuais depende de muitos factores externos ao próprio sistema * Para as placas com caracteres de 40 à 50 milímetros de largura. Em outro caso é necessário uma resolução de 8 pixels por caractere. Quercus Technologies 31 Manual de referência do BirdWatch® RL Conceitos básicos como, por exemplo, as ocultações: devido à sua altura, alguns veículos podem ocupar na imagem áreas da pista que, fisicamente, não estão ocupando. Esse fenômeno se chama ‘ocultação’ e deve ser evitado, pois pode indicar presença em um detector quando, na verdade, ela não existe. Visão da unidade: o veículo ocupa o Visão de pássaro: o veículo realmente não detector (zona verde) e o ativa ocupa o detector. A maioria desses fatores pode ser otimizada se esses fatores forem levados em conta durante o projeto de posicionamento das câmeras. Se houver limitações físicas incontornáveis que impeçam o cumprimento dessas diretrizes, é muito importante que o posicionamento dos elementos seja feito com a colaboração do departamento de Suporte da Quercus Technologies. Para planejar o posicionamento do equipamento, aconselhamos utilizar a ferramenta VLPreviewer; ver capítulo 9 Ferramenta de pré-visualização (VLPreviewer) para conhecer o aplicativo. O VLPreviewer permite recriar o cenário em torno de uma instalação BirdWatch® e, posteriormente, visualizar a cena do ponto de vista da unidade. Modificando a posição da unidade na cena e alterando o zoom da lente poderá encontrar sua melhor posição. 3.2. Instalação elétrica Voltagem Consumo Corrente contínua 12VDC 21 W (sem aquecedor) Corrente contínua 12VDC 79.5 W (com aquecedor ativo) 3.3. Cabeamento A cada equipamento BirdWatch® RL devem ser conectados os seguintes cabos: ● Cabo de alimentação: 2 x 1,5 mm2 de comprimento. ● Cabo de rede: cabo UTP categoria 5. Como opção ao cabo de rede, a comunicação pode ser efetuada através dos seguintes canais seriais: ● RS-232: cabo serial padrão de 3 vias. ● RS-485: cabo serial padrão de 3 vias. Quercus Technologies 32 Manual de referência do BirdWatch® RL Conceitos básicos Nas instalações onde forem utilizadas entradas e/ou saídas digitais, também será necessário o seguinte cabo: ● Cabo de sinais: cabo blindado de 10 vias (caso se requeiram 4 entradas e 4 saídas) de 0.22mm2 de seção. Quercus Technologies 33 Manual de referência do BirdWatch® RL Conceitos básicos 4. Material fornecido 1 3 2 1. Unidade BirdWatch® RL. 2. Objectiva Varifocal 3. CD-ROM com manual, programas e bibliotecas de desenvolvimento. Quercus Technologies 34 Manual de referência do BirdWatch® RL Conceitos básicos 4.1. Componentes opcionais 1 2 3 4 5 1. Suporte para teto. 2. Adaptador plano (para teto). 3. Suporte para parede. 4. Adaptador para mastro vertical. 5. Suporte para mastro horizontal. Quercus Technologies 35 Manual de referência do BirdWatch® RL Software Software Nesta seção se descreve o software cliente (ferramentas, simulador, bibliotecas de desenvolvimento, etc.) disponível no CD-ROM, assim como os processos de instalação e configuração do mesmo. Não é necessário dispor fisicamente de uma unidade BirdWatch ® para seguir os passos indicados nesta seção, pois se trata somente da instalação do software do cliente, ou seja, o software que permite se comunicar e interagir com um ou mais equipamentos. O software do BirdWatch® é compartilhado por outras famílias de produtos (não descritas no presente manual). Por isso, nele podem ser encontrados arquivos ou funções que não se aplicam aos produtos BirdWatch ® RL e BirdWatch® RL Plus; por exemplo, as funções relativas a outros tipos de detector ou a geração de resumos. Quercus Technologies 36 Manual de referência do BirdWatch® RL Software 5. Instalação do software cliente Utilize sempre a versão do software que foi fornecida com a unidade ou uma versão posterior, dado que tal software sempre é compatível para trás, ou seja, a versão mais recente do software sempre se pode usar com todas as unidades existentes, salvo se for indicado explicitamente o contrário. 5.1. Conteúdo do CD-ROM No CD-ROM encontrará três pastas: ● Windows: o programa de instalação das ferramentas de desenvolvimento e programas para o sistema operacional Windows. ● Linux: o programa de instalação das ferramentas de desenvolvimento e programas para o sistema operacional Linux. ● OpenSource: projetos de código aberto usados no BirdWatch®. 5.2. Instalação em Windows Execute o programa de instalação "<CD-ROM>\Windows\setup.exe" e dê os passos indicados. Se já houver no sistema uma versão do software do cliente instalada e a versão da nova instalação diferir somente quanto ao número de revisão (por exemplo, se houver uma versão 1.1.0 instalada e for instalar a versão 1.1.1), a nova versão será instalada na mesma pasta, substituindo somente os arquivos necessários e deixando só uma entrada no menu de desinstalação do sistema. 5.3. Instalação em GNU/Linux Monte sua unidade de CD-ROM. Execute o programa de instalação “<CD-ROM>/Linux/QuercusVL_1.3.0.run” com o comando: # sh <CD-ROM>/Linux/ QuercusVL_1.3.0.run Siga os passos indicados. 5.3.1. Premissas Os executáveis para GNU/Linux estão ligados dinamicamente, por isso, deverá ter os seguintes componentes instalados. Todos esses componentes estão instalados (ou disponíveis para a instalação) em qualquer distribuição Linux moderna. Para desenvolver e executar programas sem interface gráfica: ● glibc v2.3.2: http://www.gnu.org/software/libc/libc.html Para executar programas com interface gráfica, além disso, necessitará: Quercus Technologies 37 Manual de referência do BirdWatch® RL ● XFree86-libs v4.3.0: Software http://ftp.xfree86.org/pub/XFree86/ 5.4. Arquivos instalados Na pasta de instalação poderá encontrar as seguintes subpastas: ● Bin: executáveis e bibliotecas. Nela poderá encontrar os seguintes arquivos: ● VL.dll (Windows) ou libVL.so (Linux): biblioteca de ligação dinâmica necessária para programar aplicações clientes em C/C++. ● VLDiag(.exe): ferramenta de diagnóstico. Permite comprovar, a partir do sistema central, o funcionamento das unidades. ● VLPreviewer(.exe): aplicativo para a pré-visualização do entorno de uma instalação BirdWatch®. ● VLComBridge(.exe): adaptador serial, transforma tramas UDP em tramas seriais. Usar-se-á quando se deseje simular uma unidade com comunicação serial. ● VLComBridgeGui(.exe): adaptador serial no modo gráfico, transforma tramas UDP em tramas seriais. Usar-se-á quando se deseje simular uma unidade com comunicação serial. ● VLSimu(.exe): simulador em modo texto da unidade BirdWatch ®. Permite desenvolver aplicativos de cliente para o BirdWatch® sem necessidade de dispor fisicamente da unidade. ● VLSimuGui(.exe): simulador em modo gráfico da unidade BirdWatch ®. Permite desenvolver aplicativos de cliente para o BirdWatch® sem necessidade de dispor fisicamente da unidade. ● ShowFileInfo (somente em GNU/Linux): ferramenta para obter informação da versão de bibliotecas de ligação dinâmica criadas por Quercus Technologies. ● ● Lib*.so (somente em GNU/Linux): todas as dependências de libSA.so (exceto glibc e Xfree86). ● /libs: todas as premissas dos executáveis (exceto glibc e Xfree86 em GNU/Linux). Data: dados e arquivos de configuração que necessitam da ferramenta de diagnóstico, simulador e a ferramenta de pré-visualização para funcionar corretamente. ● Doc: contém o manual do produto BirdWatch ® RL, além de outros manuais de produtos não detalhados no presente manual. ● Include: contém os arquivos header C/C++ necessários para o desenvolvimento usando as bibliotecas dessas linguagens, assim como a definição dos rastreios do protocolo na forma de estruturas em C. ● Log: pasta onde serão guardados os registros dos diversos programas, assim como o histórico de incidências e resumos enviados por cada uma das unidades. ● Samples: ● VLPreviewer: exemplos para cada tipo de detector de uma instalação BirdWatch ®; prontos para serem carregados com o aplicativo de pré-visualização. ● Outros: exemplos de programação com as diversas alternativas existentes: C, C++ e protocolo. Consulte o arquivo "Readme.txt" dessa pasta para mais informações. ● Simulations: simulações do funcionamento de cada um dos tipos de detectores existentes nas unidades da família BirdWatch®. Cada simulação contém um arquivo.bat ou um script para executá-lo corretamente. Consulte o arquivo "Readme.txt" dessa pasta para mais informações. Quercus Technologies 38 Manual de referência do BirdWatch® RL ● Software Src: arquivos em código-fonte C/C++ necessários para usar a biblioteca em C++ assim como um conjunto de funções de ajuda na gestão de comunicações UDP. Quercus Technologies 39 Manual de referência do BirdWatch® RL Software 6. Configuração do sistema central O sistema central será configurado mediante um arquivo de texto. O aplicativo do cliente deverá usar esse arquivo de configuração para inicializar a biblioteca de desenvolvimento do BirdWatch® (tanto a biblioteca em C como em C++). O arquivo de configuração pode ter qualquer nome e encontrar-se em qualquer lugar da máquina cliente. Mas, se ele for ser usado a partir da ferramenta de diagnóstico “VLDiag” (ver capítulo 7Ferramenta de diagnóstico (VLDiag)para mais informações) ele deverá ficar na pasta “Data” do diretório de instalação e ter o nome de “Central.ini”, pois VLDiag espera encontrá-lo nesse local, com esse nome. O arquivo está dividido em seções, onde cada seção contém uma série de variáveis do tipo “Variável=Valor”. Podem-se deixar espaços antes e depois do símbolo igual, dado que estes serão ignorados. 6.1. Seção [Global] Nela se encontram os parâmetros gerais do sistema. ● ● LogLevel: nível de informação que se mostrará no registro. Possíveis valores: ○ 1. Message; serão exibidas todas as mensagens. ○ 2: Warning; só serão exibidas as mensagens de aviso ou de erro. ○ 3. Error; só serão exibidas as mensagens de erro. HistoricSummarySize: números de resumos que serão armazenados por unidade. Os resumos serão armazenados na “<pasta de instalação>/Log/UnitX/Summaries”, onde “X” representa o índice da unidade. Para cada resumo será armazenado um arquivo com os dados das estatísticas coletadas durante um determinado período de tempo; portanto, ao estabelecer esse valor, deverão ser levadas em conta as limitações em relação ao número de arquivos que pode haver em uma única pasta de seu sistema de arquivos. ● HistoricIncidenceSize: número de incidências que serão armazenadas por unidade. As incidências serão armazenadas na “<pasta de instalação>/Log/UnitX/Incidences”, onde “X” representa o índice de cada unidade. Cada incidência envolve o armazenamento de diversos arquivos com os dados da incidência (momento, tipo, etc.) e as imagens jpeg correspondentes, com a fotografia tirada do veículo em diferentes trechos, para poder verificar a infração, assim como um vídeo avi com a sequência do evento (somente na versão Plus). Portanto, deverão ser levadas em conta as limitações em relação ao número de arquivos que pode haver em uma única pasta de seu sistema de arquivos ao estabelecer esse valor. 6.2. Seção [Network] Contém os parâmetros gerais de rede. ● ListeningPort: porta UDP pela qual se esperarão as mensagens das unidades. Por padrão, as unidades estão configuradas para enviar as mensagens à porta 8050; portanto, recomenda-se usar esse valor. ● Timeout: tempo em milésimos de segundos que se deve esperar desde que uma mensagem é enviada a uma unidade até que seja determinado que a mensagem não chegou, sendo, então, feito o reenvio (ou o Quercus Technologies 40 Manual de referência do BirdWatch® RL Software cancelamento, no caso de terem se esgotado as tentativas). O valor recomendado está entre 300 e 1000 (se a rede na que se encontram os equipamentos tem um alto volume de tráfego poderia aumentar-se ligeiramente este valor). ● Retries: número de tentativas de enviar uma mensagem que se farão antes de considerar que não pôde ser enviado. Os valores aconselháveis estão entre 2 e 3 novas tentativas. ● Password: senha de encriptação de protocolo. Ver o capítulo 16.2 Encriptação de protocolo para mais informações. ● ListeningPort: porta UDP pela qual se esperarão as mensagens de configuração das unidades. Por padrão, as unidades estão configuradas para enviar as mensagens à porta 8040; portanto, recomenda-se usar esse valor. 6.3. Seção [Units] Contém as informações aplicáveis a todas as unidades. ● MonitoringPeriod: segundos que passarão entre as comprovações do estado das unidades. O valor recomendado está entre 10 e 30 segundos. ● UnitsList: lista de unidades do sistema, separadas por comas. Cada unidade da lista deverá descrever na seguinte secção Unit. Nessa mesma ordem aparecerão nas bibliotecas de desenvolvimento e na ferramenta de diagnostico. 6.4. Seção [UnitX] Contém os parâmetros da unidade “X”. ● Host: endereço de IP da unidade. Podem ser usados nomes, no lugar de endereços IP e, nesse caso, a unidade deve ter configurado o acesso a um servidor de DNS para poder converter o nome em um endereço IP. ● Port: porta UDP na qual a unidade esperará as mensagens do sistema central. Por padrão, a configuração das unidades é 8051 e, portanto, esse é o valor recomendado. ● ConfigPort: porta UDP na qual a unidade esperará as mensagens de configuração do sistema central. Por padrão, a configuração das unidades é 8041 e, portanto, esse é o valor recomendado. Exemplo de arquivo de configuração: [Global]: LogLevel=2 HistoricSummarySize=300 HistoricIncidenceSize=100 [Network]: ListeningPort=8050 Timeout=500 Retries=2 Password: ConfigPort=8040 [Units] MonitoringPeriod=10 UnitsList=1,2,3,4 Quercus Technologies 41 Manual de referência do BirdWatch® RL Software [Unit1] Host=192.168.1.201 Port=8051 ConfigPort=8041 [Unit2] Host=192.168.1.202 Port=8051 ConfigPort=8041 [Unit3] Host=192.168.1.203 Port=8051 ConfigPort=8041 [Unit4] Host=192.168.1.204 Port=8051 ConfigPort=8041 Quercus Technologies 42 Manual de referência do BirdWatch® RL Software 7. Ferramenta de diagnóstico (VLDiag) A ferramenta de diagnóstico VLDiag permite que o operador comprove, a partir do sistema central, o funcionamento das diversas unidades. Para usar a ferramenta de diagnóstico, se deverá parar o aplicativo cliente (se está em funcionamento), dado que ambos utilizam a mesma porta UDP para receber as mensagens das unidades, e não podem estar os dois em funcionamento simultâneo. O programa pode ser executado com ou sem argumentos. Se for executado sem argumentos, ele procurará o arquivo de configuração em "<pasta de VLDiag>/../Data/Central.ini" e deixará o arquivo de log em "<pasta de VLDiag>/../Log/Central.log”. Se, pelo contrário, for executado com argumentos, o primeiro argumento deve ser o caminho do arquivo de configuração e o segundo o do arquivo de log. Exemplo: VLDiag Central.ini Central.log. O aplicativo será apresentado no idioma que tiver sido configurado na “configuração regional”, no sistema operacional (no Windows) ou nas variáveis de ambiente LC... (em Linux). A aplicação está dividida em três zonas: ● Barra de botões. ● Zona principal ● Barra de estado 7.1. Barra de botões A barra de botões ocupa a parte superior da aplicação. Os botões estão agrupados de acordo com sua funcionalidade. Quercus Technologies 43 Manual de referência do BirdWatch® RL Software Alguns botões são aplicáveis somente em determinadas circunstâncias e com uma determinada aba selecionada; por outro lado, outros são independentes da aba ativa. Os grupos de botões disponíveis são: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 7.1.1. Botões principais Efetuam as ações mais básicas da aplicação: 1. Sair: sair da aplicação. 2. Seleção da unidade: são exibidas todas as unidades configuradas no arquivo Central.ini. Se for selecionado “Todas”, as ações afetarão todos os detectores de todas as unidades; se for selecionada uma unidade específica, as ações só afetarão essa unidade. 3. Seleção do tipo de detector: são exibidos os tipos de detectores existentes na unidade selecionada. Se for selecionado “Todos”, as ações afetarão todos os tipos de detectores da unidade; se for selecionado um tipo específico, as ações só afetarão os detectores desse tipo da unidade. 4. Seleção do detector: são exibidos os detectores da unidade selecionada e do tipo selecionado. Se selecionarmos “Todos”, as ações afetarão todos os detectores dessa unidade e tipo; se for selecionado só um detector, as ações somente afetarão esse detector. 7.1.2. Botões de controle 5. Tempo de exposição: (ver capítulo “Zona principal/Aba de câmera ao vivo”). 7.1.3. Botões de visualização 6. Tela completa: disponível somente nas abas de visualização de imagens ao vivo da unidade (“Câmera ao vivo” e “Eventos”), oculta todos os controles da aplicação, mostrando somente a imagem ao vivo; as ações mais básicas permanecem em um painel de controle flutuante. Essa função facilita a visualização das imagens ao vivo em monitores de baixa resolução. Os botões disponíveis no painel de controle flutuante são: 1. Início: 2. Parar: 3. Voltar: 4. Próximo: 5. Desativar zoom: 6. Ativar zoom: 7. Atualizar: 8. Sair do modo "Tela completa". Quercus Technologies 1 2 3 4 5 6 7 8 44 Manual de referência do BirdWatch® RL Software Para conhecer detalhadamente o comportamento de cada botão consultar os capítulos 7.2.2Aba “Eventos”7.2.5 e Aba “Câmera ao vivo”. 7.1.4. Botões de ação Permitem efetuar ações sobre a aba selecionada. Alguns dos botões só estão disponíveis para certas combinações de unidade/detector e/ou para determinadas abas: 7. Início: (ver capítulo “Zona principal”). 8. Parar: (ver capítulo “Zona principal”). 9. Limpar/Restaurar: (ver capítulo “Zona principal”). 7.1.5. Botões de deslocamento Permitem o deslocamento pelo histórico da aba selecionada. Só estarão disponíveis para certas combinações de unidade/detector e/ou para determinadas abas: 10. Primeiro: (ver capítulo “Zona principal”). 11. Anterior: (ver capítulo “Zona principal”). 12. Seguinte: (ver capítulo “Zona principal”). 13. Último: (ver capítulo “Zona principal”). 7.1.6. Botões de função Funções independentes da pestana selecionada. 14. Reiniciar unidade selecionada: permite reiniciar a unidade selecionada (ou todas as unidades selecionadas, se todas elas foram selecionadas). A aplicação solicitará confirmação antes de proceder ao envio da ordem à(s) unidade(s). 15. Ativar bit de E/S: está disponível sempre que haja uma unidade selecionada. Serve para ativar ou desativar um bit de saída do cartão de E(S) da unidade. Uma vez pressionado, aparecerá o seguinte diálogo: Nela deve-se escolher o bit que se quer ativar e a duração (ou marcar "Manter ativo") e pressionar o botão "Ativar" para enviar a ordem à unidade. Para desativar um bit previamente ativo, selecione um tempo zero para esse bit e clique em “Ativar", para ativar um bit indefinidamente, selecione um tempo de -1. 16. Ativar tarefas: está disponível sempre que houver uma unidade selecionada. Serve para indicar quais tarefas devem ser realizadas pela unidade. Dependendo do tipo de seleção, aparecerá um diálogo diferente: ● Detector selecionado: permite ativar/desativar de forma provisória as tarefas do detector; quando a unidade for reiniciada, os valores voltarão a ser aqueles designados na configuração do detector (ver Quercus Technologies 45 Manual de referência do BirdWatch® RL Software capítulo 11Firmware). ● Detector não selecionado (“Todos”): permite ativar/desativar de forma provisória as tarefas da unidade; quando a unidade for reiniciada, os valores voltarão a ser aqueles designados na configuração da unidade (ver capítulo 11Firmware)) 7.1.7. Botões de ajuda 17. Manual do SmartLoop® TS: exibe o manual do SmartLoop ® Traffic Sensor (outro producto de Quercus Technologies) em PDF. É preciso dispor de um visualizador de arquivos PDF associado a esse tipo de arquivos. 18. Manual do BirdWatch® RL: exibe o manual do BirdWatch® Red Light em PDF. É preciso dispor de um visualizador de arquivos PDF associado a esse tipo de arquivos. 19. Acerca de: mostra informação acerca de Quercus Technologies. 7.2. Zona Principal A zona principal está dividida em pestanas. A combinação de unidade/detector selecionada na barra de botões altera o comportamento das abas. 7.2.1. Aba “Situação” Serve para conhecer a situação e as notificações da unidade selecionada na barra de botões. Está dividida em três partes: Situação, Elementos e Notificações. Quercus Technologies 46 Manual de referência do BirdWatch® RL Software Em Situação será exibido: ● Com todas as unidades selecionadas: ● Estado do sistema: correto se o estado de todas as unidades configuradas é correto; incorreto em qualquer outro caso. ● Com uma unidade selecionada: ● Unidade: identificador único da unidade. ● Estado das comunicações: estado das comunicações com a unidade. Se este campo mostra erro, os restantes campos não mostrarão nenhum valor. ● Estado: indica se o dispositivo BirdWatch ® está funcionando corretamente na unidade. Em caso negativo, verifique o arquivo de log da unidade. ● Enviar alterações de E/S: mostra se a unidade deve informar ao sistema central as mudanças nas E/S. ● Firmware: exibe o nome do firmware que a unidade está executando. ● Versão do firmware: mostra a versão de firmware que a unidade está executando. Em Elementos, será exibida uma tabela com todos os detectores que pertencem ao elemento selecionado e sua configuração (ver o capítulo 11Firmware) Em Notificações, será exibida uma lista das últimas notificações da(s) unidade(s) Quercus Technologies 47 Manual de referência do BirdWatch® RL Software selecionada(s) com as seguintes informações: ● Momento: data e hora em que ocorreu a notificação em formato ano-mês-dia hora:minuto:segundo. ● Unidade: unidade que emitiu a notificação. ● Descrição: descrição da notificação produzida. Botões ativos ● Eliminar/Reiniciar: esvazia a lista de notificações. 7.2.2. Aba “Eventos” Exibe os eventos que vão sendo realizados na unidade selecionada, enquanto é mostrada a imagem ao vivo da câmera. Os eventos exibidos podem ser desde mudanças nas entradas dos cartões de E/S até mudanças de situação dos detectores, com suas informações correspondentes, conforme o tipo. As principais ações a serem realizadas em relação ao elemento selecionado também ficam armazenadas nessa aba. Essa aba somente mostrará os dados se o elemento ativo na barra de botões for uma unidade; se o elemento ativo for o sistema inteiro, a janela aparecerá vazia. Para facilitar a tarefa, é possível escolher visualizar somente os eventos para um tipo de detector ou um detector específico. Sobre a imagem são desenhados os laços formados pelos detectores da unidade selecionada, para poder observar se eles são ativados quando um veículo passa sobre eles. A cor verde indica a presença e o vermelho indica ausência, sendo que sua intensidade será maior quando ela indicar o elemento selecionado. Quercus Technologies 48 Manual de referência do BirdWatch® RL Software A janela está dividida em 4 partes: ● Imagem: imagem ao vivo. ● Elemento selecionado: ● ● ○ Id. Unidade: identificador da unidade. ○ Id. Detector: identificador do detector. ○ Tipo: tipo de detector. Entradas e saídas digitais: ○ Saídas: situação das saídas do cartão de E/S da unidade. ○ Entradas: situação das entradas do cartão de E/S da unidade. Lista de eventos: lista de eventos produzidos. É exibida a data e a hora, o identificador da unidade e do detector (se aplicável) e uma pequena descrição do evento ocorrido. Botões ativos ● Início: começa a mostrar a imagem ao vivo e a mostrar sobre essa imagem os detectores com sua situação (verde: presença de veículo; vermelho: ausência de veículo). ● Stop: interrompe a exibição da imagem ao vivo e não exibe mais a situação dos detectores. ● Limpar/Restaurar: esvazia a lista de eventos. ● Tela completa: ver 7.1.3Botões de visualização . Quercus Technologies 49 Manual de referência do BirdWatch® RL Software 7.2.3. Aba “Incidências” Exibe as incidências armazenadas no histórico do disco. Essa aba exibirá os dados, se tiver sido selecionada uma unidade, um detector ou um tipo de detector; a janela aparecerá vazia se o elemento ativo for todo o sistema. A janela está dividida em 4 partes: ● Imagem(ns): imagem(ns) armazenada(s) pela incidência. Ocupa a parte superior da janela. Se clicarmos duas vezes em uma imagem, ela será exibida na escala 1:1; esse formato permite observar melhor pequenos detalhes da imagem. ● Brilho: permite uniformizar o brilho das imagens na tela. Encontra-se na parte inferior esquerda da janela. Se for selecionada a opção “Ligado” na caixa de seleção, o aplicativo tentará diminuir ou aumentar automaticamente o brilho da imagem de forma que todas apareçam com um brilho similar. Para ajustar o brilho manualmente, é necessário desmarcar a caixa de seleção “Auto” e ajustá-lo com o controle específico para isso. Uma vez o brilho foi ajustado manualmente, permanecerá no valor estabelecido, inclusive para as novas imagens que se visualizem. Observar que o aplicativo somente aplica o novo brilho quando a imagem é visualizada na escala 1:1. Quercus Technologies 50 Manual de referência do BirdWatch® RL Software Atenção: esse controle somente modifica a forma de exibição das imagens pelo aplicativo, ele não modifica o brilho das imagens armazenadas no histórico do disco. ● Informações sobre a incidência: dados sobre a unidade que gerou a incidência, o momento e sua causa. Os dados mostrados são: ● Id: identificador da incidência. ● Tipo: tipo de incidência. ● Unidade: identificador da unidade. ● Detector: identificador do detector que detectou a incidência. ● Imagem: lista dos identificadores das imagens relacionadas à incidência. ● Momento: data e hora da incidência; no formato ano-mês-dia hora:minuto:segundo.microssegundo. ● ● Informações específicas: informações específicas conforme o tipo de incidência. Ver vídeo: esse botão somente está disponível para as incidências nas que geraram um vídeo. Nesse caso, abre um reprodutor para visualizar o mesmo. 1. Fechar: fecha o reprodutor. 2. Parar: para a reprodução, voltando ao início do vídeo. 3. Reproduzir/Pausar: reproduz/pausa o vídeo. 4. Seguinte imagem: exibe a seguinte imagem do vídeo. Somente disponível quando o vídeo é pausado. 5. Barra de reprodução: indica o momento do vídeo que está visualizando. Botões ativos ● Primeiro: mostra os dados da primeira incidência do histórico. ● Anterior: mostra os dados da incidência anterior àquela que está sendo exibida. Quercus Technologies 51 Manual de referência do BirdWatch® RL Software ● Seguinte: mostra os dados da incidência posterior àquela que está sendo exibida. ● Último: mostra os dados da última incidência do histórico. 7.2.4. Aba “Resumos” As ações desenvolvidas nesta aba não são aplicáveis aos produtos BirdWatch ® RL y BirdWatch®RL Plus. 7.2.5. Aba “Câmera ao vivo” Permite ver as imagens que a câmera está captando atualmente. Sua principal função é poder efetuar um correto ajuste da objetiva da câmera. Essa aba só mostrará dados se tiver sido selecionada uma unidade na barra de botões. Atenção: o sistema BirdWatch® controla constantemente o tempo de exposição, para uma melhor adaptação a cada situação. Enquanto a câmera ao vivo estiver ativada, esse controle é inibido para poder aplicar o tempo de exposição indicado. Ao desativar a câmera, o sistema exigirá um tempo para se reconfigurar e, durante esse tempo, é possível que o sistema não se comporte corretamente. A janela está dividida em 4 partes: ● Imagem: imagem que se recebe da câmera. Ocupa a parte superior da janela. Clicando em dois pontos da imagem, será marcada uma zona retangular, necessária para o Quercus Technologies 52 Manual de referência do BirdWatch® RL Software zoom, enfoque numérico e enfoque gráfico. ● Zoom: se ele estiver ativo e tiver sido selecionado o retângulo na imagem, a zona da imagem aparecerá aumentada. Essa zona será sempre do mesmo tamanho e sua posição será determinada pelo centro do retângulo selecionado. Esse recurso é útil para focar uma zona específica da imagem com mais precisão. ● A focagem numérica permite o ajuste da câmera sem ter que confiar na capacidade do olho humano de distinguir pequenas variações de nitidez da imagem. ● ○ Atual: enfoque numérico atual. ○ Máximo: máximo enfoque numérico conseguido. Enfoque gráfico: proporciona os mesmos dados que o enfoque numérico, mas com uma representação mais visual das informações. O eixo X representa o tempo e o eixo Y representa o valor da focagem. Quanto mais alto for o valor exibido para um determinado momento de tempo, melhor será o enfoque. A linha vertical marca o ponto atual do gráfico e a linha horizontal marca o valor atual da focagem. Quando as duas linhas aparecem em vermelho significa que o valor atual da focagem é igual ao máximo; quando o valor atual é inferior ao máximo, as linhas aparecem em cinzento. Para fazer uso da focagem numérica dever-se-ão dar os passos seguintes: 1. Iniciar a visualização ao vivo da imagem. 2. Situar o retângulo vermelho que aparece impresso sobre a zona de enfoque para conseguir uma imagem nítida (por padrão, a imagem inteira estará marcada). Para isso, marque com um clique do mouse um canto do retângulo que se queira delimitar; aparecerá uma pequena cruz vermelha no ponto marcado. Marque com outro clique do mouse o canto oposto ao anterior; com isso, aparecerá o novo retângulo delimitado em vermelho. 3. Clicar no botão “Limpar/Restaurar” para reiniciar os dados do enfoque. 4. Fazer uma "varredura" muito lenta com o anel de focagem da objetiva da câmera desde a posição inicial até à posição final. Com isso, no campo "Máx." aparecerá o valor do máximo enfoque conseguido. 5. Ajustar o anel de focagem da objetiva até que o valor "Enfoque" seja o mesmo que o valor "Máx.". Botões ativos ● Tempo de exposição: tempo de exposição que a unidade deve usar; em microssegundos. ● Início: iniciar a solicitação de imagens ao vivo. Quercus Technologies 53 Manual de referência do BirdWatch® RL Software ● Stop: interromper a solicitação de imagens ao vivo. ● Limpar/Restaurar: reiniciar os dados da focagem numérica e gráfica. ● Anterior: reduz o tempo de exposição. ● Seguinte: aumenta o tempo de exposição. ● Tela completa: ver o capítulo 7.1.3Botões de visualização . Se ativada a função de "Tela Completa" aparecerão na margem superior esquerda a imagem dos valores de enfoque atual e enfoque máximo respectivamente. 7.2.6. Aba “Configuração” Permite acessar o sistema de configuração da unidade. Essa aba só mostrará dados se tiver sido selecionada uma unidade na barra de botões. Para poder fazer a configuração, é imprescindível se identificar com o nome de usuário e a senha (por padrão, admin e quercus2). Após ter sua identidade verificada, é possível acessar as diversas funções (ver capítulo 11Firmware). Botões ativos ● Iniciar: reconecta com o sistema de configuração da unidade. Útil, por exemplo, caso se tenha forçado um reinício da unidade. ● Eliminar/Reiniciar: atualiza a página atual da configuração. Quercus Technologies 54 Manual de referência do BirdWatch® RL Software 7.2.7. Aba “FTP” Permite o acesso ao servidor FTP da unidade mediante um cliente FTP incluído. Este, permite enviar e fazer o download de arquivos da unidade. Essa aba só mostrará dados se tiver sido selecionada uma unidade na barra de botões. Observe que se usar encritação nas comunicações não será possível acessar o histórico das incidências mediante protocolo FTP; ver 16.2Encriptação de protocolo. A janela está dividida em 3 partes: ● Arquivos locais: na parte esquerda da janela, mostra a lista de unidades, pastas e arquivos dos discos locais. ● Arquivos remotos: na parte direita da janela, mostra a lista de pastas e arquivos da unidade selecionada. ● Barra de progresso: mostra a percentagem dos arquivos que se transmitiram (quando houver uma transmissão em curso). Funcionamento O funcionamento é simétrico nos dois lados. Com um duplo clique sobre uma pasta ou unidade estabelece-se a mesma como pasta ativa e mostra-se o seu conteúdo. Um clique duplo sobre a flecha determina que a pasta anterior fique como pasta ativa. Quercus Technologies 55 Manual de referência do BirdWatch® RL Software Para iniciar uma transferência, arrastar o arquivo de uma janela para outra. Para selecionar mais do que um arquivo ou pasta a transferir podem-se usar as teclas [controle] para adicionar individualmente arquivos ou pastas ou [maiúsculas] para adicionar todos os arquivos e pastas desde a última selecionada. Botões ativos ● Eliminar/Reiniciar: reconecta com o servidor FTP da unidade e atualiza o conteúdo das duas listas de arquivos. É útil, por exemplo, caso se tenha reiniciado a unidade, dado que o conteúdo do servidor FTP da unidade se perde em cada reinício. 7.3. Barra de status Encontra-se na parte inferior da aplicação. Exibe informações adicionais, dependendo da aba ativa na zona principal. Quercus Technologies 56 Manual de referência do BirdWatch® RL Software 8. Simulador (VLSimu) O VLSimu é um simulador de uma unidade BirdWatch ®, que simula o conjunto completo de eventos e mensagens gerados por um sistema BirdWatch®. Podem simular-se tantas unidades como se queira executando tantas instâncias do programa como seja necessário. Através dele podemos verificar o funcionamento correto de todos os programas elaborados para interagir com um sistema BirdWatch®. 8.1. Configuração da unidade Para configurar a unidade, devemos criar dois arquivos de configuração: ● Arquivo de configuração geral. ● Arquivo de detectores. Caso se deseje utilizar comunicações seriais em vez de UDP na simulação, há mais um passo que se deve efetuar que é configurar o adaptador serial (VLBridge). 8.1.1. Arquivo de configuração geral Nesse arquivo é indicada a configuração da unidade. O arquivo equivale ao capítulo de “Configuração principal do sistema” da web de configuração de uma unidade real, de tal forma que as variáveis descritas no arquivo fazem referência a cada uma das variáveis do menu mencionado. Se não entendermos o significado de alguma das variáveis ali relacionadas, podemos rever o capítulo 11.1Configuração principal do sistema do manual. O arquivo é dividido em seções, definidas entre colchetes, com a descrição de suas variáveis (uma por linha). [Communications] variable1=valor1 variable2=valor2 . . . [Global]: variable1=valor1 . . . [Engine] variable1=valor1 . . . [IO] variable1=valor1 . . . [OSD] variable1=valor1 . Quercus Technologies 57 Manual de referência do BirdWatch® RL Software . . [Serial] variable1=valor1 . . . Há um arquivo de exemplo disponível no diretório de instalação do software BirdWatch ®: “Simulation/Tipo de simulação/Data/Globals.ini” 8.1.2. Arquivo de detectores Nesse arquivo são detalhados os detectores instalados na “unidade virtual”. O arquivo equivale ao capítulo de “Configuração dos detectores” da web de configuração de uma unidade real, de tal forma que os parâmetros descritos no arquivo fazem referência a cada uma das opções disponíveis nesse menu. Se não entendermos o significado de algum dos parâmetros, podemos rever o capítulo 11.2Configuração dos detectores do manual. O arquivo é dividido em seções, definidas entre colchetes, com a descrição de suas variáveis (uma por linha). [Global]: NumDetectors= NumTrafficLights= [Detector1] variable1=valor1 . . [Detector2] variable1=valor1 . . [TrafficLight1] variable1=valor1 . . [Lightd1_1] variable1=valor1 . . A primeira seção (Globals) indica o número de detectores e semáforos que serão descritos no arquivo. A continuação definem a cada um dos detectores (Detector). Finalmente descrevem os semáforos (TrafficLight), composto por duas ou mais luzes (Light). Há um arquivo de exemplo disponível no diretório de instalação do software BirdWatch ®: “Simulation/Tipo de simulação/Data/Detectors.ini” 8.1.2.1. Seção [Globals] ● NumDetectors: indica quantos detectores serão definidos no arquivo. Quercus Technologies 58 Manual de referência do BirdWatch® RL ● Software NumTrafficLights: indica quantos semáforos serão definidos no arquivo. 8.1.2.2. Seção DetectorX Descrição do detector; o valor X indica o número de detector definido (de 1 até o total de detectores definidos). ● Id: Identificador do detector (único entre os identificadores de todos os detectores instalados). ● Type: tipo de detector. ○ RED_LIGHT: detector de avançar no vermelho. ○ STOPPED_CAR: detector de veículo parado ● AreIncidencesEnabled: indica se devem ser geradas incidências. 0, desativado; 1, ativado. ● SendIncidences: indica se as incidências geradas devem ser enviadas ao sistema central. 0, desativado; 1, ativado. ● Coordinates: definição dos quatro vértices que definem a posição do detector, seguindo o formato: P1_x, P1_y, P2_x, P2_y, P3_x, P3_y, P4_x, P4_y. Os valores devem respeitar os limites, tanto do eixo X (0..639) quanto do Y (0..479). ● TrafficLightId: identificador do sinal de proibição de avanço. Se utilizar uma entrada digital (ver o seguinte parâmetro) indica o número de entrada; se utilizar um semáforo configurado indica seu identificador. ● RedInput: indica se deverá utilizar uma entrada digital para o sinal de proibição de avanço em vermelho. 0, utilizar semáforo configurado; 1, utilizar entrada digital. ● IsVideoEnabled: indica se deve-se gerar um vídeo por cada incidência. Possíveis valores: 1 para habilitar a geração, 0 em caso contrário. Somente disponível na simulação BirdWatch ® RL Plus. Observe que o vídeo gerado não corresponderá a cena simulada, mas será uma copia do arquivo “VideoRedLight.avi” ou “VideoStoppedCar.avi”, ambos localizados no diretório Data/Simulator/Images da pasta de instalação. Não obstante, as suas características serão as mesmas que as de um vídeo gerado por uma unidade BirdWatch ® real. ● PreVideoTimeMs: indica o tempo que deve-se adiantar o início da captura do vídeo desde a captura da primeira fotografia da incidência; em milésimos de segundos. Somente disponível na simulação BirdWatch ® RL Plus. ● PostVideoTimeMs: indica o tempo que deve atrasar a finalização da pasta de vídeo a partir da captura da terceira fotografia da incidência; em milisegundos. Somente disponível na simulação BirdWatch ® RL Plus. Parâmetros adicionais de um detector de avanço com luz vermelha ● CalculateMetrics: indica se devemos calcular a métrica. 0, desativado; 1, ativado. ● Distance: indica a distância entre a horizontal da unidade e o detector, em milímetros. ● Length: indica o comprimento do detector, em milímetros. ● Devolve o tempo mínimo que deve transcorrer entre a ativação do sinal de proibição de avançar e a geração da incidência para que esta seja considerada válida. ● AmberInput: indica qual entrada digital deve usar para o sinal da luz amarela Possíveis valores: 0,1,2 ou 3; em caso de não utilizar o sinal âmbar (o mesmo não é imprescindível para a detecção dos incidentes) ou utilizar um dsemáforo previament configurado, indicar -1. Quercus Technologies 59 Manual de referência do BirdWatch® RL Software Parâmetros adicionais em um detector de veículo parado: ● MaxStopTime: tempo máximo de parada permitido no detector; em milésimos de segundos. 8.1.2.3. Seção TrafficLight_X Descrição de um semáforo. O valor X indica o número de detector definido (de 1 até o total de semáforos definidos). ● Id: Identificador do semáforo (único entre os identificadores de todos os semáforos instalados). ● NumLights: número de luzes que tem o semáforo. 8.1.2.4. Seção LightX_Y Descrição de uma luz pertencente a umo dos semáforos definidos. O valor X indica o número de semáforo a que pertence; o valor Y indica o número de luz definida (de 1 até o total de luzes definidas para esse semáforo). ● Type: cor da luz. ○ RED: vermelha. ○ GREEN: verde. ○ AMBAR: âmbar. ○ OTHER: outra cor. ● X: posição do centro da luz na imagem (no eixo horizontal); em pixels. ● Y: posição do centro da luz na imagem (no eixo vertical); em pixels. ● Radius: raio da luz; em pixels. 8.1.3. Comunicação serial Caso se deseje utilizar comunicações seriais em vez de UDP na simulação, há mais um passo que se deve efetuar que é configurar o adaptador serial (VLComBridge). VLComBridge é um programa que se encarrega de receber as tramas que chegam por uma porta UDP e enviá-las pela porta serial e ler as tramas que chegam pela porta serial e enviá-las por uma porta UDP. Para configurá-lo deve-se criar um arquivo de configuração que posteriormente será passada como parâmetro ao adaptador. As variáveis que contém a seção "[Serial]" deste arquivo são as mesmas e têm o mesmo significado que as que se podem encontrar na configuração do adaptador serial da unidade, com a exceção das seguintes: Port: indica qual porta usar para as comunicações (a partir de 1). Por exemplo: 1 indicará "COM1" em máquinas Windows e "/dev/ttyS0" em máquinas Linux. As restantes seções e variáveis têm o seguinte significado: ● [Global]: parâmetros globais de funcionamento. ● SystemId: identificador da unidade. Todas as tramas que se recebam pela porta serial que não correspondam a este identificador serão desprezadas. ● [Network]: parâmetros de rede. ● Host: endereço de IP ou nome da máquina à qual se enviarão as tramas mediante UDP. ● SendToPort: porta à qual se enviarão as tramas UDP. Quercus Technologies 60 Manual de referência do BirdWatch® RL Software ● ReceiveFromPort: porta pela qual se receberão as tramas UDP. ● Password: senha de criptografia de protocolo. Ver o capítulo 16.2 Encriptação de protocolo para mais informações. Exemplo de arquivo de configuração: [Global]: SystemId=1 [Network]: Host=127.0.0.1 SendToPort=8051 ReceiveFromPort=8050 Password= [Serial] Port=1 Baudrate=9600 Apresenta-se a seguir de forma gráfica a interação entre as três aplicações (VLSimu, VLComBridge e o aplicativo cliente). Deve-se ter em conta que a flexibilidade da configuração faz com que as três possam estar sendo executadas em máquinas diferentes. Simulador [Network]: CentralSystemPort: [Network]: ListeningPort Comunicación UDP [Network] ReceiveFromPort [Network] SendToPort [Serial] Port Comunicación Serie Aplicativo cliente VLComBridge 8.2. Configuração da simulação 480 pixels Para simular corretamente uma unidade, é imprescindível que esteja sendo focada uma via pela qual haja veículos circulando. Para isso, o simulador criou o conceito de “faixa virtual”. Essa faixa não é nada mais do que a representação de uma faixa na qual é possível definir todos os eventos que nela ocorrem (movimentos de veículos, mudanças nas 25 metros simulador tem na "faixa virtual" um mundo igualmente simulado que pode ser observado. 640 pixels entradas digitais, mudanças de situação no semáforo e mudanças da situação das comunicações). Dessa forma, o A unidade está focando quatro faixas na posição zenital. A imagem resultante, de 640 pixels de largura e 480 de comprimento (como uma unidade BirdWatch® real), é a de quatro faixas idênticas de 25 metros de comprimento e 4,5 de largura cada uma. Os veículos só circulam pela faixa direita, sempre pelo centro e o sentido do deslocamento é configurável. Quercus Technologies 61 4.5 metros Manual de referência do BirdWatch® RL Software Observar que: ● quando são indicadas posições na faixa (em metros), a posição 0,0 faz referência ao extremo inferior da imagem. ● quando são indicadas posições na imagem (em pixels), a posição 0,0 faz referência ao extremo superior da imagem. A cena também dispõe de um semáforo de 3 luzes: ● Luz vermelha: centro da luz na imagem (x, y): 614,42; 16 pixels de raio. ● Luz âmbar: centro da luz na imagem (x, y): 614,84; 16 pixels de raio. ● Luz verde: centro da luz na imagem (x, y): 614,126; 16 pixels de raio. Para configurar a simulação, é preciso preparar um arquivo de simulação. Há um arquivo de exemplo disponível no diretório de instalação do software BirdWatch®: “Simulation/Tipo de simulação/Data/Simulation.ini” O arquivo de simulação conterá uma série de linhas que podem ser basicamente de dois tipos: ● Comentários: todas as linhas que comecem com o caractere "#" serão consideradas comentários e serão ignoradas pelo simulador. ● Eventos da unidade: todas as linhas que representem eventos (ou alterações de estado) terão um formato comum: Momento, Tipo de evento, Parâmetros do evento ● Momento: momento no tempo em que o evento ocorrerá; em milésimos de segundos. O tempo se calcula de forma relativa; cada evento indica quanto tempo depois do anterior sucederá (o primeiro mede seu tempo a partir do início de execução do simulador). Quando se ultrapasse o último evento da simulação, voltar-se-á ao estado inicial. É preciso levar em conta que a situação inicial da simulação (antes do primeiro evento) representa uma unidade onde a faixa está vazia, a situação dos componentes da unidade está correta e não há nenhum bit de entrada ativado. Caso se queira partir de um estado diferente, basta estabelecer no momento 0 os eventos necessários para conseguir o estado de partida desejado. ● ● Tipo de evento: existem três tipos de evento: ○ Circulação de veículos. ○ Mudança de situação de uma das entradas digitais. ○ Mudança de situação das comunicações. ○ Alteração de estado do semáforo. Parâmetros do evento: dependerão de cada tipo de evento (veja os seguintes pontos). 8.2.1. Evento de veículo O simulador permite simular a circulação de vários veículos. Estes, são manejados por um identificador único (valor inteiro). Existem três tipos de veículos disponíveis, cada um deles em dois modelos diferentes: Quercus Technologies 62 Manual de referência do BirdWatch® RL ● Veículo de passeio. ● Furgão. ● Caminhão. Software Cada instrução faz referência a uma posição de um veículo em um determinado momento; ao utilizar duas posições consecutivas de um mesmo veículo, o simulador interpreta o movimento. Por exemplo, se indicamos que o veículo 'v1' está na posição 0 e que, depois de 3000 milésimos de segundos, ele está na posição 2000, o simulador entende que, durantes essas duas instruções (3000 milésimos de segundos) o veículo se moveu a uma velocidade constante desde a posição 0 até a posição 2000. 8.2.1.1. Estrutura da instrução ● Milésimos de segundos que o simulador deve aguardar desde a instrução anterior até sua execução. ● Tipo de veículo. ○ Car1: passeio, modelo 1. ○ Car2: passeio, modelo 2. ○ Van1: furgão, modelo 1. ○ Van2: furgão, modelo 2. ○ Truck1: caminhão, modelo 1. ○ Truck2: caminhão, modelo 2. ● Identificador do veiculo (número inteiro). ● Posição que o veículo deve ocupar no instante determinado; em milímetros. Faz referência ao eixo vertical da imagem, ignorando a posição no eixo horizontal. Isso se deve ao fato dos veículos sempre circularem pelo centro da faixa direita da imagem. 8.2.1.2. Exemplo Exemplo de circulação de dois veículos. O primeiro parte da parte inferior da faixa com destino à parte superior. Na metade do trajeto, ele aumenta sua velocidade. Posteriormente, o segundo inicia a circulação da parte superior da imagem com destino à parte inferior. #1000ms depois do início, é criado o veículo 1 (modelo Car2) na posição 0. 1000,Car2,1,0 #4000ms depois, o veículo 1 deve estar na posição 12500. 4000,Car2,1,12500 #1000ms depois, o veículo 1 deve estar na posição 35000 (fora da imagem). 1000,Car2,1,35000 #0ms depois, é criado o veículo 2 (modelo Van1) na posição 35000 (fora da imagem). 0,Van1,2,35000 #2000ms depois, o veículo 2 deve estar na posição -10000 (fora da imagem). 2000,Van1,2,-10000 8.2.2. Evento de entrada digital O simulador permite controlar a situação das quatro entradas digitais de uma unidade BirdWatch ®. Essas entradas têm o Quercus Technologies 63 Manual de referência do BirdWatch® RL Software mesmo identificador das entradas de uma unidade BirdWatch® real (0,1,2,3) e as mesmas situações (0 inativa, 1 ativa). A situação de cada uma das entradas será sempre aquela definida na última instrução executada; por padrão, ela é inativa. 8.2.2.1. Estrutura da instrução ● Milésimos de segundos que o simulador deve aguardar desde a instrução anterior até sua execução. ● Tipo de evento. ○ Input: entrada digital. ● Identificador da entrada digital. Possíveis valores: 0,1,2 e 3. ● Situação da entrada digital. ○ 0: entrada inativa. ○ 1: entrada ativa 8.2.2.2. Exemplo Exemplo de ativação/desativação das entradas digitais de uma unidade. No início, são ativadas ao mesmo tempo as entradas 1 e 2. A primeira permanece ativa durante 5 segundos e a segunda só 3 segundos. Após 5 segundos (quando a entrada 1 for desativada), a entrada 0 é ativada durante 1 segundo. #0ms depois do início a entrada 1 é definida como ativa. 0,Input,1,1 #0ms depois do início a entrada 2 é definida como ativa. 0,Input,2,1 #3000ms depois do início a entrada 2 é desativada. 3000,Input,2,0 #2000ms depois, a entrada 1 é desativada. 2000,Input,1,0 #0ms depois, a entrada 0 é ativada. 0,Input,0,1 #1000ms depois, a entrada 0 é desativada. 1000,Input,0,0 8.2.3. Evento de estado das comunicações O simulador permite controlar a situação das comunicações entre a unidade BirdWatch ® e o sistema central (0 situação incorreta, 1 situação correta); por padrão, é correta. 8.2.3.1. Estrutura da instrução ● Milésimos de segundos que o simulador deve aguardar desde a instrução anterior até sua execução. ● Tipo de evento. ○ ● Status: situação das comunicações. Situação das comunicações. ○ 0: situação incorreta. ○ 1: situação correta. Quercus Technologies 64 Manual de referência do BirdWatch® RL Software 8.2.3.2. Exemplo Exemplo de ativação/desativação da situação das comunicações. No início, essa situação é correta; ela permanece assim por 2 segundos e depois passa a incorreta durante 3 segundos. Posteriormente, volta para correta durante 4 segundos. #0ms depois do início é definida a situação das comunicações como ‘correta’. 0,Status,1 #2000ms depois passa a ser ‘incorreta’. 2000,Status,0 #Permanece incorreta durante 3000ms. Depois volta a ser correta. 3000,Status,1 #Mantém-se correta durante 4000ms. 4000,Status,1 8.2.4. Evento de semáforo O simulador permite controlar o estado do semáforo da faixa. Este dispõe de quatro estados: “luz verde ativa”, “luz âmbar ativa”, “luz vermelha ativa” e “nenhuma luz ativa”. 8.2.4.1. Estrutura da instrução ● Milésimos de segundos que o simulador deve aguardar desde a instrução anterior até sua execução. ● Tipo de evento. ○ ● TrafficLight: mudança de situação do semáforo. Luz ativa do semáforo: ○ Green: o semáforo tem ativa somente a luz verde. ○ Amber: o semáforo tem ativa somente a luz âmbar. ○ Red: o semáforo tem ativa somente a luz vermelha. ○ None: o semáforo não tem ativa nenhuma luz. 8.2.4.2. Exemplo Exemplo de várias mudanças de situação do semáforo. No início a situação do semáforo é "vermelho"; 3 segundos depois passa a "verde" durante 4 segundos para voltar ao “vermelho”, primeiro passa pela luz âmbar durante 2 segundos. #0ms depois do início é definida a situação do semáforo em vermelho. 0,TrafficLight,Red #3000ms depois do semáforo passar para verde. 3000,TrafficLight,Green #4000ms depois do semáforo passar para âmbar ou amarelo. 4000,TrafficLight,Amber #2000ms depois do semáforo voltar para vermelho. 2000,TrafficLight,Red 8.3. Execução A colocação em funcionamento de uma simulação envolve um ou dois passos, dependendo da configuração escolhida. Quercus Technologies 65 Manual de referência do BirdWatch® RL Software Caso se deseje simular uma unidade com comunicação UDP, bastará pôr em funcionamento "AcessSimu"; caso se deseje simular uma unidade com comunicação serial, primeiro se deverá pôr em funcionamento o adaptador serial "VLComBridge". 8.3.1. Simulador Existem duas versões do simulador, uma com interface gráfica (VLSimuGui) e outra na linha de comandos (VLSimu). Ambas oferecem a mesma funcionalidade. O simulador será executado abrindo-se um console (tanto no Windows como em Linux) e colocando-se na pasta/Bin do diretório de instalação. A partir daí se chamará o simulador com o seguinte comando: ● VLSimu <tipoP> <FGlobales> <FDetectores> <FLog> <DPersistente> <FSimulación> ● VLSimuGui <tipoP> <FGlobales> <FDetectores> <FLog> <DPersistente> <FSimulación> Onde: ● VLSimu: executável do simulador. ● VLSimuGui: executável do simulador com interface gráfica. ● TipoP: tipo de produto que representa a unidade simulada: ○ BirdWatchRLPlus. ○ BirdWatchRL. ● FGlobales: caminho (absoluto ou relativo) para o arquivo que contém a configuração da unidade a simular. ● FDetectores: caminho (absoluto ou relativo) para o arquivo de configuração dos detectores e semáforos. ● FLog: caminho (absoluto ou relativo) para o arquivo onde se deixarão as informações que o VLSimu crie. ● DPersistente: diretório onde o simulador armazenará as incidências e os resumos gerados (simula o diretório Log/ da FTP da unidade). Se os diretórios abaixo não existirem, o simulador os criará: ● ○ Incidences: armazenagem de incidências. ○ Summaries: armazenagem de resumos. FSimulation: arquivo com o guia da simulação. 8.3.1.1. Interface gráfica O simulador com interface gráfica tem todas as funcionalidades do simulador no modo texto, mas permite saber a situação da simulação de uma forma muito mais visual. Além disso, tem algumas funcionalidades adicionais como, por exemplo, poder modificar a velocidade da simulação em tempo real, ou pausar totalmente a simulação. É composto por uma só janela na qual se podem ver os campos seguintes: ● Câmera ao vivo: representação gráfica da faixa virtual. Nela, podem ser vistos ao vivo todos os movimentos que ocorrem na faixa. ● Detectores: relação de todos os detectores instalados e tarefas ativadas em cada um deles. ● Unidade: ○ Comunicações: situação das comunicações (parâmetro configurado para Simulation.ini). Verde indica Quercus Technologies 66 Manual de referência do BirdWatch® RL Software correto, vermelho incorreto. ○ Eventos de E/S: indica se a unidade tem ativada a opção de enviar eventos quando houver alterações nas entradas ou saídas digitais. Essa opção é configurada através do arquivo Globals.ini, da biblioteca VL ou da ferramenta de diagnóstico. Verde indica ativada, vermelho desativada. ● ● Cartão E/S: ○ Saídas: mostra a situação das saídas digitais. Verde indica ativada, vermelho desativada. ○ Entradas: mostra a situação das entradas digitais. Verde indica ativada, vermelho desativada. Velocidade de simulação: permite controlar a velocidade da simulação, assim como pausar e recomeçar a simulação. Observar que, embora se possa variar a velocidade, isso não afeta as velocidades calculadas pela unidade, que continuam sendo as mesmas. ● Eventos: relação dos últimos eventos capturados pela unidade. 8.3.2. Adaptador serial O adaptador serial será executado abrindo-se um console (tanto no Windows como em Linux) e colocando-se na pasta/Bin do diretório de instalação. A partir daí se chamará com o seguinte comando: VLBridge <FicheroIni> <FicheroLog> ou ComBridgeGui <FicheroIni> <FicheroLog> Onde: ● VLComBridge: executável do adaptador. Desde Linux, dependendo de sua configuração, deverá executar-se como "./VLComBridge". ● ComBridgeGui: executável do adaptador com interface gráfica. Desde Linux, dependendo de sua configuração, deverá executar-se como "./ComBridgeGui". ● FicheroIni: caminho (absoluto ou relativo) para o arquivo que contém a configuração do adaptador. ● FicheroLog: caminho (absoluto ou relativo) para o arquivo onde se deixará as informações que crie VLComBridge. Quercus Technologies 67 Manual de referência do BirdWatch® RL Software 8.4. Exemplo de simulação Exemplo de simulação completa. Nela, circulam dois veículos (um caminhão e, posteriormente, um de passeio), enquanto ocorrem mudanças nas entradas digitais, situação do semáforo e das comunicações. 0ms 1000ms Caminhão1 2000ms 3000ms 4000ms 6000ms 7000ms circulando Passeio2 circulando Entrada0 ativa Entrada1 ativa E.Com. Semáf. 5000ms correto verde correto âmbar vermelho #início. semáforo em verde. 0,TrafficLight,Green #início, caminhão circulando desde a parte inferior da imagem. 0,Truck1,1,-10000 #tras 1000ms, entrada digital 0 activa. 1000,Input,0,1 #tras 1000ms, entrada digital 1 activa. 1000,Input,1,1 #ao mesmo tempo, o semáforo passa para amarelo. 0, TrafficLight,Amber #tras 1000ms, passeio2 circulando desde a parte inferior da imagem. Quercus Technologies 68 Manual de referência do BirdWatch® RL Software 1000,Car1,2,-10000 #ao mesmo tempo, situação das comunicações incorreta. 0,Status,0 #depois de 1000ms, fim de circulação do caminhão1 na parte superior da imagem. 1000,Truck1,1,45000 #ao mesmo tempo, entrada digital 0 desativa. 0,Input,0,0 #ao mesmo tempo, o semáforo passa a vermelho. 0,TrafficLight,Red #depois de 2000ms, entrada digital 1 desativada. 2000,Input,1,0 #ao mesmo tempo, situação das comunicações correta. 0,Status,1 #depois de 2000ms, fim de circulação do carro passeio2 na parte superior da imagem. 2000,Car1,2,35000 Quercus Technologies 69 Manual de referência do BirdWatch® RL Software 9. Ferramenta de pré-visualização (VLPreviewer) A ferramenta de pré-visualização VLPreviewer permite ao operador recriar de modo tridimensional o ambiente da instalação formado por um equipamento BirdWatch® e um conjunto de faixas. Mediante o uso dessa ferramenta, é possível determinar a posição ideal do equipamento BirdWatch ® onde, controlando toda a zona desejada, ocorra o mínimo de ocultações possível entre os veículos. 9.1. Execução A ferramenta é um aplicativo gráfico que deve ser executado sem argumentos, ou com um arquivo de cenário (.qdt) como único parâmetro para carregar diretamente um cenário. 9.2. Conceitos básicos 9.2.1. O cenário Um cenário é uma recriação virtual do ambiente de uma instalação BirdWatch®. Réguas métricas Pista Unidade Profundidade zero BirdWatch® Um cenário vazio é composto por: ● Pista: composta por uma ou várias faixas, de uma determinada largura. ● Réguas métricas: duas réguas métricas em ambos os lados da pista, com marcas curtas a cada metro e marcas compridas a cada cinco metros. ● Unidade BirdWatch®: situada em uma posição padronizada, que poderá ser modificada posteriormente. ● Régua amarela (coordenada 0): uma linha amarela que se estende pela largura da pista, que marca a coordenada zero na profundidade. ● Régua azul: linha horizontal ao longo da largura da pista, que marca a coordenada longitudinal na qual a unidade se encontra. Quercus Technologies 70 Manual de referência do BirdWatch® RL Software Podem ser adicionados elementos ao cenário, tais como: ● Detectores. ● Réguas horizontais de orientação. ● Veículos (passeio, furgões e/ou caminhões). 9.2.2. Modos O objetivo do aplicativo é recriar uma rua ou estrada real de forma que seja possível decidir a posição (altura, orientação, etc.) e configuração da unidade (tipo ou zoom da lente) sem a necessidade de fazer testes no local real, com a conseqüente economia de tempo e sem necessidade de interrupção da estrada ou rua, etc. Para isso, dispõe-se de dois modos de visualização: ● Vista plano: duas dimensões; vista baixa do cenário. Útil para desenhar, facilita a manipulação dos objetos inseridos. ● Vista unidade: três dimensões; visualização do cenário a partir do ponto de vista da unidade BirdWatch ®. Recriando a visualização a partir da unidade, é possível verificar se sua posição satisfaz as necessidades do projeto. Para verificar se a visão da unidade está correta, deve-se levar em conta se: ● As zonas objetivadas das faixas estão completamente visíveis. Quercus Technologies 71 Manual de referência do BirdWatch® RL ● Software Não existem ocultações que impeçam o funcionamento correto de cada um dos detectores. As ocultações são causadas pela projeção dos veículos na imagem (ver capítulo 3Passos prévios à instalação). Portanto, é necessário dispor de veículos no cenário para ter certeza de que isso não ocorre. Para isso, dispomos de dois modos de trabalho: ● Edição: o cenário não tem veículos. Útil para desenhar, um cenário limpo facilita a manipulação dos objetos inseridos. ● Simulação: aparecem veículos em cada uma das faixas do cenário. Veículos (passeio, furgões e/ou caminhões). Mediante um painel, pode ser modificado o número e tipo de veículos exibidos, a separação entre eles, seu sentido de circulação e sua posição em cada uma das faixas. A distribuição dos veículos foi projetada para que seja possível reproduzir todas as possíveis combinações em cada faixa (carro passeio diante de carro passeio, carro passeio na frente de caminhão, etc.). 9.3. Distribuição O aplicativo está dividido em cinco zonas: ● Barra de botões. Quercus Technologies 72 Manual de referência do BirdWatch® RL Software ● Controle da câmera BirdWatch®. ● Visualização do cenário. ● Edição/simulação do cenário. ● Barra de status Barra de botões Controle da câmara BirdWatch® Visualização do cenário Edição/Simulação do cenário Barra de status 9.3.1. Barra de botões A barra de botões ocupa a parte superior da aplicação. Os botões estão agrupados de acordo com sua funcionalidade. Alguns botões são aplicáveis somente em determinadas circunstâncias. Os grupos de botões disponíveis são: 1 2 3 4 5 6 7 8 9 10 11 12 9.3.1.1. Botões principais Efetuam as ações mais básicas da aplicação: 1. Sair: sair da aplicação. 2. Criar cenário: cria um novo cenário. Se houver outro cenário aberto, ele é encerrado, após confirmação. Para criar um cenário é imprescindível que seja informado, através do painel que aparece na tela, o número de faixas que o cenário terá e a largura de cada uma delas. 3. Carregar o cenário: carrega o cenário que foi salvo anteriormente em um arquivo QDT. Esses arquivos são Quercus Technologies 73 Manual de referência do BirdWatch® RL Software criados pelo próprio aplicativo através da função “Salvar cenário” (ver o botão seguinte). Se houver outro cenário aberto, ele é encerrado, após confirmação. Essa opção serve para carregar cenários criados anteriormente, assim como os exemplos que são fornecidos com o software BirdWatch®. Ver o 9.4Exemplos de cenários ideais do presente capítulo. 4. Salvar cenário: salva o cenário atual em um arquivo QDT, de tal forma que possa ser recuperado em outra ocasião através da função “Carregar cenário”. 9.3.1.2. Botões de gestão de resultados do cenário Realizam as ações de gestão de resultados do cenário com o qual se está trabalhando. 5. Redigir relatório: salva um relatório do cenário em um arquivo de texto (TXT). Esse relatório contém a posição de cada um dos elementos que compõem o cenário, assim como da câmera. Com esse relatório, o operador dispõe de uma descrição detalhada do cenário que foi recriado no aplicativo, facilitando, assim, sua posterior instalação. 6. Salvar foto: salva uma foto do cenário no formato JPEG ou BMP. 9.3.1.3. Botões de controle do cenário Realizam ações de controle sobre o cenário com o que se está trabalhando. 7. Vista do plano/unidade: altera o modo de visualização do cenário, de forma alternada. 8. Modo edição/simulação: altera o modo de trabalho do cenário, de forma alternada. 9. Reposicionar câmera BirdWatch®: desloca a unidade BirdWatch® para sua posição inicial (posição padrão). 9.3.1.4. Botões de ajuda 10. Manual SmartLoop® TS: exibe o manual relativo ao produto SmartLoop® Traffic Sensor. 11. Manual BirdWatch® RL: exibe o manual relativo ao produto BirdWatch® Red Light. 12. Acerca de: mostra informação acerca de Quercus Technologies. Quercus Technologies 74 Manual de referência do BirdWatch® RL Software 9.3.2. Controle da câmara BirdWatch® Esse painel controla a unidade BirdWatch®. ● Tipo de lente: unicamente disponível com o modo “Vista unidade”, define a lente a ser usada pela unidade. Para modificar ou acrescentar novas lentes, editar o arquivo lenses.dat da pasta <diretório de instalação>/Data/VLPreviewer. Se selecionar uma lente varifocal aparecerá no mesmo painel uma barra de rolagem para modificar o zoom (distância focal) da lente. ● Zoom: unicamente disponível com o modo “Vista plano”, é composto por uma barra de deslocamento que define a parte do cenário que será visualizada. Pode ser deslocada para visualizar um comprimento menor (esquerda) ou maior (direita) do cenário. Observar que o rastreio do cenário visualizado no modo “Vista plano” sempre será composto pela área situada adiante da unidade BirdWatch®, motivo pelo qual a unidade estará sempre na parte inferior da imagem. ● Posição: posição da unidade no cenário; em metros. É composta por 3 coordenadas: horizontal (distância desde a lateral esquerda da pista), vertical (altura em relação ao solo) e profundidade (longitudinal na pista). ● Centro da imagem: posição na pista enfocada pela unidade; em metros. Quando o modo “Visualização unidade” estiver ativado, o centro da imagem resultante coincidirá com essa posição. É composta por 2 coordenadas: horizontal (distância desde a lateral esquerda da pista) e profundidade (longitudinal na pista). Quando o cenário for visualizado, sua posição será representada com um quadrado vermelho sobre a pista. 9.3.3. Visualização do cenário Esse painel exibe o cenário configurado. Mediante esse painel é possível medir distâncias em pixels. Para isso clique em um ponto de início na imagem para logo clicar em um ponto de destino. Aparecerá uma janela com as medidas em pixels da linha descrita, tanto na imagem de 5 megapixels como na de 0,3 megapixels. Quercus Technologies 75 Manual de referência do BirdWatch® RL Software Para medir uma nova distância simplesmente volte a clicar sobre a imagem no ponto desejado. Utilize o botão “Limpar” para apagar a última linha na imagem. Observe que somente será possível medir distâncias a partir do modo visualização “Visão da Unidade”X. Essa opção é útil para verificar a resolução em pixels da placa em cada uma das posições de uma via, e verificar assim se a instalação cumpre com os requisitos mínimos de resolução, a partir disso nas fotografias de 5 megapixels das incidências as placas podem ser lidas corretamente. 9.3.4. Edição/Simulação do cenário Esse painel permite definir e controlar todos os elementos que compõem o cenário. O painel mudará conforme o modo de trabalho. Utilize o botão “Modo edição/simulação” da barra de ferramentas para mudar de um modo a outro. 9.3.4.1. Edição do cenário Permite inserir, editar e eliminar réguas, detectores e semáforos do cenário. ● Régua: uma régua é uma linha vermelha que passa ao longo de toda a largura da faixa. Elas são úteis para marcar pontos de referência no cenário (passagem de pedestres, linha de detenção, etc.). ● ● Lista de réguas: lista das réguas existentes. Cada régua é identificada por sua posição. ● Novo: cria uma nova régua. ● Eliminar: elimina a régua selecionada. ● Posição: posição longitudinal na pista da régua; em metros. Detector: detector pintado em uma faixa do cenário. Podendo ser definidos quanto à sua posição e comprimento, são úteis para verificar, posteriormente, se são inteiramente visíveis para a unidade BirdWatch® e se não ocorrem ocultações indesejadas em sua área. ● Lista de detectores: lista dos detectores existentes. Cada detector é identificado por um número único, Quercus Technologies 76 Manual de referência do BirdWatch® RL Software definido automaticamente ao criar o detector. ● ● Novo: cria um novo detector. ● Eliminar: elimina o detector selecionado. ● Faixa: faixa onde o detector está instalado. ● Posição: posição longitudinal na pista do início do detector; em metros. ● Comprimento: comprimento do detector; em metros. Semáforo: semáforo (sem coluna) no cenário. Podendo ser definidos quanto à sua posição (largura, altura e profundidade), são úteis para verificar, posteriormente, se são inteiramente visíveis pela unidade BirdWatch®. ● Lista de semáforos: lista dos semáforos existentes. Cada semáforo é identificado por um número único, definido automaticamente na criação do semáforo. ● Novo: cria um novo semáforo. ● Eliminar: elimina o semáforo selecionado. ● Faixa: faixa onde o semáforo está instalado. ● Largura: posição do semáforo na largura da pista; em metros. ● Altura: altura em que o semáforo está posicionado; em metros. ● Profundidade: posição do semáforo na profundidade da pista; em metros. 9.3.4.2. Simulação do cenário Permite configurar os tipos de veículos presentes em cada faixa, a separação entre eles, assim como controlar sua posição e o sentido de circulação: ● ● Configuração: ● Distância: espaço entre os veículos; em metros. ● Veículos de passeio: ativa/desativa a presença de veículos de passeio nas filas. ● Furgões: ativa/desativa a presença de furgões nas filas. ● Caminhões: ativa/desativa a presença de caminhões nas filas. Movimento: ● Adiante duplo: move os veículos 5 metros para frente. ● Adiante: move os veículos ½ metro para frente. ● Atrás: move os veículos ½ metro para trás. ● Atrás duplo: move os veículos 5 metros para trás. Quercus Technologies 77 Manual de referência do BirdWatch® RL ● Inverter sentido: inverte o sentido de circulação de todos os veículos da faixa. ● Número de veículos: incrementa/diminui o número de veículos na faixa. Software 9.3.5. Barra de estado A barra de situação informa em todos os momentos sobre: ● Número de faixas configuradas e sua largura. ● Modo de visualização. ● Modo de trabalho. 9.4. Exemplos de cenários ideais O software fornecido com cada equipamento BirdWatch® oferece exemplos de instalações: ● RedLightScene.qdt: cénario com um detector de avançar no vermelho. Esses exemplos estão situados no diretório de instalação do software BirdWatch®: “Samples/VLPreviewer”. Para visualizar cada um deles utilize a função Baixar mediante o botão correspondente na barra de ferramentas da aplicação, ou executar a aplicação com qualquer um deles como único argumento. Quercus Technologies 78 Manual de referência do BirdWatch® RL Hardware Hardware Nesta seção são descritos os passos necessários para a instalação de uma unidade BirdWatch ®, desde o momento de desembalá-la até seu pleno funcionamento, que inclui desde a instalação física da unidade até sua configuração correta (incluindo a focalização da câmera). Não se descrevem nesta seção os processos alheios à própria unidade como, por exemplo, a instalação ou configuração do software cliente da unidade (para isso veja a seção "Software"). Quercus Technologies 79 Manual de referência do BirdWatch® RL Hardware 10. Descrição física do equipamento O equipamento é formado por um gabinete, que abriga em seu interior o sistema de captura e processamento das imagens. Os elementos que compõem a unidade são os seguintes. 10.1. Componentes Externamente 1. Carcaça removível. 2. Parafusos da carcaça. 3. Viseira. 4. Janela de visualização. 5. Base da unidade. 4 3 1 5 2 Internamente 1. Objetiva da câmera (lente). 2. Foco. 3. Aquecedor (em alguns modelos). 4. Controle de temperatura (em alguns modelos). 5. Junta de vedação. 6. Régua de alimentação. 7. Furos de entrada de cabos. 8. Câmera inteligente. 6 8 7 2 1 4 3 10.2. Pinouts 5 10.2.1. Rede Ethernet Conector J10 Pino Quercus Technologies Significado 80 Manual de referência do BirdWatch® RL Hardware RX- RX- (pin 6 RJ-45) RX+ RX+ (pin 3 RJ-45) TX- TX- (pin 2 RJ-45) TX+ TX+ (pin 1 RJ-45) Pino RS232_RX Significado RX de RS-232 RS232_TX TX de RS-232 GND Massa de RS-232 RS485_TXA TXA de RS-485 RS485_TXB TXB de RS-485 RS485_RXB RXB de RS-485 RS485_RXA RXA de RS-485 GND_OPTO Massa optoacoplada de RS-485 Pino IN1 (J8) Significado Entrada 1 IN2 (J8) Entrada 2 IN3 (J8) Entrada 3 IN4 (J8) Entrada 4 GND (J8) Massa das entradas OUT1 (J7) Saída 1 OUT2 (J7) Saída 2 OUT3 (J7) Saída 3 OUT4 (J7) Saída 4 +5VDC (J7) Alimentação para as saídas +5VDC (J7) Alimentação para as saídas 10.2.2. Conexões seriais Conector J9 10.2.3. E/S Conectores J8 e J7 10.3. Características das comunicações seriais. As comunicações seriais têm as características seguintes: ● 1 bit de Stop. ● Sem paridade. Quercus Technologies 81 Manual de referência do BirdWatch® RL ● Hardware Sem controle de fluxo. 10.4. Características do sistema de E/S 10.4.1. Entradas As entradas (conector J8) são de contato "seco", e têm dois estados possíveis: circuito aberto, e curto-circuito a terra. No seguinte esquema mostra-se um exemplo de como conectar uma entrada fazendo uso de um relé standard. As entradas que não vão ser usadas podem-se deixar sem conectar. Entradas Relê NA Terra NC Entrada n Comum Sinal Externo 10.4.2. Saídas As saídas (conector J7) proporcionam um circuito aberto ou então um curto-circuito a terra. Cada uma das saídas pode proporcionar uma corrente de até 200mA. Para administrar cargas de energia através dessas saídas, é necessário introduzir um relê externo conectado como abaixo: Saídas Relê +12VDC +12VDC Saída n NA NC Comum Em nenhum caso deve-se alimentar o lado de sinal dos relés a partir de outra tensão que não seja a que se proporciona na régua de terminais de saída, dado que se poderiam provocar danos ao circuito. Quercus Technologies 82 Manual de referência do BirdWatch® RL Hardware 10.5. Controle de temperatura A gama de funcionamento de uma unidade BirdWatch ® é de 0 a 70 ºC (internos). Existe um modelo que incorpora um módulo de controle da temperatura para proteger o equipamento em caso de temperaturas extremas e permite o aumento da gama de temperaturas nas quais pode funcionar. Tal módulo exerce uma tripla função: ● Desconecta o equipamento em caso de sobreaquecimento (70±3ºC internos) e volta a conectá-lo quando sua temperatura desce (55±4ºC). ● Desconecta o equipamento caso o interior da unidade chegue a temperaturas de frio extremo (-5±3ºC) e volta a conectá-lo quando a temperatura interior sobe (5±4ºC). ● Mantém a temperatura da unidade. Um aquecedor se ativa quando a temperatura interior desce (10±4ºC) e pára quando chega a uma temperatura confortável de funcionamento 20±3ºC. Quercus Technologies 83 Manual de referência do BirdWatch® RL Hardware 11. Firmware Damos o nome de “firmware” ao software executado internamente na própria unidade. Por padrão, cada unidade está configurada com seu endereço IP 192.168.1.2xy, onde “xy” representam os dois últimos caracteres do número de série da unidade. Por exemplo, uma unidade com número de série 08220100718001 terá como endereço de IP 192.168.1.201. O número de série da unidade encontra-se numa etiqueta no interior da mesma. BirdWatch® RedLight Ref. Number: 07000100 Input voltage: 22-26Vdc Power: 21W Serial number: 08220100718001 Para acessar o sistema de configuração bastará escolher a faixa correspondente na ferramenta de diagnóstico e selecionar a pestana "Configuração" (pode-se acessar, também, conectando um navegador da Internet à página http://<ip da unidade>). Uma vez conectado à unidade, aparecerá uma janela na qual se solicitará uma senha. A senha por predefinição é "quercus2", adiante poderá ser alterada se for necessário desde as opções da configuração. Uma vez pressionado o botão "Validação", se acessará o sistema de configuração do equipamento cuja janela está dividida em duas partes: à esquerda, o menu no qual se poderá escolher as diversas opções da configuração; à direita, a tela específica da opção que se tenha escolhido. As opções estão divididas nas seguinte secções: Quercus Technologies 84 Manual de referência do BirdWatch® RL ● Hardware Configuração principal do sistema: permite configurar, através de variáveis, parâmetros do dispositivo BirdWatch® (tempos de exposição, entradas e saídas, características da via, etc.) ou parâmetros gerais do sistema (endereço IP, grade horária, etc.). Está dividido em seções, cada uma delas contém um tipo específico de variáveis. ● Configuração dos detectores: permite adicionar, eliminar ou modificar os detectores com os quais a unidade trabalhará. ● Importar configuração de FTP: permite importar a configuração de um arquivo gerado externamente. ● Exportar configuração a FTP: permite exportar a configuração a um arquivo externo. ● Alterar password de configuração: permite o estabelecimento de uma nova senha para poder acessar o sistema de configuração. ● Aplicar alterações e reiniciar: aplicar as mudanças feitas na seção “Configuração principal do sistema” (ou depois de importar a configuração) e na seção “Configuração dos detectores” e reiniciar a unidade. ● Descartar alterações: descarta as mudanças feitas nas seções “Configuração principal do sistema” e “Configuração dos detectores”. ● Informação do sistema: mostra informação do sistema (número de série, versão do firmware, etc.) ● Registro BirdWatch® RL: mostra o relatório que gera a unidade durante sua execução. ● Registro do sistema de configuração: mostra o relatório que o sistema de configuração da unidade gera. ● Registro do adaptador serial: mostra o relatório que gera o sistema interno de comunicação serial. Somente existirá o arquivo se tiverem sido estabelecidas comunicações seriais para a unidade. ● Registro do disco de dados: exibe o relatório gerado após a verificação do disco de dados, onde são armazenadas as incidências. Essa verificação é feita ao colocar o equipamento em funcionamento. ● Ver incidências no disco: exibe um relatório das incidências armazenadas na unidade. ● Exportar relatório de estado a FTP: gera um relatório do estado da unidade que servirá ao serviço de assistência técnica da Quercus disco de dadosTechnologies para detectar possíveis erros na unidade. ● Informação de contato: mostra as informações necessárias para poder contatar a equipe de apoio técnico da Quercus Technologies. ● Ajustar data e hora: permite o estabelecimento da data e hora atuais. ● Sincronizar hora com o servidor: sincroniza a hora da unidade com a de um servidor previamente configurado. ● Atualizar firmware: permite atualizar o firmware da unidade. ● Restabelecer firmware original: permite retornar o firmware da unidade à versão com que saiu de fábrica. ● Formatar o disco de dados: permite formatar o disco de dados, onde são armazenadas as incidências. Quercus Technologies 85 Manual de referência do BirdWatch® RL Hardware 11.1. Configuração principal do sistema A configuração geral do sistema se efetua editando uma série de variáveis que estabelecem seu comportamento. Se desejar recuperar o valor predefinido da variável deixe sua caixinha vazia. As mudanças não serão aplicadas se não for selecionada a opção "Aplicar mudanças e reiniciar". Para obter uma descrição do significado de uma variável deixe o cursor do mouse durante uns instantes sobre o nome desta e aparecerá uma pequena janela de pop-up com as informações da variável. Quanto terminar de editar uma seção de variáveis, não se esqueça de clicar no botão “Salvar mudanças”. 11.1.1. Communications ● CentralSystemHost: endereço de IP do sistema central. ● CentralSystemPort: porta pela qual o sistema central recebe as mensagens das unidades. ● ConfigurationServerPort: porta pela qual o sistema de configuração recebe as mensagens de configuração. ● DateProtocol: protocolo a usar na sincronização da data e hora. Seus possíveis valores são “TIME" e “NTP”. Caso se indique "TIME", se usará o protocolo especificado no documento "ARPA Internet RFC 868"; caso se indique "NTP", se usará o protocolo "Network Time Protocol". ● DateServer: servidor de data e hora com o qual se sincronizará a unidade. ● Gateway: porta de ligação para a saída para Internet. Deverá ser usada no caso do sistema central estar fora da rede local onde a unidade se encontra; em caso contrário, pode-se deixar indicando “127.0.0.1”. ● HostName: nome da máquina, caso se queira dar-lhe um nome diferente a cada unidade. ● InternalDateServer: 1 para ativar o servidor NTP de data e hora interno, 0 para o desativar. Com o servidor interno ativo a unidade se transforma um servidor de data e hora NPT a outras unidades. Essa opção é útil quando a ferramenta Integration é ativada. Ver 17Ferramenta Integration. Quercus Technologies 86 Manual de referência do BirdWatch® RL Hardware Observe que para sincronizar uma unidade com o o servidor interno ativo com outro servidor externo, deve indicar o endereço do segundo em DateServer e deve usar o protocolo NTP (DateProtocol). ● Host: endereço de IP da unidade. Esse valor deverá ser alterado sempre que houver mais de uma unidade com o mesmo IP na rede, pois, do contrário, elas colidirão. ● ListeningPort: porto pelo que a unidade esperará mensagens. ● MaxPacketSize: tamanho máximo permitido dos pacotes de dados usados pelo protocolo nas transmissões UDP. ● NameServer1(2,3,4): servidores de DNS. Serão usados no caso dos endereços terem sido especificados como nomes no lugar de IPs (por exemplo, “example1.quercus.biz”). Se não desejar usar nomes na configuração da unidade pode deixar estes campos apontando a "127.0.0.1". ● NetMask: máscara de rede da unidade. ● Password: senha de criptografia de protocolo. Ver o capítulo 16.2 Encriptação de protocolo para mais informações. ● Protocol: protocolo de comunicação a usar. Possíveis valores: UDP e Serial. ● Retries: número máximo de tentativas que a unidade realizará para enviar uma mensagem. ● Timeout: tempo em milissegundos durante os quais se esperará a resposta a uma mensagem antes de considerála não respondida. 11.1.2. Engine ● CameraHeight: altura em que a unidade está instalada em relação à via; em milímetros. Observe que somente é necessário definir esse campo se ativar o cálculo de velocidades (algum detector de avanço em vermelho com o campo CalculateMetrics ativo). ● LoopSensitivity: permite definir a sensibilidade dos laços. Possíveis valores (High, Medium, Low). Uma sensibilidade alta (High) facilita a ativação do laço, mas aumenta as probabilidades de que haja erro (sombras, ruído, etc.); ao contrário, uma sensibilidade baixa (Low), dificulta a ativação, mas diminui as probabilidades de que surjam erros. ● MaximumCameraExposure: exposição máxima com a qual a unidade trabalhará; em microssegundos. ● OptimumCameraExposure: exposição com a qual a unidade tentará trabalhar sempre que possível; em microssegundos. É útil para ajustar a exposição ideal nas capturas das incidências. Esse valor deverá ser sempre menor ou igual ao da MaximumCameraExposure. ● Reserved 2,3,4,5,6: valores reservados. Não devem ser modificados, salvo indicação expressa do departamento de Suporte da Quercus Technologies. ● WayType: tipo de via. Possíveis valores: Slow ou Fast Uma via rápida (Fast) registra um trânsito fluido durante a maior parte do tempo (exemplo: rodovia); ao contrário, uma via lenta (Slow) registra um trânsito lento ou com retenções assíduas (exemplo: avenida com semáforo). 11.1.3. Global ● CompressionQuality: compressão que se usará para comprimir as imagens em formato JPEG e os vídeos em Quercus Technologies 87 Manual de referência do BirdWatch® RL Hardware formato AVI (de 10 a 90). Quanto maior seja o número, melhor qualidade terá a imagem/vídeo por conta de um tamanho maior. ● DefaultLanguage: número que indica o idioma do sistema de configuração. Os idiomas suportados são 1 para inglês, 2 para espanhol. ● Description1(2,3,4): descrições da unidade. Possíveis valores: qualquer seqüência de caracteres. Só é útil se forem ativados os campos “Description 1,2,3,4” do OSD. ● DiskIncidenceSize: espaço em MB reservado para armazenar as incidências na unidade. Observar que, em caso de ativar a ferramenta Integration, a soma de DiskIncidenceSize e o espacio reservado para cada Set (ver 11.1.4.3SetX) não deve ser superior à capacidade de armazenamento da unidade. ● GenerateVideos: indica se deve habilitar a geração de vídeo na unidade. Apesar de que cada detector é necessário indicar-lo individualmente, essa variável permite ter um controle geral sobre a geração de vídeos na unidade. Desse modo, um detector só gerará vídeo se a variável (Global/GenerateVideos) tiver o valor 1 atribuído. ● IncidencePeriodEnd: Fim do período ao qual a geração de incidentes ficará ativa (hh:mm). Vazio para ficar ativo por todo o dia. ● IncidencePeriodIni: início do período ao qual a geração de incidentes ficará ativa (hh:mm). Vazio para que fique ativo durante todo o dia. ● LogFilter: cadeia de texto que se estabelecerá como filtro das mensagens que se querem ver no arquivo de registro. Este filtro permite usar "*" como padrão para indicar qualquer cadeia de texto. Por exemplo, se for definido o filtro *Historic*, somente aparecerão as mensagens em que haja a seqüência de caracteres Historic. Por predefinição o filtro está em "*", ou seja, mostram-se todas as mensagens. ● LogLevel: nível de informação que se mostrará no registro. Possíveis valores: ● 1. Message; serão exibidas todas as mensagens. ● 2. Warning; só serão exibidas as mensagens de aviso ou de erro. ● 3. Error: só serão exibidas as mensagens de erro. ● SystemId: identificador da unidade. Cada unidade de um sistema BirdWatch ® deve ter um identificador único. ● TimeZone: zona horária na que se encontra a unidade. Usa-se para que a sincronização de data e hora tenha em conta os deslocamentos horários. Os possíveis valores podem-se ver no capítulo Apêndice E: valores de [Global] TimeZone. ● WatchDog: ativação do watchdog hardware. Se estiver ativo, reiniciará a unidade caso ocorra algum erro inesperado. Os possíveis valores são “0” (inativo), “1” (ativo). 11.1.4. Integration Ver o capítulo 17Ferramenta Integration para mais informações sobre a ferramenta Integration. 11.1.4.1. Global ● Active: indica se deve executar (1) ou não (0) a ferramenta “Integration” na unidade. Quercus Technologies 88 Manual de referência do BirdWatch® RL ● Hardware Sets: número de Sets configurados (de 1 à 4). 11.1.4.2. Network: ● FtpTimeout: tempo durante o qual o servidor FTP esperará a resposta a uma mensagem antes de considerá-la não respondida, em milésimos de segundos. ● LprListeningPort: porta pela qual o sistema central recebe as mensagens das unidades SmartLPR ®. ● LprListeningPort: porta pela qual a ferramenta Integration recebe as mensagens das unidades BirdWatch ® RL. 11.1.4.3. SetX Descrição do Set. O valor X indica o número de Set definido (de 1 a 4). ● Description: descrição da unidade. Possíveis valores: qualquer sequência de caracteres. A descrição será refletida no arquivo XML de cada um dos eventos gerados no Set. ● Id: identificador do Set. Este valor deve ser único para cada Set. ● MaxDiskSize: espaço em MB reservado para armazenar toda a informação recolhida dos eventos do Set. A soma de MaxDiskSize de cada um dos Set ativos e de Global/DiskIncidenceSize e Global/DiskSummarySize não deve ultrapassar a capacidade do disco. 11.1.4.3.1. LPR Unidade SmartLPR® configurada no Set. ● Id: identificador da unidade SmartLPR® Vazio para não configurar nenhuma unidade SmartLPR®. ● Host: IP da unidade SmartLPR® ● Port: porta pela qual a unidade SmartLPR® recebe as mensagens. ● Reserved1: valor reservado. 11.1.4.3.2. RL Detector de avanço em vermelho (unidade BirdWatch® RL) configurado no Set. ● Detector: identificador do detector na unidade BirdWatch® RL. ● Id: identificador da unidade BirdWatch® RL. Vazio para não configurar um detector de avanço em vermelho. ● Host: IP da unidade BirdWatch® RL. ● Port: porta pela qual a unidade BirdWatch® RL recebe as mensagens. 11.1.5. IO ● DefaultValues: status padrão das saídas digitais ao iniciar a unidade. Possíveis valores: Active o Inactive. Levar em consideração o comportamento das saídas digitais, indicado na variável IO/OutputType. ● InputFilterTime: tempo em milésimos de segundos de filtro de reiniciar no cartão E/S. ● OutputType: comportamento das saídas digitais; possíveis valores: Normal (ver 10.4Características do sistema de E/S ) o Inverse (lógica inversa). ● UsedInputs: lista separada por vírgulas das entradas que devem notificar sua alteração de estado ao sistema Quercus Technologies 89 Manual de referência do BirdWatch® RL Hardware central. Os valores podem ser 0, 1, 2 e 3. 11.1.6. OSD São parâmetros que permitem configurar quais informações deverão aparecer impressas como texto dentro das próprias imagens das incidências. ● Active: indica se o sistema de sobreinscrição deve estar ativo ou não: 0 o desativa, 1 o ativa. ● Position: posição da imagem onde se deve mostrar o texto. Os possíveis valores são: ● LeftTop: o texto se mostra na parte superior esquerda, justificado à esquerda. ● RightTop: o texto se mostra na parte superior direita, justificado à direita. ● LeftBottom: o texto se mostra na parte inferior LeftTop: RightTop : esquerda, justificado à esquerda. ● RightBottom: o texto se mostra na parte inferior Imagem direita, justificado à direita. Cada campo que pode sobrescrever-se na imagem está definido LeftBottom: RightBottom: por duas variáveis: ● LabelXXX: indica o texto que se deve mostrar antes do valor da variável XXX. Por exemplo, se em LabelUnitId configuramos o texto “Unidade” e o identificador da unidade (SystemId) for 3, será impresso na imagem “Unidade 3". ● OrderXXX: indica a ordem em que o campo XXX aparecerá em relação aos demais; a ordem é descendente e se o valor for -1, ele não será exibido. Por exemplo, se OrderUnitId for 3, OrderTimeStamp for 2 e OrderNumImage for 1, primeiro será exibido o campo NumImage, depois TimeStamp e, por último, UnitId. Os campos disponíveis são os seguintes: ● AmberLightTime: Tempo com o sinal âmbar ativo antes da ativação do sinal vermelho de proibição de avanço que gerou a incidência de avanço em vermelho. ● DelayTime: Tempo mínimo configurado com o sinal de proibição de avanço ativo para que possa gerar uma incidência de avanço em vermelho. Configurado pelo usuário. ● DetectorId: identificador do detector. ● ElapsedTime: tempo transcorrido desde a ativação da sinal de proibição de avanço até a geração da incidência (captura da primeira fotografia). ● ImageIndex: número da imagem dentro da coleção de imagens da incidência. ● IncidenceId: identificador da incidência. ● IncidenceType: tipo de incidência. ● MaxStopTime: tempo máximo de parada configurado no detector; em milésimos de segundos. ● Speed: velocidade aproximada do veículo que gerou a incidência de avanço em vermelho; em km/h. ● TotalStoppedTime: tempo total da parada (desde da detecção do veículo, ainda com o sinal de proibição de Quercus Technologies 90 Manual de referência do BirdWatch® RL Hardware avanço desativado, até o reinício da movimentação ou a desativação do sinal de proibição de avanço) da incidência de veículo parado sobre a faixa; em ms. ● Timestamp: data e hora da geração da incidência; no formato “ano-mês-dia hora:minuto:segundo.microssegundo”. ● UnitDescription1(2,3,4): descrições 1,2,3 e 4 da unidade. ● UnitId: identificador da unidade de onde a imagem provém. 11.1.7. Serial ● Baudrate: velocidade de transmissão da porta serial (basta configurá-la caso se tenha escolhido comunicações seriais). Possíveis valores: 57600, 19200, 9600, 4800, 2400, 1200, 600 e 300. ● PortType: tipo de porta serial que será usada para as comunicações. Possíveis valores: RS-232 e RS-485. Observar que somente será útil se foi indicada a opção “Serial” no campo “Communications/Protocol”. 11.2. Configuração dos detectores A configuração dos detectores permite adicionar, eliminar ou modificar os detectores com os quais a unidade trabalhará. 11.2.1. Tela inicial Na parte superior do menu são exibidos os detectores e os semáforos definidos até o momento, sobre a última imagem capturada pelo usuário. Dentro de cada detector se especifica seu identificador e sentido. As luzes de cada semáforo estão coloridas segundo a cor indicada e acompanhadas do identificador do semáforo ao qual pertencem. Se quiser atualizar a imagem capturada, indicar na caixa de seleção “Tempo de exposição”, à direita da imagem, o tempo de exposição desejado (em microssegundos) e clicar em “Obter imagem”. Quercus Technologies 91 Manual de referência do BirdWatch® RL Hardware Na parte inferior é exibida uma lista dos tipos de detectores ou semáforos disponíveis para serem configurados, além de uma tabela com os detectores já configurados, informando seu identificador e tipo e, em caso dos detectores, o semáforo/entrada digital com o qual estão relacionados. Para configurar um detector ou um semáforo: ● Criar: clique em um dos tipos de detectores disponíveis para entrar no menu de edição de um novo detector ou semáforo. ● Eliminar detector: na tabela de detectores, clique em “Eliminar” sobre o detector que desejar eliminar. ● Editar detector: na tabela de detectores, clique em “Editar" sobre o detector ou semáforo que desejar editar para entrar no menu de edição. 11.2.2. Tela de edição de detector 11.2.2.1. Conceitos pré-existentes Antes de configurar um detector é imprescindível entender a definição gráfica de detector e as convenções estabelecidas a seu respeito: ● Um detector deve ser sempre um polígono quadrilátero (quatro lados) convexo (todos os seus ângulos Quercus Technologies 92 Manual de referência do BirdWatch® RL Hardware interiores são inferiores a 180º) ● Os vértices devem estar ordenados no sentido das agulhas do relógio. ● A reta formada pelos dois primeiros vértices (P1 e P2) marca a linha por onde os veículos abandonam o detector; o sistema utiliza essa informação para estabelecer o sentido do detector. ● O tamanho máximo de um detector na imagem está limitado somente pelos limites da própria imagem. 11.2.2.2. Edição Nesse subcapítulo, detalhamos todas as opções disponíveis de um menu de edição de um detector. Dependendo do tipo de detector, algumas opções não estarão disponíveis. Por exemplo, no menu de edição de um detector de avanço em vermelho não aparecerá a opção “MaxStopTime”, porque esse tipo de detector não precisa de essa variável. Para informações detalhadas sobre os serviços oferecidos por cada tipo de detector, ver o capítulo 2Tipos de detectores. Quercus Technologies 93 Manual de referência do BirdWatch® RL Hardware O menu de edição de um detector é dividido em duas partes: ● Imagem: é exibida a última imagem capturada pela unidade e, se a posição do detector já tiver sido definida, ele aparecerá sobre a imagem. ○ Novo detector: se a posição do detector ainda não foi definida, clicar sobre a imagem para indicar, um a um, os quatro vértices. ○ Editar detector: se a posição do detector já tiver sido definida, ele aparecerá sobre a imagem. Arrastar qualquer um dos quatro vértices para modificar sua posição. Uma vez definido o detector aparecerão suas coordenadas ao lado da imagem. O formato contínuo “x,y”, sendo 'x' o eixo horizontal (0..639) e 'y' o eixo vertical (0..479). Quercus Technologies 94 Manual de referência do BirdWatch® RL Hardware Se quiser atualizar a imagem capturada, indicar na caixa de seleção “Tempo de exposição”, à direita da imagem, o tempo de exposição desejado (em microssegundos) e clicar em “Obter imagem”. ● Dados: ○ Id: identificador do detector; esse valor deverá ser único para cada detector. ○ Incidências: ■ Gerar: indica se as incidências devem ser geradas. ■ Enviar: indica se as incidências geradas devem ser enviadas ao equipamento central. ■ Tempo de espera: tempo mínimo que deve transcorrer desde a ativação do sinal de proibição de avançar até a infração da incidência para que esta seja válida; em milésimos de segundos. ■ Tempo máximo da parada: Tempo máximo da parada permitido no detector desde a ativação do sinal de proibição de avanço. Qualquer veículo que o ative gerará uma incidência de veículo parado. ○ Métrica: ■ Gerar: indica se deve ser aplicada a métrica a cada um dos veículos detectados. Entende-se como ‘métrica’ o cálculo da velocidade nos veículos que gerem uma incidência de avanço em vermelho. Se estiver ativado, é imprescindível indicar, com a máxima precisão possível, a distância e o comprimento do detector (duas variáveis seguintes) e a altura em que a unidade está instalada (ver a variável CameraHeight, do capítulo 11.1.3Global). ■ Distância: distância entre a horizontal da unidade e o detector, em milímetros. Unidade BirdWatch® ■ ○ Comprimento detector: comprimento do detector; em milímetros. Detenção de semáforo: ■ Usar entrada: indica se os sinais de proibição de avanço e de âmbar (essa segunda não é imprescindível) são determinados por entradas digitais ou por um semáforo previamente configurado. ■ Entrada vermelho/âmbar: deve indicar qual é a entrada digital que ativa o sinal de proibição de avanço e qual a de âmbar; existem 4 entradas disponíveis. Um "1" lógico na entrada indica "sinal ativa". ■ Id semáforo: Os sinais de proibição de avanço e de âmbar são determinados pelo semáforo com o identificador indicado previamente criado. Ver 11.2.3Tela de edição de semáforo. ○ Vídeos: Quercus Technologies 95 Manual de referência do BirdWatch® RL ■ Hardware Gerar: indica se deve-se gerar um vídeo por cada incidência. Observe que, não é suficiente essa condição para a geração de vídeo nas incidências; ainda, é necessário ativar a geração de vídeo na unidade. Ver a variável Global/GenerateVideos do capítulo 11.1.3Global. Somente disponível para nas unidades BirdWatch® RL Plus. ■ PreTime: tempo que deve antecipar o início do vídeo desde da captura da primeira fotografia; em milésimas de segundo. ■ PostTime: tempo que deve atrasar a finalização do vídeo desde a captura da terceira fotografia; em milésimas de segundo. ● Salvar mudanças: salva as mudanças realizadas no detector. Se as mudanças não forem armazenadas corretamente, as modificações serão perdidas. 11.2.3. Tela de edição de semáforo 11.2.3.1. Conceitos pré-existentes Antes de configurar um semáforo é imprescindível entender a definição gráfica de detector e as convenções estabelecidas a seu respeito: ● Um semáforo é composto por um mínimo de 2 luzes e um máximo de 5. ● Deve definir cada uma luzes que compõem o semáforo. ● Deve definir uma única luz vermelha por semáforo. ● Uma luz é um círculo na imagem definida por: ● ○ Centro do círculo. ○ Raio; em pixels. ○ Cor; vermelho, âmbar, verde u outro. O círculo que define um luz deve ocupar o máximo de área sem encostar em seus limites. Quercus Technologies 96 Manual de referência do BirdWatch® RL Hardware 11.2.3.2. Edição O menu de edição de um detector é dividido em duas partes: ● Imagem: é exibida a última imagem capturada pela unidade e, se a posição do detector já tiver sido definida, ele aparecerá sobre a imagem. ○ Nova luz: se ainda não se definiu a posição de uma luz, clicar sobre a imagem para indicar o centro do círculo que a define. ○ Editar luz: se a posição do uma luz já tiver sido definida, ele aparecerá sobre a imagem. Arrastá-la para modificar sua posição. ● Coordenadas: uma vez definida uma luz as coordenadas aparecerão no centro ao lado da imagem. O formato contínuo “x,y”, sendo 'x' o eixo horizontal (0..2559) e 'y' o eixo vertical (0..1919). Logo será possível modificar sua posição com precisão mediante as flechas localizadas abaixo das coordenadas. ● Obter imagem: se quiser atualizar a imagem capturada, indicar na caixa de seleção “Tempo de exposição”, à Quercus Technologies 97 Manual de referência do BirdWatch® RL Hardware direita da imagem, o tempo de exposição desejado (em microssegundos) e clicar em “Obter imagem”. ● Zoom: é possível obter uma zona da imagem aumentada, permitindo definir a posição de uma luz com maior precisão. Para isso: ○ Ativar “Zoom”. ○ Mover a caixa vermelha que apareceu na imagem até a zona que deseja aumentar clicando no centro da mesma e arrastando. ○ Clicar no botão “Imagem zoom” para obter a zona aumentada. Para voltar a visualizar a totalidade da imagem clique em “imagem Completa”. ● Dados: ○ ● Configuração luzes: ○ ● Id: identificador do semáforo; esse valor deverá ser único para cada semáforo. Luz 1,2,3,4,5: determina a luz que está sendo editada. Se deseja eliminar uma luz, apertar Eliminar. Luz 1..5: valores da luz selecionada. ○ Tipo: cor da luz. Possíveis valores: vermelho, âmbar, verde e outro. ○ Raio: raio do círculo que define a luz; em pixels na imagem de 5 megapixels. Os botões “+” e "-” incrementam e diminuem o valor respectivamente. ● Salvar mudanças: salva as mudanças realizadas no semáforo. Se as mudanças não forem armazenadas corretamente, as modificações serão perdidas. 11.3. Importar configuração de FTP Serve para carregar na unidade uma configuração salva anteriormente (através da opção “Exportar configuração para FTP”). Para isso, deverá baixar na unidade (através de FTP) o arquivo “Config.dat” a restaurar para, posteriormente, poder escolher essa opção. Tenha em conta que qualquer alteração feita na configuração da unidade se perderá. As alterações não se aplicarão enquanto não se escolha a opção "Aplicar alterações e reiniciar". 11.4. Exportar configuração a FTP: Serve para realizar uma cópia de segurança da configuração atual da unidade ou enviá-la ao departamento de Suporte da Quercus Technologies, para que este possa lhe ajudar na configuração da unidade. Se for selecionada esta opção, se gerará no servidor FTP um arquivo com nome "Config.dat" que conterá a configuração atual da unidade. Não mais será necessário copiar o arquivo do servidor de FTP da unidade ou mediante a ligação proporcionada pelo próprio sistema de configuração. 11.5. Alterar senha de configuração Permite introduzir uma nova senha para acessar o sistema de configuração. Deverá introduzir a senha atual e a nova senha em duplicado (para evitar erros de digitação que possam fazer com que se introduza uma senha equivocada). A nova senha será vigente desde o momento em que esta se introduza. Quercus Technologies 98 Manual de referência do BirdWatch® RL Hardware 11.6. Aplicar alterações e reiniciar Essa opção faz com que as mudanças realizadas em “Configuração principal do sistema” e/ou “Configuração dos detectores” se tornem permanentes e reinicia usando a nova configuração. Também deve ser utilizada para aplicar as alterações depois de se ter importado a configuração mediante FTP. 11.7. Descartar alterações Essa opção descarta todas as mudanças feitas nas seções “Configuração principal do sistema” e/ou “Configuração dos detectores”. 11.8. Informação do sistema Essa opção permite saber o número de série, a data de fabricação da unidade, a versão do produto e outros dados que o departamento de Suporte da Quercus Technologies possa precisar para poder lhe oferecer ajuda no caso de haver dúvidas quanto à configuração, atualizações, etc. 11.9. Registro do BirdWatch® RL Mostra o relatório gerado pela unidade BirdWatch ® durante sua execução. Cada linha do relatório está dividida em três partes separadas pelo símbolo “|”. ● A primeira parte, mostra a data e a hora da ocorrência; no formato “Ano-Mês-Dia Hora:Minuto:Segundo”. ● A segunda parte mostra o nível de gravidade da mensagem, que pode ser: ○ "Message": mensagens informativas. ○ "Warning": avisos que não têm porque significar nenhum tipo de erro, mas devem-se ter em conta no caso de que envolvam um erro de configuração. ○ "Error": erros; podem significar erros na configuração ou erros no hardware da unidade. ● A terceira parte é o identificador do thread gerado pela linha de mensagem. ● A quarta parte é a mensagem propriamente dita. Em caso de funcionamento incorreto da unidade, consulte esse registro, pois, muito provavelmente, ele dará informações sobre o erro ocorrido. O registro inteiro pode descarregar-se mediante o link da parte superior da janela. 11.10. Registro do Integration Exibe o relatório gerado pela ferramenta Integration. Ver o capítulo 17 Ferramenta Integration. Quercus Technologies 99 Manual de referência do BirdWatch® RL Hardware 11.11. Registro do adaptador serial Mostra o relatório que gera o sistema interno de comunicação serial. Somente existirá o arquivo se tiverem sido estabelecidas comunicações seriais para a unidade. Tem o mesmo formato que o registro BirdWatch ® RL. 11.12. Registro do sistema de configuração. Mostra o relatório gerado pelo sistema de configuração da unidade. 11.13. Registro do disco de dados Exibe o relatório gerado após a verificação do disco de dados, onde são armazenados as incidências. Essa verificação é feita ao colocar o equipamento em funcionamento e informa sobre a situação do disco. Se houver falhas, são descritas no relatório as medidas apropriadas para tentar solucioná-las. 11.14. Ver incidências no disco Exibe um relatório das incidências armazenadas na unidade, na forma de tabela. Cada coluna corresponde às incidências geradas por um detector no total de um dia. Para ver um relatório detalhado das incidências geradas por um detector no total de um determinado dia, clicar no link Ver da coluna correspondente. Serão exibidas, em uma tabela, as informações sobre as incidências geradas: identificador, tipo e momento em que foi gerada (no formato horas:minutos:segundos). Cada coluna corresponderá a uma incidência. Para ver um relatório detalhado de uma incidência específica, clicar no link Ver da incidência correspondente. As informações exibidas serão: ● Informações sobre a incidência: identificador da incidência, identificador da unidade, identificador do detector e tipo de incidência. ● Descargar arquivo XML: link para descarregar o arquivo XML que dá os detalhes sobre a incidência (ver 16.1.1Arquivo XML). ● Baixar vídeo: Link para baixar o arquivo de vídeo; esse link só aparecerá se gerou um vídeo da incidência. ● Imagens: miniaturas das imagens relacionadas à incidência, detalhando, sob cada uma delas, o momento de sua captura (no formato ano-mês-dia horas:minutos:segundos.microssegundos). Observar que o sistema pode necessitar de alguns segundos para cargar a imagem. Para visualizar uma imagem na escala real (1:1), clicar sobre sua miniatura. ● Se habilitou a criptografia do protocolo mediante a variável Communications/Password, essa opção não estará disponível. Quercus Technologies 100 Manual de referência do BirdWatch® RL Hardware 11.15. Exportar relatório de estado a FTP Serve para fornecer um relatório detalhado sobre situação do equipamento ao departamento de Suporte da Quercus Technologies, para que este possa lhe ajudar em caso de funcionamento incorreto da unidade. Se for selecionada esta opção, será gerado no servidor FTP um arquivo com nome "SystemStatus.dat" que conterá o relatório. Não mais será necessário copiar o arquivo do servidor de FTP da unidade ou mediante a ligação proporcionada pelo próprio sistema de configuração. 11.16. Informação de contato Exibe as informações necessárias para poder contatar o departamento de Suporte da Quercus Technologies (e-mail, telefone, etc.). 11.17. Ajustar data e hora Permite estabelecer manualmente a data e hora interna da unidade. A nova data e hora serão efetivas desde o momento em que se estabeleça (sem ter que reiniciar a unidade). 11.18. Sincronizar hora com o servidor Serve para sincronizar a hora com o servidor de hora previamente configurado na variável "Communications -> DateServer". A hora se sincroniza automaticamente uma vez por dia, mas se pode forçar em qualquer momento mediante esta opção. 11.19. Atualizar firmware A atualização do firmware serve para adicionar à unidade versões mais recentes do sistema BirdWatch ® da Quercus Technologies, seja para reparar erros detectados ou para acrescentar novas funcionalidades. 11.19.1. Passos prévios à atualização Antes de proceder à instalação de uma atualização é necessário fazer com que tal atualização esteja disponível na unidade a atualizar. Para isso, é necessário seguir estes passos: 1. Obter da Quercus Technologies um arquivo de atualização de firmware (arquivos com extensão.upd). ATENÇÃO: NUNCA tente instalar uma atualização que não provenha diretamente do departamento de Suporte da Quercus Technologies, pois isso poderia danificar o firmware da unidade de forma irreversível. A garantia do produto ficará imediatamente cancelada no caso de que se detecte um manuseio fraudulento do firmware instalado. 2. Utilize a ferramenta de diagnóstico para transferir o arquivo à unidade mediante FTP ou abra uma conexão FTP à unidade (direção ftp://<ip_de_a_unidade>). A identificação e senha são as mesmas usadas para acessar a configuração (usuário “admin”, senha “quercus2”). Se for acessar diretamente com Microsoft Internet Explorer, use o endereço ftp://admin@<ip_de_la_unidad>, dessa forma, poderá inserir a senha. Quercus Technologies 101 Manual de referência do BirdWatch® RL 3. Carregue o arquivo de atualização no servidor FTP. 4. Feche a conexão FTP. Hardware Tenha em conta que os dados carregados no servidor de FTP não se guardam de forma permanente (perdem-se sempre que se reinicia a unidade); por isso, não carregue o arquivo até ao momento em que vá a efetuar realmente a atualização. 11.19.2. Atualização Uma vez carregado o arquivo no servidor de FTP, já pode proceder à atualização do sistema Para isso, deverá escolher a opção "Atualizar firmware" do menu. Se no servidor existem arquivos de atualização, será perguntado o nome do arquivo a usar; selecione o arquivo adequado (normalmente somente terá um disponível). Aparecerá uma descrição na qual se descreverão as ações que serão levadas a cabo: Se estiver de acordo, clicar no botão “Atualizar”. Uma vez concluída a atualização, se mostrará uma tela com o resultado da atualização e a unidade reiniciará o funcionamento já com o novo firmware. A atualização do firmware da unidade é uma operação delicada. Se ainda não tem claros os passos a seguir não hesite em entrar em contato com o departamento de suporte da Quercus Technologies, nosso pessoal o guiará para que possa efetuar a atualização com segurança. Além disso, tenha em conta os seguintes aspectos: ● A atualização do firmware não faz perder a configuração atual da unidade. No entanto, pode acontecer que o novo firmware exija a configuração de parâmetros adicionais (que se encontrarão inicialmente com seu valor predefinido). Consulte a documentação anexada à atualização para saber quais os passos a serem seguidos depois de tal processo. ● Não tente efetuar a atualização em momentos nos quais tenha altas probabilidades de sofrer algum corte intermitente de corrente. Embora tenhamos nos empenhado para que o processo de atualização seja o mais confiável possível, existe a possibilidade (remota) de que o firmware da unidade sofra danos irreversíveis. ● Esse processo exige a interrupção do sistema BirdWatch ® enquanto durar a operação. Não o faça em momentos em que necessita que a unidade se mantenha operativa. ● Verifique se a atualização foi efetuada com êxito. Para isso, consulte a versão informada pela unidade antes e depois do processo, por exemplo, através da função “Informações do sistema” do menu principal ou da ferramenta de diagnóstico. 11.20. Restabelecer firmware original Esta opção permite recuperar o firmware da unidade (e a configuração) com a qual saiu de fábrica. Caso selecione esta opção, aparecerá uma descrição na qual se descreverão as ações a serem seguidas: Se estiver de acordo, clique no botão “Restabelecer”. Uma vez concluída a restauração, será mostrada uma tela com o resultado e a unidade reiniciará o funcionamento já com o firmware original. Quercus Technologies 102 Manual de referência do BirdWatch® RL Hardware A restauração do firmware da unidade também é uma operação delicada. Tenha em conta os seguintes aspectos: ● A restauração do firmware comporta a perda total da configuração atual e o restabelecimento da configuração original de fábrica. O equipamento voltará a ter o mesmo endereço IP que tinha originalmente. ● Não tente efetuar a restauração em momentos nos quais tenha altas probabilidades de sofrer algum corte intermitente de corrente. Embora se tenha tentado que o processo de restauração seja o mais confiável possível, cabe a possibilidade (remota) de que se danifique de forma irreversível o firmware da unidade. ● Esse processo exige a interrupção do sistema BirdWatch ® enquanto durar a operação. Não o faça em momentos em que necessita que a unidade se mantenha operativa. ● Verifique se a restauração foi efetuado com êxito. Para isso, consulte a versão informada pela unidade antes e depois do processo, por exemplo, através da função “Informações do sistema” do menu principal ou da ferramenta de diagnóstico. Se houver alguma falha na restauração, consulte o capítulo 11.22Restauração de emergência. Nela se explica um método alternativo de recuperação do firmware original. 11.21. Formatar o disco de dados Essa opção permite formatar o disco de dados da unidade, onde são armazenadas as incidências. Essa opção é útil se desejar apagar todas as incidências armazenadas na unidade ou se o “Registro do disco de dados” indica que deve ser formatado. Caso selecione esta opção, aparecerá uma descrição na qual se descreverão as ações a serem seguidas: Quercus Technologies 103 Manual de referência do BirdWatch® RL Hardware Se estiver de acordo, clique no botão “Formatar”. Após finalizar a restauração, aparecerá uma tela com o resultado; é imprescindível ler o relatório completo e verificar se houve algum erro durante o processo de formatação. Se esse processo foi finalizado de forma satisfatória, a unidade deverá ser reinicializada para que ela possa funcionar com o disco formatado; caso contrário, informe o departamento de Suporte da Quercus Technologies. A formatação do disco de dados também é uma operação delicada. Tenha em conta os seguintes aspectos: ● A formatação implica a perda total das incidências armazenadas na unidade, assim como todos os outros arquivos baixados no FTP pelo usuário. ● Não tente efetuar a formatação em momentos em que haja alta probabilidade de sofrer algum corte intermitente de corrente elétrica. Embora tenhamos nos empenhado para que o processo de formatação seja o mais confiável possível, existe a possibilidade (remota) de que o firmware da unidade sofra danos irreversíveis. ● Esse processo exige a interrupção do sistema BirdWatch ® e do serviço de FTP/SFTP enquanto durar a operação. Não o faça em momentos em que necessita que a unidade se mantenha operativa. ● Verifique se a formatação foi realizada com sucesso. Para isso, leia atentamente o relatório exibido no final do processo. ● Observe que o processo de formatação pode durar alguns minutos durante os quais a unidade não pode ser interrompida ou reiniciada. 11.22. Restauração de emergência O sistema de restauração de emergência permite restabelecer o firmware original da unidade de forma independente do sistema de configuração (através do botão de reset). Atençao: o sistema de restauração de emergência somente deve ser usado caso não se possa restaurar o firmware mediante o método software habitual (sistema de configuração). Pode ser usado, por exemplo, se ocorreu um corte de corrente enquanto se atualizava o firmware da unidade e este ficou em mau estado. Para restaurar o firmware mediante este método se deverão seguir estes passos: 1. Pressione o botão de reset e mantenha-o pressionado. 2. Ouvirá uma série de apitos curtos seguida de um apito mais longo. 3. A unidade reiniciará. Se sua intenção era somente reiniciá-la, já pode liberar o botão. 4. Se mantiver o botão pressionado, ouvirá, após uns 50 segundos, uma série de apitos com duração descendente, seguidos por um apito mais longo. 5. Libere o botão. 6. A unidade restaurará o firmware (e configuração) de fábrica e reiniciará fazendo uso de tal firmware. 7. Uma vez que ouça o apito normal de início da unidade, esta já estará em funcionamento com a sua configuração de fábrica. Quercus Technologies 104 Manual de referência do BirdWatch® RL Hardware Os apitos de “Restauração de emergência” e “Reset” poderão ser diferenciados, porque estes últimos são constantes e os primeiros vão aumentando sua freqüência. Quercus Technologies 105 Manual de referência do BirdWatch® RL Hardware 12. Instalação passo a passo As unidades BirdWatch® foram concebidas para que pudessem ser instaladas, com os correspondentes componentes opcionais, nas seguintes configurações: ● Em parede. Com a ajuda do suporte para parede. ● Em teto. Com a ajuda do suporte para teto + adaptador plano. ● Em mastro cilíndrico vertical. Com a ajuda do suporte para parede + adaptador para mastro vertical. ● Em poste cilíndrico horizontal. Com a ajuda do suporte para mastro horizontal. Detalha-se a seguir a instalação em cada uma das configurações. 12.1. Instalação em parede Una o suporte à parede Posicione o suporte na parede deixando a saída de cabos no interior do suporte e marque os pontos a perfurar. Retire o suporte e efetue os furos com a ajuda de uma furadeira. Coloque as buchas na parede. Ponha o suporte na posição e passe os cabos pela fenda destinada para tal efeito. Fixe firmemente o suporte usando os parafusos. Una o suporte com a unidade Coloque a unidade na cabeça basculante do suporte e fixe-a através dos dois orifícios desta, usando os parafusos de métrica 5 fornecidos. Nunca utilize parafusos mais longos que os fornecidos, dado que poderia danificar a unidade. Coloque-a de forma que a parte da cabeça basculante com a cabeça allen fique à direita da unidade (vista de trás). Quercus Technologies 106 Manual de referência do BirdWatch® RL Hardware 12.2. Instalação em teto Una o suporte ao teto Posicione o suporte no teto deixando a saída de cabos no interior do suporte e marque os pontos a perfurar. Retire o suporte e efetue os furos com a ajuda de uma furadeira. Coloque as buchas no teto. Ponha o suporte na posição e passe os cabos pelo interior do suporte fazendo-os sair pelo orifício na extremidade deste. Fixe firmemente o suporte usando os parafusos. Coloque o adaptador plano no suporte Oriente-o de forma que saia pela parte lateral direita da unidade (vista de trás). Una o suporte com a unidade Coloque a unidade em cima da plataforma do suporte e fixe-a através da ranhura desta com os parafusos de métrica 5 fornecidos. Nunca utilize parafusos mais longos que os fornecidos, dado que poderia danificar a unidade. Quercus Technologies 107 Manual de referência do BirdWatch® RL Hardware 12.3. Instalação em mastro vertical Una o suporte de parede ao adaptador mastro vertical Fixe firmemente o suporte usando os parafusos. Coloque o adaptador para mastro vertical Fixe firmemente o adaptador para mastro vertical usando os pinos com rosca que o acompanham e as respectivas porcas. Una o suporte de parede com a unidade Coloque a unidade na cabeça basculante do suporte e fixe-a através dos dois orifícios desta, usando os parafusos de métrica 5 fornecidos. Nunca utilize parafusos mais longos que os fornecidos, dado que poderia danificar a unidade. Quercus Technologies 108 Manual de referência do BirdWatch® RL Hardware 12.4. Instalação em poste horizontal Fixe o suporte à unidade Coloque a unidade na cabeça basculante do suporte e fixe-a através dos dois orifícios desta, usando os parafusos de métrica 5 fornecidos. Nunca utilize parafusos mais longos que os fornecidos, dado que poderia danificar a unidade. Coloque a unidade no poste horizontal Posicione o suporte na parte lateral do mastro horizontal de forma que o restante da unidade fique por cima do suporte. Observar que as bordas do suporte multiuso foram projetados para se adaptar à forma cilíndrica do poste. Fixe a unidade Passe as cintas metálicas fornecidas ao redor do poste horizontal e entre as ranhuras verticais retangulares do suporte. Fixe firmemente o suporte no mastro, apertando as duas cintas metálicas. Quercus Technologies 109 Manual de referência do BirdWatch® RL Hardware 12.5. Procedimentos comuns Nesta seção, descrevem-se os processos comuns a todos os métodos de instalação (teto, parede, mastro, etc.) Abra a unidade Retire os parafusos dos fechos da unidade. Retire o gabinete da base da unidade. Passe os cabos para dentro da unidade Use os três passa-cabos da base da unidade para orientar a fiação (alimentação, rede/serial e E/S) para dentro da unidade. Se quiser passar mais de um cabo pelo mesmo passa-cabos, estes devem ser agrupados em um tubo de borracha, para conservar a vedação da unidade. Conecte o cabo de rede Utilize a régua desconectável J10. As conexões estão descritas na seção 10.2.1Rede Ethernet. Conecte o cabo serial RS-232/RS-485 Quercus Technologies 110 Manual de referência do BirdWatch® RL Hardware Só será necessário se o protocolo que a unidade vai usar é RS232º RS-485. Utilize a régua desconectável de terminais J9. As conexões estão descritas na seção 10.2.2Conexões seriais. Conecte as entradas e saídas digitais Somente será necessário caso se utilizem as entradas ou saídas digitais da unidade. Utilize as réguas de terminais desconectáveis J8 e J7. A forma de fazer a conexão e o sistema de entrada/saída estão descritos no subcapítulo 10.2.3E/S do capítulo 10 . Conecte o cabo de alimentação Conecte o cabo de alimentação na régua de terminais de alimentação da parte traseira da unidade. - + 12.6. Ajuste da óptica Para efetuar os ajustes com comodidade, é necessário dispor de um computador portátil com a ferramenta de diagnóstico VLDiag instalada e um cabo de rede cruzado entre o computador portátil e o terminal de rede da unidade. Todas as unidades estão configuradas para encontrar o sistema central no endereço 192.168.1.199, por isso será necessário atribuir-lhe esse endereço de IP ao computador portátil a partir do qual se vão efetuar os ajustes. Para ajustar a câmera deverão seguir-se estes passos: 1. Conecte o cabo de rede cruzado entre a unidade e o computador portátil. Consulte o subcapítulo 10.2.1Rede Ethernet para posicionar o conector de rede. 2. Ponha em funcionamento o portátil e a ferramenta de diagnóstico. 3. Mantenha frouxos os parafusos do suporte para que possa orientar a unidade. Quercus Technologies 111 Manual de referência do BirdWatch® RL Hardware 4. Mantenha frouxo o parafuso que fixa a junta articulada de orientação com a base da unidade. 5. Alimente a unidade para que esta inicie. 6. Selecione a unidade correspondente na barra de botões da ferramenta de diagnóstico. Por padrão, cada unidade está configurada com um identificador (SystemId) igual aos dois últimos caracteres do número de série da unidade. 7. Pressione sobre a pestana "Câmera ao vivo". 8. Selecione, na barra de botões, um tempo de exposição com o qual se possam ver as imagens com clareza. Valores entre 120 e 3000 costumam ser os normais: 120 para ambientes com muita luz (dias ensolarados) e 3000 para ambientes mais escuros (dias nublados, por exemplo). 9. Pressionando o botão "Iniciar" poderá ver as imagens da câmera. Se for necessário modificar o tempo de exposição, clique no botão “Interromper”, modifique o tempo e volte a clicar no botão “Iniciar”, ou utilize as flechas Anterior/Seguinte para reduzir/aumentar 20% do tempo de exposição. 10. Verifique que a abertura da lente seja a máxima. Para isso, afrouxe o parafuso do anel central, desloque o anel até o final de sua rota em direção “Open” e voltar a fixar o parafuso. 11. Ajuste a posição da unidade e o zoom da lente para visualizar a zona desejada. Para isso desaperte os parafusos dos anéis mais próximo (zoom) e mais longe (enfoque) da unidade. É imprescindível maximizar a resolução da área a controlar. Para isso: 1. Oriente a unidade ao centro do total de faixas a controlar. 2. Coloque a posição de zoom máxima que permita visualizar os seguintes elementos: ▪ Largura completa das faixas à altura da placa na primeira captura da incidência. ▪ Largura completa das faixas à altura da placa na terceira captura da incidência. ▪ Semáforo completo (luzes) Se a instalação seguiu os parâmetros das tabelas do Apêndice A: parâmetros de instalação remenda substituir os elementos do ponto anterior 2 pelos seguintes: ▪ Largura completa das vias a 4,5 metros anterior a linha de detecção. ▪ Largura completa das vias a 5 metros posterior a linha de detecção. ▪ Semáforo completo (luzes) Observe que, se só configurar detectores de veículo parado será suficiente visualizar o semáforo e os detectores completos. 12. Ajuste o enfoque da lente com precisão. É possível utilizar o foco digital da ferramenta de diagnóstico para obter um foco mais preciso. Marque com uma moldura na imagem da câmera ao vivo a zona que deseja focar e gire a lente até que o valor do enfoque digital seja o mais alto possível. É especialmente importante que a zona a ser focada seja a zona onde aparecerão as placas dos veículos nas fotografias. Procure fazer um enfoque o mais preciso possível, para que, nas fotografias, seja possível ler corretamente a placa. Observe que, na maioria das instalações, o enfoque ótimo se obtém enfocando corretamente a zona que ocupará a placa na terceira captura da incidência da via mais distante da unidade. 13. Depois de comprovar que a imagem está correta, pode apertar novamente os parafusos de fixação da unidade Quercus Technologies 112 Manual de referência do BirdWatch® RL Hardware para que ela fique presa. Aperte também os parafusos que fixam os anéis de zoom e enfoque da lente para que não varie o enfoque e nem o zoom da mesma. 12.7. Configuração básica do firmware Para a configuração do firmware é imprescindível conectar um cabo de rede à unidade. Se a unidade, após ser configurada, for ser usada com comunicações seriais e não se quiser deixar o cabo de rede conectado à unidade (mesmo sabendo que é útil deixá-lo), toda a configuração deverá ser feita com a unidade aberta. Após realizar a configuração da unidade (e das comunicações seriais) o cabo de rede poderá ser desconectado e a unidade poderá ser fechada. Nesse caso, consulte o capítulo 11Firmware para saber todos os parâmetros de configuração da unidade. Se, ao contrário, o cabo de rede for permanecer conectado à unidade após a configuração, esta poderá ser fechada depois de ter conectado o cabo. A configuração poderá ser feita a partir de qualquer computador conectado à rede, assumindo que o IP da unidade seja o IP correto. Dê os passos abaixo: 1. Através do computador portátil, com a ferramenta de diagnóstico ou com um navegador da Internet, acesse o sistema de configuração da unidade. 2. Insira a senha (“quercus2”) e o menu principal será exibido. 3. Clique na opção "Configuração geral do sistema". 4. Na variável “Communications/CentralSystemHost” insira o endereço IP da unidade que com a qual a unidade deverá se comunicar (aquela que executará o software do cliente). Este passo não é necessário se forem usadas comunicações seriais. 5. Na variável “Communications/IP” insira o endereço IP que corresponderá à unidade na rede. Se a unidade e o sistema central estão em redes diferentes deverá modificar também as variáveis "Communications/Gateway" e "Communications/Netmask". 6. Na variável “Global/SystemId” insira um identificador numérico único em todo o sistema BirdWatch ®. Por exemplo, se seu sistema BirdWatch® possuir três unidades, identifique-as como 1, 2 e 3, respectivamente. 7. Na variável “Engine/WayType” indique o tipo de via que será analisada. Possíveis valores: Slow ou Fast. Uma via rápida (Fast) registra um trânsito fluido durante a maior parte do tempo (exemplo: rodovia); ao contrário, uma via lenta (Slow) registra um trânsito lento ou com retenções assíduas (exemplo: avenida com semáforo). 8. Pressione o botão "Guardar alterações". 12.8. Configuração dos detectores 9. Adiciona os detectores e os semáforos necessários conforme o procedimento descrito no item 11.2Configuração dos detectores. 10. No menu principal selecione a opção "Aplicar alterações e reiniciar". Será solicitada confirmação para Quercus Technologies 113 Manual de referência do BirdWatch® RL Hardware reiniciar. Pressione o botão "Aplicar" para aceitar e a unidade reiniciará com a nova configuração. Observar que a unidade deve realizar um processo de ajuste após cada reinicialização. Portanto, é possível que os primeiros veículos não sejam detectados corretamente. 12.9. Fechamento da unidade Uma vez efetuada a configuração básica, dê os passos abaixo: 1. Retire o cabo de rede cruzado da unidade. 2. Conecte o cabo de rede definitivo. 3. Coloque a carcaça da unidade e volte a colocar os parafusos da mesma fixando-a firmemente. Quercus Technologies 114 Manual de referencia de BirdWatch® RL Programação Programação Nesta seção, são descritas todas as alternativas de programação existentes para o BirdWatch ®. Proporciona-se um conjunto de exemplos introdutórios à programação com as diversas bibliotecas, assim como uma referência detalhada das mesmas. Também é descrito o protocolo de comunicações do BirdWatch ® para as integrações de nível mais baixo. Por último, descrevemos o formato dos arquivos resultantes da geração de incidências. O material abrangido por esta seção (biblioteca, protocolo e exemplos) é compartilhado por outras famílias de produtos (não descritas no presente manual). Por isso, nele podem ser encontrados arquivos ou funções que não se aplicam aos produtos BirdWatch® RL; por exemplo, as funções relativas a outros tipos de detector ou a geração de resumos. Quercus Technologies 115 Manual de referencia de BirdWatch® RL Programação 13. Programação básica A seguir são descritos os passos necessários para desenvolver um programa mínimo capaz de receber as informações geradas em uma unidade. Neste capítulo, pressupõem-se alguns conhecimentos básicos de programação (C e C++). Se você trabalha habitualmente com alguma destas tecnologias não terá nenhum problema em acompanhar os exemplos. O código-fonte dos exemplos encontra-se em <pasta instalação>/Samples. 13.1. C++ O método usado na biblioteca C++ para gerar eventos, de forma que a implementação fique a cargo do aplicativo cliente, é obrigando a esta a implementar uma classe que cumpra uma determinada interface. Quando ocorrer um evento em um detector (por exemplo, a geração de um evento em tempo real) a biblioteca chamará o método correspondente (nesse caso, o OnRealTimeInformation). Deve-se ter em conta que tais métodos serão chamados a partir de linhas (threads) de execução diferentes da linha principal, pelo que não se poderá usar em sua implementação um código que não seja seguro com relação às linhas, ou que não se possa executar fora da linha principal. A seguir, é exibido um programa básico em C++ que é capaz de capturar os eventos. Corresponde ao exemplo básico de C++, localizado na pasta Samples do diretório de instalação. /*------------------------------------------, | Copyright (C) 2011 Quercus Technologies | | All rights reserved. | `------------------------------------------*/ #include <stdio.h> #include "VLWrapperCpp" using namespace VL; class CEventHandler: public ISystemEH { public: virtual void OnRealTimeInformation(RealTimeInformation info) { printf("OnRealTimeInformation (%d,%d)", info.get_Unit().get_Id(),info.get_DetectorId()); } switch(info.get_DetectorType()) { case DT_SPEED: printf("DT_SPEED\n"); case DT_QUEUE: printf("DT_QUEUE\n"); case DT_PRESENCE: printf("DT_PRESENCE\n"); default:break; } break; break; break; virtual void OnIncidence(Incidence inc) { printf("OnIncidence (%d,%d), %d," ,inc.get_Unit().get_Id(),inc.get_DetectorId(),inc.get_Id()); Quercus Technologies 116 Manual de referencia de BirdWatch® RL Programação switch(inc.get_Type()) { case IT_WRONG_WAY: printf("IT_WRONG_WAY\n"); break; case IT_RED_LIGHT_VIOLATION: printf("IT_RED_LIGHT_VIOLATION\n"); break; case IT_STOPPED_CAR_VIOLATION:printf("IT_STOPPED_CAR_VIOLATION\n"); break; } if(inc.get_Images().Count()>0) printf("Image 0 secs:%d\n", inc.get_Images().Item(0).get_Timestamp().get_Seconds()); else printf("Image NOT FOUND\n"); if(inc.get_Video().IsValid()) printf("Video %dx%d duration:%d frameRate: %d\n",inc.get_Video().get_Width(),inc.get_Video().get_Height(), inc.get_Video().get_Duration(),inc.get_Video().get_Framerate()); else printf("Video NOT FOUND\n"); } virtual void OnSummary(Summary sum) { printf("OnSummary (%d ,%d) ",sum.get_Unit().get_Id(),sum.get_DetectorId()); switch(sum.get_DetectorType()) { case DT_SPEED: printf("DT_SPEED\n"); break; case DT_QUEUE: printf("DT_QUEUE\n"); break; case DT_PRESENCE: printf("DT_PRESENCE\n"); break; default:break; } } }; CEventHandler EventHandler; int main(int argc, char *argv[]) { if(VLLoad()==-1) return -1; if(!System::Initialize("Central.ini","Central.log",&EventHandler)) { printf("Can't initialize system.\n"); return -1; } printf("Press [RETURN] to exit\n"); getchar(); System::Terminate(); VLUnload(); return 0; } Partes que compõem o código do exemplo: #include “VLWrapperCpp” É o único arquivo header necessário para interagir com VL a partir de C++. using namespace VL; Usar o espaço de nomes VL. Todas as classes estão definidas dentro do espaço de nomes "VL" para evitar colisões de Quercus Technologies 117 Manual de referencia de BirdWatch® RL Programação nomes com outros tipos. class CEventHandler: public ISystemEH Classe que implementará o código cliente que se executará com os eventos. Ao fazê-la derivar de ISystemEH, ela é obrigada a implementar seus métodos abstratos (“On...”). Se não estiver interessado em algum dos eventos, bastará deixar vazia a implementação do método correspondente. CEventHandler EventHandler; Objeto que captará os eventos. if(VLLoad()==-1) return -1; Upload da biblioteca VL. if(!System::Initialize("Central.ini","Central.log",&EventHandler)) return -1; Inicialização da biblioteca de classes VL. Este deve ser o primeiro método que se invoque. É o encarregado de inicializar o sistema, inicializar o sistema de eventos e estabelecer comunicações com as unidades que tiverem sido configurados no arquivo de inicialização “Central.ini”. No arquivo “Central.log” será encontrado o registro do funcionamento do sistema. Como se pode verificar, o objeto do tipo CEventHandler, anteriormente criado, é passado à biblioteca como parâmetro para que esta possa chamar suas rotinas quando for necessário. A partir desse ponto, se o simulador “VLSimu” for colocado em funcionamento, ou se o sistema tiver sido configurado para se comunicar com unidades reais, começarão a ser recebidos os eventos produzidos por esses sistemas. System::Terminate(); Finalizar a execução da biblioteca de classes de VL. VLUnload(); Download da biblioteca VL. 13.1.1. Gerenciamento de memória Deve-se notar que toda o gerenciamento de memória da biblioteca C++ está oculto (mediante o uso de ponteiros "inteligentes") de forma que o programador possa despreocupar-se da criação e destruição de objetos. Todos os objetos que compõem a biblioteca podem criar-se na pilha, passar-se como parâmetros num valor de funções, retornar-se, etc. sem que isso suponha uma perda de memória nem de rendimento. Por exemplo, a seguinte construção é perfeitamente válida: Detector EjemploDeUsoDeObjetos(Unit unit) { Detector detectorA, detectorB; Quercus Technologies 118 Manual de referencia de BirdWatch® RL Programação detectorA=unit.get_Detectors().Item(0); detectorB=detectorA; } return detectorB; Embora a função do exemplo não contenha código útil, é possível ver o uso que se faz dos objetos: ● Detector ExemploDeUsoDeObjetos(Unit unit); Podem passar-se tais objetos como parâmetros de funções sem usar ponteiros nem referências e sem afetar a renda da aplicação. Num sistema de objetos clássico em C++ esta chamada representaria uma penalização no rendimento e uma fonte potencial de erros, dado que se chamaria o construtor de cópia do objeto para passar tal cópia como parâmetro da função. Ao retornar a função se chamaria o destrutor da cópia com o consequente perigo que isto traz se o objeto contiver internamente ponteiros. Na biblioteca VL todos estes problemas foram ultrapassados, dado que o construtor de cópia somente envolve 4 bytes de memória e na destruição da cópia o objeto real não se destrói enquanto fique alguma cópia sem destruir. ● detectorA=unit.get_Detectors().Item(0); detectorB=detectorA; return detectorB; Todos os métodos do VL devolvem objetos, nunca ponteiros nem referências. O programador pode manusear dito objeto com total liberdade (pode duplicá-lo, retorná-lo, etc. e continuará a ser válido). 13.1.2. Criação do executável Visual Studio ● Abra o ambiente "Samples.sln" que se encontra na pasta "Samples". ● Defina “CppApi_Basic” como projeto ativo. ● Realize o “Build" do executável. Linux ● Abra um console. ● Acesse a pasta Samples/CppApi_Basic. ● Execute o comando "make". 13.2. C O método usado na biblioteca C para gerar eventos, de forma que a implementação fique sob a responsabilidade do aplicativo do cliente, é obrigar o aplicativo do cliente a implementar uma série de funções que executem uma interface determinada. Quando ocorrer um evento em um detector (por exemplo, a geração de um evento em tempo real) a Quercus Technologies 119 Manual de referencia de BirdWatch® RL Programação biblioteca chamará a função correspondente (nesse caso, o OnRealTimeInformation). Deve ter em conta que estas funções se chamarão a partir de linhas (threads) de execução diferentes da linha principal, pelo que não se poderá usar em sua implementação um código que não seja seguro com relação a linhas ou que não se possa executar fora do linha principal. A seguir, é exibido um programa básico em C que é capaz de capturar os eventos. Corresponde ao exemplo básico de C, localizado na pasta Samples do diretório de instalação. /*------------------------------------------, | Copyright (C) 2011 Quercus Technologies | | All rights reserved. | `------------------------------------------*/ #include <stdio.h> #include "VLWrapperC.h" typedef enum { DT_ALL=0, DT_SPEED=1, DT_QUEUE=2, DT_PRESENCE=3, DT_RED_LIGHT=4, DT_STOPPED_CAR=5 } VLDetectorType; void __stdcall OnRealTimeInformation(int info) { printf("OnRealTimeInformation (%d ,%d) ", VL_Unit_get_Id(VL_RealTimeInformation_get_Unit(info)), VL_RealTimeInformation_get_DetectorId(info)); switch(VL_RealTimeInformation_get_DetectorType(info)) { case 1: printf("DT_SPEED\n"); break; case 2: printf("DT_QUEUE\n"); break; case 3: printf("DT_PRESENCE\n"); break; default: break; } } void __stdcall OnIncidence(int inc) { printf("OnIncidence (%d ,%d), %d, ", VL_Unit_get_Id(VL_Incidence_get_Unit(inc)), VL_Incidence_get_DetectorId(inc),VL_Incidence_get_Id(inc)); switch(VL_Incidence_get_Type(inc)) { case 0: printf("IT_WRONG_WAY\n"); break; case 1: printf("IT_RED_LIGHT_VIOLATION\n"); break; case 2: printf("IT_STOPPED_CAR_VIOLATION\n"); break; default: break; } } void __stdcall OnSummary(int sum) { printf("OnSummary (%d ,%d) ", VL_Unit_get_Id(VL_Summary_get_Unit(sum)),VL_Summary_get_DetectorId(sum)); switch(VL_Summary_get_DetectorType(sum)) { case 1: printf("DT_SPEED\n"); break; case 2: printf("DT_QUEUE\n"); break; case 3: printf("DT_PRESENCE\n"); break; default: break; Quercus Technologies 120 Manual de referencia de BirdWatch® RL Programação } } int main(int argc, char *argv[]) { if(VLLoad()!=0) return -1; if(!VL_System_Initialize("Central.ini","Central.log", OnRealTimeInformation, OnIncidence, OnSummary, NULL, NULL)) return -1; printf("Press [RETURN] to exit\n"); getchar(); VL_System_Terminate(); VLUnload(); } return 0; Partes que compõem o código do exemplo: include “VLWrapperC.h” Arquivos header necessários para interagir com o VL a partir de C. void __stdcall OnRealTimenformation(int info) void __stdcall OnIncidence(int inc) void __stdcall OnSummary(int sum) Implementação do código cliente que se executará com os eventos. As funções devem ter exatamente o mesmo formato que se definiu no arquivo de cabeçalho "VLrapperC.h" caso contrário se produzirão erros em tempo de compilação. Se não está interessado em algum dos eventos, não é necessário implementá-lo. if(VLLoad()!=0) return -1; Upload da biblioteca VL. f(!VL_System_Initialize("Central.ini","Central.log", OnRealTimeInformation, OnIncidence, OnSummary, NULL, NULL)) return -1; Inicialização do sistema. É o encarregado de inicializar o sistema, inicializar o sistema de eventos e estabelecer comunicações com as unidades que tiverem sido configuradas no arquivo de inicialização “Central.ini”. No arquivo “Central.log” será encontrado o registro do funcionamento do sistema. Como pode ser comprovado, as funções previamente definidas são passadas como parâmetros dessa função, para que possam ser chamadas quando ocorrerem eventos. A partir desse ponto, se o simulador “VLSimu” for colocado em funcionamento, ou se o sistema tiver sido configurado para se comunicar com unidades reais, começarão a ser recebidos os eventos produzidos por esses sistemas. Quercus Technologies 121 Manual de referencia de BirdWatch® RL Programação VL_System_Terminate(); Finalizar a execução da biblioteca de classes de VL. VLUnload(); Download da biblioteca VL. 13.2.1. Gerenciamento de memória A gestão de memória da biblioteca C deve ser manipulada com os métodos AddRef ( ) e Release ( ) das classes Detector, TrafficLight, RealTimeInformation, Incidence, Summary, Image, Video, Configuration, ConfigurationDetector, ConfigurationTrafficLight e SettingsEntry: ● AddRef C: void Classe_AddRef ( int h ) A função acrescenta uma referência ao objeto. É necessário ao fazer uma cópia do objeto. Quando não for mais necessária, deverá ser chamada a função Classe_Release (ver o método Release). O parâmetro “h” é um manipulador da classe. ● Release C: void Classe_Release ( int h ) A função reduz uma referência do objeto e libera a memória designada, se o número de referências ficar com o valor zero. Deverá ser chamado quando não se necessitar mais o objeto ao qual se havia acrescentado uma referência (ver AddRef); ou quando não se necessitar mais um objeto obtido na chamada de uma função que devolva seu manipulador (internamente, como se explica em tais métodos, o sistema chama o método AddRef da classe). O parâmetro “h” é um manipulador da classe. Exemplo: detector = VL_Unit_get_Detectors_Item(unit, 0); // Obtenção do detector printf( …, VL_Detector_get_Id(detector)); printf( …, VL_Detector_get_UnitId(detector)); // Trabalho com o detector // Trabalho com o detector VL_Detector_Release(detector); // Liberação do detector 13.2.2. Criação do executável Visual Studio ● Abra o ambiente "Samples.sln" que se encontra na pasta "Samples". ● Defina “CApi_Basic” como projeto ativo. Quercus Technologies 122 Manual de referencia de BirdWatch® RL ● Programação Realize o “Build" do executável. Linux ● Abra um console. ● Vá para a pasta Samples/CApi_Basic. ● Execute o comando "make". 13.3. Outros exemplos Na pasta <pasta de instalação>/Samples poderá encontrar outros exemplos de programação com a biblioteca VL. Em tal pasta poderá encontrar um arquivo "Readme.txt" com a descrição dos exemplos que nela se encontram. Quercus Technologies 123 Manual de referencia de BirdWatch® RL Programação 14. Referência de classes Na seguinte referência poderá encontrar a sintaxe dos dois métodos de programação (C e C++). Como todos eles proporcionam praticamente a mesma funcionalidade, estão documentados conjuntamente assinalando-se quando for necessário as possíveis diferenças entre eles. 14.1. Compatibilidade entre os produtos BirdWatch® RL A biblioteca VL é compartilhada por várias famílias de produtos da Quercus Technologies. Por isso, existem partes (funções, classes, eventos) que não se aplicam ao produto BirdWatch ® RL ou ao produto BirdWatch ® RL Plus especificamente. Nessa tabela, são descritas as classes, eventos e tipos úteis para cada tipo de unidade: BirdWatch® RL BirdWatch® RL Plus OnIncidence ● ● OnNotification ● ● OnInputChange ● ● System. ● ● Units ● ● Unit ● ● UnitStatus ● ● VersionInformation ● ● Detectors ● ● Detector ● ● RedLightDetector ● ● StoppedCarDetector ● ● TrafficLights ● ● TrafficLight ● ● HistoricIncidences ● ● Regions ● ● Region ● ● Eventos OnRealTimeInformation OnSummary Classes PresenceDetector QueueDetector SpeedDetector HistoricSummaries RealTimeInformation Quercus Technologies 124 Manual de referencia de BirdWatch® RL Programação OutputActuators OutputActuator Lights ● ● Light ● ● Incidence ● ● Images ● ● Image ● ● Video ● Summary SpeedsDistribution LengthsDistribution OccupationsDistribution SpeedsUpperLimit LengthsUpperLimit OccupationsUpperLimit Notification ● ● Timestamp ● ● Configuration ● ● ConfigurationDetector ● ● ConfigurationRedLightDetector ● ● ConfigurationStoppedCarDetector ● ● ConfigurationTrafficLight ● ● ConfigurationLights ● ● ConfigurationLight ● ● SystemInformation ● ● SettingEntry ● ● VLDetectorType ● ● VLNotificationCode ● ● VLIncidenceType ● ● VLLightType ● ● ● ● ConfigurationPresenceDetector ConfigurationQueueDetector ConfigurationSpeedDetector ConfigurationOutputActuators ConfigurationOutputActuator Tipos VLFieldType VLOperatorType VLTimestampObject Quercus Technologies 125 Manual de referencia de BirdWatch® RL Programação VLLogSystem ● ● VLConfigurationActionType ● ● 14.2. Hierarquia O sistema segue esta divisão hierárquica de objetos: System. n Units Unit n n Detectors Historic Summaries TrafficLights TrafficLight Detector n n Summary Historic Incidences Incidence ● System: representa a raiz do sistema VL. Proporciona, principalmente, uma coleção de unidades. ● Unit: é a representação lógica de uma unidade. Equivale diretamente a uma unidade. ● Detector: é a representação lógica de um resumo. Dela derivam as classes PresenceDetector, QueueDetector, SpeedDetector, RedLightDetector e StoppedCarDetector. ● TrafficLight: é a representação lógica de um semáforo. ● Summary: é a representação lógica de um resumo. ● Incidence: é a representação lógica de uma incidência. Observar que, em cada modificação da configuração da unidade, a hierarquia de objetos do tipo Detector e TrafficLight é recomeçada a partir de zero. Portanto, quando se quiser fazer um uso contínuo de algum desses objetos, deverá ser salva uma referência dele, para que ele não seja modificado ou destruído. Exemplo de código incorreto (em C++) printf( …, System::GetUnit(0).Detector(0).Id); printf( …, System::GetUnit(0).Detector(0).Type); modificado) // Primeiro uso do detector // Segundo uso do detector (poderia ter Exemplo de código correto (em C++) detector=Unit(0).Detector(0) // Obtenção do detector printf( …, detector.Id); printf( …, detector.Type); Quercus Technologies // Primeiro uso do detector // Segundo uso do detector (o detector continua sendo o mesmo) 126 Manual de referencia de BirdWatch® RL Programação Exemplo de código correto (em C) detector = VL_Unit_get_Detectors_Item(unit, 0); // Obtenção do detector printf( …, VL_Detector_get_Id(detector)); printf( …, VL_Detector_get_SummariesPeriod(detector)); VL_Detector_Release(detector); // Primeiro uso do detector // Segundo uso d detector (segue sendo o mesmo // Libera o detector 14.3. Classes Em C e C++ será necessário chamar a função VLLoad ( ) para fazer o upload da biblioteca (antes de qualquer outra chamada), e a função VLUnload ( ), ao terminar a execução do programa (depois da última chamada de funções da biblioteca) para fazer o download da biblioteca. Todos os valores booleanos que se documentam para a biblioteca de C++ se traduzem à biblioteca de C como: C++ Verdadeiro C Valor inteiro diferente de zero Falso zero 14.4. Classe System Representa a raiz da hierarquia dos objetos que compõem o sistema VL. 14.4.1. Propriedades ● Status C++: static bool get_Status ( ) C: int VL_System_get_Status ( ) Retorna o estado do sistema. Será verdadeiro se todos os componentes do sistema trabalham corretamente, o falso se existe erro em algum deles. ● Units C++: static Units get_Units( ) C: Não existe Em C++, devolve a coleção de unidades que formam o sistema. Em C não existe uma representação da coleção “Units”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_System_get_Units_Count ( ): número de unidades existentes no sistema. ● int VL_System_get_Units_Item ( int item ): retorna a unidade existente na posição indicada dentro da coleção de unidades do sistema (a partir de zero). Quercus Technologies 127 Manual de referencia de BirdWatch® RL Programação Se não existir um Unit para a unidade indicada, retorna nulo. ● int VL_System_get_Units_Id ( int id ): retorna a unidade com o identificador "id" dentro da coleção de unidades do sistema. Se não existir um Unit para o identificador indicado, devolve nulo. 14.4.2. Métodos ● Initialize C++: static bool Initialize (const char *iniFile, const char *logFile, ISystemEH *systemEH) C: int VL_System_Initialize)(const char * iniFile, VL_ISYSTEMEH_ONREALTIMEINFORMATION, VL_ISYSTEMEH_ONSUMMARY, const char* logFile, VL_ISYSTEMEH_ONINCIDENCE, VL_ISYSTEMEH_ONNOTIFICATION, VL_ISYSTEMEH_ONINPUTCHANGE) Inicia o sistema com os arquivos de configuração e de log indicados. Retorna verdadeiro se foi iniciado corretamente e falso em caso contrário. Em C++ se espera o trajeto e o nome do arquivo de configuração e do arquivo de log nos parâmetros "iniFile" e "logFile" respectivamente. Em C++ o parâmetro "systemEH" é um ponteiro a um objeto de uma classe derivada de ISystemEH, necessário para lançar os eventos. Em C se devem passar os ponteiros às funções a chamar (callbacks) para poder lançar os eventos. A declaração dessas funções está indicada no subcapítulo de Eventos dessa classe. Se não precisar capturar algum dos eventos, pode passar NULL à função de callback, no lugar do ponteiro. ● Terminate C++: static void Terminate ( ) C: void VL_System_Terminate ( ) Fecha o sistema. 14.4.3. Eventos Em C++, declararou-se uma classe abstrata ISystemEH na qual figura a declaração dos métodos que tratarão os eventos. Deverá criar-se uma classe derivada de ISystemEH e implementar os métodos correspondentes aos eventos que se deseje captar. Em C deverão implementar-se as funções que tratarão os eventos conforme a definição indicada em cada um. ● OnRealTimeInformation C++: void OnRealTimeInformation(RealTimeInformation info) C: void VL_OnRealTimeInformation(int hInfo) Quercus Technologies 128 Manual de referencia de BirdWatch® RL Programação Evento lançado quando ocorre um evento em tempo real. O parâmetro “info” recebe os dados do evento (consulte a classe “RealTimeInformation”). Em C, o parâmetro “hInfo” é um manipulador de RealTimeInformation. No caso de ser necessário ficar com o elemento hInfo fora do âmbito da função, deverá ser chamada a função VL_RealTimeInformation_AddRef para adicionar uma referência (ver método AddRef da classe RealTimeInformation), e a função RealTimeInformation_Release para eliminar a referência e liberar a memória quando não for mais necessário (ver método Release da classe RealTimeInformation). ● OnIncidence C++: void OnIncidence(Incidence incidence) C: void VL_OnIncidence(int hIncidence) Evento lançado quando se recebe uma incidência de uma unidade. O parâmetro “incidence” recebe os dados do evento (consulte a classe “Incidence”). Em C, o parâmetro “hIncidence” é um manipulador da incidência (Incidence). No caso de ser necessário ficar com o elemento hIncidence fora do âmbito da função, deverá ser chamada a função VL_Incidence_AddRef para adicionar uma referência (ver método AddRef da classe Incidence), e a função VL_Incidence_Release para eliminar a referência e liberar a memória quando não for houver mais necessidade (ver método Release da classe Incidence). ● OnSummary C++: void OnSummary(Summary summary) C: void VL_OnSummary(int hSummary) Evento lançado quando ocorre um evento em tempo real. O parâmetro “summary” recebe os dados do evento (consulte a classe “Summary”). Em C, o parâmetro “hSummary” é um manipulador do resumo (Summary). No caso de ser necessário ficar com o elemento hSummary fora do âmbito da função, deverá ser chamada a função VL_Summary_AddRef para adicionar uma referência (ver método AddRef da classe Summary), e a função VL_Summary_Release para eliminar a referência e liberar a memória quando não for houver mais necessidade (ver método Release da classe Summary). ● OnNotification C++: void OnNotification(Notification notification) C: void VL_OnNotification(int hNotification) Evento lançado quando ocorre um evento em tempo real. O parâmetro “hNotification” recebe os dados do evento (consulte a classe “Notification”). Quercus Technologies 129 Manual de referencia de BirdWatch® RL Programação Em C o parâmetro “hNotification” é um manipulador da notificação (Notification). Tanto em C como em C++ o parâmetro de notificação somente é valido dentro do âmbito da função. ● OnInputChange C++: void OnInputChange(Unit unit, int bit, bool value) C: void VL_OnInputChange(int unit, int bit, bool value) Evento lançado quando uma entrada programada (entrada não usada como sensor, para a qual se estabeleceu, através de configuração, que devem ser notificadas as mudanças que nela ocorrerem) de um cartão de E/S mudou de valor. O parâmetro “unit” é a unidade onde o evento ocorreu. O parâmetro “bit” é o número de bit (a partir de zero) que mudou e “value” é o novo valor (‘verdadeiro’, se estiver ativo e ‘falso’, se estiver inativo). 14.5. Classe Units Coleção de unidades do sistema. 14.5.1. Propriedades ● Count C++: int Count ( ) C: Não existe, consultar VL_System_get_Units_Count ( ) de System. Número de unidades existentes no sistema. ● Item C++: Unit Item ( int item ) C: Não existe, consultar VL_System_get_Unit_Item ( ) de System. Devolve a unidade existente na posição indicada dentro da coleção de unidades do sistema. A posição que cada unidade ocupa dentro do sistema é a mesma do índice definido no arquivo de inicialização do sistema. Se não existir uma Unit para a posição indicada, devolve um não válido (ver IsValid da classe Unit). No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). ● Id C++: Unit Id ( int id ) C: No existe, consultar VL_System_get_Units_Id ( ) de System. Retorna a unidade com o identificador "id" dentro da coleção de unidades do sistema. Se não existir uma Unit com o identificador indicado, devolve uma não válida (ver IsValid da classe Unit). Quercus Technologies 130 Manual de referencia de BirdWatch® RL Programação 14.6. Classe Unit Representa uma unidade do sistema. 14.6.1. Propriedades ● Id C++: int get_Id ( ) C: int VL_Unit_get_Id (int h) Identificador único da unidade. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● Ip C++: void get_IpAddress ( char *buffer, int bufLen ) C: void VL_Unit_get_IpAddress ( int h, char *buffer, int bufLen ) Retorna o endereço de IP da unidade. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● Status C++: UnitStatus get_Status ( ) C: int VL_Unit_get_Status (int h) Devolve a situação da unidade. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● Configuration C++: Configuraton get_Configuration ( ) C: int VL_Unit_get_Configuration (int h) Devolve o sistema de configuração da unidade. Em C++, se não existir um sistema de configuração accessível na unidade, devolve um não válido (ver IsValid da classe Configuration). Em C, si não existe um sistema de configuração accessível na unidade, devolve nulo. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● Detectors C++: Detectors get_Detectors() C: Não existe Quercus Technologies 131 Manual de referencia de BirdWatch® RL Programação Em C++, devolve a coleção de detectores da unidade. Em C não existe uma representação da coleção “Detectors”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_Unit_get_Detectors_Count(int h): devolve o número de detectores existentes na unidade “h”. ● int VL_Unit_get_Detectors_Item(int h, int item): devolve o detector existente na posição indicada dentro da coleção de detectores da unidade “h” (a partir de zero). O parâmetro “h” é um manipulador da unidade (Unit). Se não existir um Detector para a posição indicada, retorna nulo. Quando não se precisar mais do elemento, deverá ser chamada a função VL_Detector_Release (ver o método Release da classe Detector). ● int VL_Unit_get_Detectors_Id(int h, int id): retorna o detector com o identificador "id" dentro da coleção de detectores da unidade "h". O parâmetro “h” é um manipulador da unidade (Unit). Se não existir um Detector para o detector indicado, devolve nulo. Quando não se precisar mais do elemento, deverá ser chamada a função VL_Detector_Release (ver o método Release da classe Detector). ● TrafficLights C++: TrafficLights get_TrafficLights() C: Não existe Em C++, devolve a coleção de semáforos da unidade. Em C não existe uma representação da coleção “TrafficLights”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_Unit_get_TrafficLights_Count(int h): devolve o número de semáforos existentes na unidade “h”. ● int VL_Unit_get_TrafficLights_Item(int h, int item): retorna o semáforo que há na posição indicada dentro da coleção de semáforos da unidade "h" (a partir de zero). Se não existir um TrafficLights para a posição indicada, retorna nulo. O parâmetro “h” é um manipulador da unidade (Unit). Quando não se precisar mais do elemento, deverá ser chamada a função VL_TrafficLight_Release (ver o método Release da classe TrafficLight). ● int VL_Unit_get_TrafficLights_Id(int h, int id): retorna o semáforo com o identificador "id" dentro da coleção de semáforos da unidade "h". O parâmetro “h” é um manipulador da unidade (Unit). Se não existir um TrafficLights com o identificador indicado, devolve nulo. Quando não se precisar mais do elemento, deverá ser chamada a função VL_TrafficLight_Release (ver o método Release da classe TrafficLight). Quercus Technologies 132 Manual de referencia de BirdWatch® RL ● Programação HistoricIncidences C++: HistoricIncidences get_HistoricIncidences() C: int VL_Unit_get_HistoricIncidences(int h) Devolve o histórico de incidências da unidade. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● HistoricSummaries C++: HistoricSummaries get_HistoricSummaries() C: int VL_Unit_get_HistoricSummaries(int h) Devolve o histórico de resumos da unidade. Em C, o parâmetro “h” é um manipulador da unidade (Unit). 14.6.2. Métodos ● IsValid C++: bool IsValid ( ) C: Não existe Devolve verdadeiro, se o objeto contém informações válidas sobre uma unidade, e devolve falso se as informações não forem válidas. Em alguns casos, algumas funções podem retornar unidades vazias. Em C, isso é detectado porque seu valor será zero. Em C++ em contrapartida, é necessário este método dado que o objeto (pelo fato de não se tratar de um ponteiro) sempre será correto. ● Reboot C++: void Reboot ( ) C: void VL_Unit_Reboot ( int h ) Reinicia a unidade. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● GetSnapshot C++: bool GetSnapshot( int roiRight, int roiTop, int roiLeft, int roiBottom, int exposureTime, bool zoom, int maxSize, unsigned char* pImageData, int *imageLen, int *focus, int *numDetectors, int *detectors, int *numRedLights, int *redLights, int *inputValues, int *outputValues); C: int VL_Unit_GetSnapshot(int h, int roiRight, int roiTop, int roiLeft, int roiBottom, int exposureTime, int zoom, int maxSize, unsigned char* pImageData, int* imageLen, int *focus, int *numDetectors, int *detectors,int *numRedLights,int *redLights,int *inputValues,int *outputValues) Quercus Technologies 133 Manual de referencia de BirdWatch® RL Programação Realiza uma “radiografia" geral da unidade. Devolve uma captura em branco e preto de 0,3Mp (640 pixels de largura e 480 de altura) em jpeg e uma situação completa dos detectores, semáforos e entradas e saídas digitais. Devolve verdadeiro, se foi respondido com sucesso, ou falso, se houve problemas. O conteúdo da imagem e o valor do focus (coeficiente de foco digital) variarão, dependendo do valor dos parâmetros de entrada: • Zoom em falso, retângulo incorreto: a imagem obtida corresponderá à totalidade da imagem capturada pela unidade. O valor do focus não será calculado (-1). • Zoom em falso, retângulo correto: a imagem obtida corresponderá à totalidade da imagem capturada pela unidade. O focus será calculado a partir do retângulo da imagem. • Zoom em certo, retângulo incorreto: combinação incorreta; será devolvido falso. • Zoom em certo, retângulo correto: a imagem obtida corresponderá a uma zona da imagem capturada ampliada. A posição central do retângulo coincidirá com a posição central da zona ampliada. O focus será calculado a partir da zona ampliada. ○ Parâmetros de entrada: int roiRight: valor X (eixo horizontal) do lado direito do retângulo; para não defini-lo, indicar -1. int roiTop: valor Y (eixo vertical) do lado superior do retângulo; para não defini-lo, indicar -1. int roiLeft: valor X (eixo horizontal) do lado esquerdo do retângulo; para não defini-lo, indicar -1. int roiBottom: valor Y (eixo vertical) do lado inferior do retângulo; para não defini-lo, indicar -1. int exposureTime: tempo de exposição da câmera para a captura. bool zoom: indica se a imagem obtida deve ser aquela capturada pela unidade (falso) ou uma ampliação sua (certo). int maxSize: indica o tamanho do buffer pImageData. Esse é um parâmetro de segurança; se o tamanho do buffer for insuficiente, não será preenchido e será devolvido como falso. ○ Parâmetros de saída: unsigned char* pImageData: ponteiro onde será armazenada a imagem capturada. Esta, terá um tamanho máximo de 524288 bytes. int* imageLen: tamanho da imagem obtida; em bytes. int *focus: coeficiente do foco digital calculado; -1, se não tiver sido calculado. int *numDetectors: número de detectores configurados. int *detectors: tabela com o estado dos laços de cada um dos detectores; embora seu tamanho deva ser 15, somente estarão escritas as primeiras posições numDetectors. Os detectores estarão dispostos na mesma ordem em que foram configurados e cada posição detalhará a situação de seus laços bit a bit. O bit de menor peso corresponderá ao primeiro laço. Possíveis valores: 1 ocupado, 0 desocupado. int *numRedLights: número de semáforos configurados. int *redLights: tabela com a situação de cada um dos semáforos; embora seu tamanho deva ser 5, somente Quercus Technologies 134 Manual de referencia de BirdWatch® RL Programação estarão escritas as primeiras posições numRedLights. Os semáforos estarão dispostos na mesma ordem em que foram configurados. Possíveis valores: 0 “em vermelho”, outro valor “em outra situação”. int *inputValues: situação das 4 entradas digitais. Cada um dos primeiros 4 bits corresponderá à situação de uma entrada, sendo o bit de menor peso para a entrada zero. Possíveis valores: 1 ativada, 0 desativada. int *outputValues: situação das 4 saídas digitais. Cada um dos primeiros 4 bits corresponderá à situação de uma saída, sendo o bit de menor peso para a saída zero. Possíveis valores: 1 ativada, 0 desativada. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● ActivateOutput C++: bool ActivateOutput(int bit, int time) C: int VL_Unit_ActivateOutput(int h, int bit, int time) Ativa a saída digital “bit” o tempo especificado em milésimos de segundos. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● GetIOValues C++: bool GetIOCardValues(int &inputValues,int &outputValues) C: int VL_Unit_GetIOValues(int h, int *inputValues, int *outputValues) Informa a situação das entradas e saídas digitais. Cada um dos primeiros 4 bits de inputValues/outputValues corresponderá à situação de uma entrada/saída, sendo o bit de menor peso para a entrada/saída zero. Possíveis valores: 1 ativada, 0 desativada. Devolve verdadeiro, se foi respondido com sucesso, ou falso, se houve problemas. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● GetVersão C++: VersionInformation GetVersion() C: int Unit_GetVersion(int h) Devolve a versão do firmware da unidade. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● GetRealTimeInformation C++: RealTimeInformation GetRealTimeInformation(int detectorId) C: int VL_Unit_GetRealTimeInformation(int h,int detectorId) Devolve o último evento em tempo real da unidade especificada. Em C++, se não existir um evento em tempo real para a posição indicada, devolve um não válido (ver IsValid Quercus Technologies 135 Manual de referencia de BirdWatch® RL Programação da classe RealTimeInformation). Em C, o parâmetro “h” é um manipulador da unidade (Unit). Em C, se não existir um evento em tempo real para o detector indicado, devolve nulo. Em C, quando não se necessitar mais o elemento, deverá ser chamada a função VL_RealTimeInformation_Release (ver o método Release da classe RealTimeInformation). ● SetUnitTasks C++: bool SetUnitTasks(bool *sendInputChanges) C: int VL_Unit_SetUnitTasks(int h, int *sendInputChanges) Configura a situação das tarefas da unidade. Se sendInputChanges for certo, a unidade notificará o sistema central sobre as mudanças nas entradas digitais, se for falso, não o fará. Devolve verdadeiro se a solicitação tiver sido realizada com sucesso, ou devolve como falso, se houve problemas. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● SetDetectorTasks C++: bool SetDetectorTasks(int id, bool enabledSummaries, bool enabledIncidences, bool sendSummaries, bool sendIncidences, bool sendRealTimeInformation) C: int VL_Unit_SetDetectorTasks(int h, int id, bool enabledSummaries, bool enabledIncidences, bool sendSummaries, bool sendIncidences, bool sendRealTimeInformation) Configura a situação das tarefas do detector indicado (id). Devolve verdadeiro se a solicitação tiver sido realizada com sucesso, ou devolve como falso, se houve problemas. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● GetUnitTasks C++: bool GetUnitTasks(bool *sendInputChanges) C: int VL_Unit_GetUnitTasks(int h, int *sendInputChanges) Informa sobre a situação das tarefas da unidade. Devolve verdadeiro se a solicitação tiver sido realizada com sucesso, ou devolve como falso, se houve problemas. Em C, o parâmetro “h” é um manipulador da unidade (Unit). ● GetDetectorTasks C++: bool GetDetectorTasks(int id, int id, bool *enableSummaries, bool *enableIncidences, bool *sendSummaries, bool *sendIncidences, bool *sendRealTimeInformation) Quercus Technologies 136 Manual de referencia de BirdWatch® RL C: Programação int VL_Unit_GetDetectorTasks(int h, int id, int *enableSummaries, int *enableIncidences, int *sendSummaries, int *sendIncidences, int *sendRealTimeInformation) Informa sobre a situação das tarefas do detector indicado (id). Devolve verdadeiro se a solicitação tiver sido realizada com sucesso, ou devolve como falso, se houve problemas. Em C, o parâmetro “h” é um manipulador da unidade (Unit). 14.7. Classe UnitStatus Situação da unidade. 14.7.1. Propriedades ● Global C++: bool get_Status() C: int VL_UnitStatus_get_Status(int h) Situação global da unidade. Devolve verdadeiro se a situação do sistema da unidade for correto, caso contrário, devolve falso. Em C, o parâmetro “h” é um manipulador da situação do sistema (UnitStatus). ● Communication C++: bool get_Communication() C: int VL_UnitStatus_get_Communication(int h) Situação da comunicação com a unidade. Verdadeiro se foi possível estabelecer comunicação, falso caso contrário. Em C, o parâmetro “h” é um manipulador da situação do sistema (UnitStatus). 14.8. Classe VersionInformation Versão do firmware de uma unidade. 14.8.1. Propriedades ● Name C++: void get_Name(char *buffer, int bufLen) C: void VL_VersionInformation_get_Name(int h, char *buf, int bufLen) Informa qual é o nome da versão. Quercus Technologies 137 Manual de referencia de BirdWatch® RL Programação Em C, o parâmetro “h" é um manipulador da versão (VersionInformation). ● Major C++: int get_Major() C: int VL_VersionInformation_get_Major(int h) Informa sobre o valor Major da versão. Em C, o parâmetro “h" é um manipulador da versão (VersionInformation). ● Minor C++: int get_Minor() C: int VL_VersionInformation_get_Minor(int h) Informa sobre o valor Minor da versão. Em C, o parâmetro “h" é um manipulador da versão (VersionInformation). ● Revisão C++: int get_Revision() C: int VL_VersionInfo_get_Revision(int h) Informa o valor Revision da versão. Em C, o parâmetro “h" é um manipulador da versão (VersionInformation). 14.9. Classe Detectors Coleção de detectores existentes na unidade. 14.9.1. Propriedades ● Count C++: int Count ( ) C: Não existe, consultar VL_Unit_get_Detectors_Count (int h) de Unit. Número de detectores configurados na unidade. ● Item C++: Detector Item ( int item ) C: Não existe, consultar VL_Unit_get_Detectors_Item(int h, int item) de Unit. Devolve o detector existente na posição indicada dentro da coleção de detectores da unidade; estão na mesma Quercus Technologies 138 Manual de referencia de BirdWatch® RL Programação ordem em que foram configurados. No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). Se não existir um Detector para a posição indicada, devolve um não válido (ver IsValid da classe Detector). ● Id C++: Detector Id ( int id ) C: Não existe, consultar VL_Unit_get_Detectors_Id(int h, int id) de Unit. Retorna o detector com o identificador "id" dentro da coleção de detectores da unidade. Se não existir um Detector para o identificador indicado, devolve um não válido (ver IsValid da classe Detector). 14.10. Classe Detector Representação lógica de um detector. 14.10.1. Propriedades ● Unit C++: Unit get_Unit() C: int VL_Detector_get_Unit(int h) Devolve a unidade à qual o detector pertence. Em C, o parâmetro “h” é um manipulador do detector (Detector). ● Id C++: int get_Id() C: int VL_Detector_get_Id(int h) Devolve o identificador do detector. Em C, o parâmetro “h” é um manipulador do detector (Detector). ● Type C++: VLDetectorType get_Type() C: int VL_Detector_get_Type(int h) Devolve o tipo de detector. Em C, o parâmetro “h” é um manipulador do detector (Detector). ● AreIncidencesEnabled Quercus Technologies 139 Manual de referencia de BirdWatch® RL C++: bool get_AreIncidencesEnabled() C: int VL_Detector_get_AreIncidencesEnabled(int h) Programação Devolve como verdadeiro, se a geração de incidência estiver ativada, e devolve falso se ela estiver desativada. Em C, o parâmetro “h” é um manipulador do detector (Detector). ● AreSummariesEnabled C++: bool get_AreSummariesEnabled() C: int VL_Detector_get_AreSummariesEnabled(int h) Devolve como verdadeiro, se a geração de resumos estiver ativada, e devolve falso se ela estiver desativada. Em C, o parâmetro “h” é um manipulador do detector (Detector). ● SendRealTimeInformation C++: bool get_SendRealTimeInformation() C: int VL_Detector_get_SendRealTimeInformation(int h) Devolve verdadeiro se o envio de eventos em tempo real estiver ativado e devolve falso se ele não estiver. Em C, o parâmetro “h” é um manipulador do detector (Detector). ● SendIncidences C++: bool get_SendIncidences() C: int VL_Detector_get_SendIncidences(int h) Devolve como verdadeiro, se o envio de incidências estiver ativado, e devolve falso se ele estiver desativado. Em C, o parâmetro “h” é um manipulador do detector (Detector). ● SendSummaries C++: bool get_SendSummaries() C: int VL_Detector_get_SendSummaries(int h) Devolve como verdadeiro, se o envio de resumos estiver ativado, e devolve falso se ele estiver desativado. Em C, o parâmetro “h” é um manipulador do detector (Detector). ● SummariesPeriod C++: int get_SummariesPeriod() C: int VL_Detector_get_SummariesPeriod(int h) Devolve o período dos resumos configurado; em minutos. Quercus Technologies 140 Manual de referencia de BirdWatch® RL Programação Em C, o parâmetro “h” é um manipulador do detector (Detector). ● Coordinates C++: Region get_Coordinates() C: int VL_Detector_get_Coordinates(int h) Devolve as coordenadas do detector. Em C, o parâmetro “h” é um manipulador do detector (Detector). ● LoopsCoordinates C++: Regions get_LoopsCoordinates() C: Não existe Em C++, devolve a coleção de coordenadas dos laços que formam o detector. Em C não existe uma representação da coleção “Regions”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_Detector_get_LoopsCoordinates_Count(int h): número de laços configurados no detector. ● int VL_Detector_get_LoopsCoordinates_Item(int h, int item): devolve as coordenadas da posição indicada dentro da coleção de coordenadas dos laços do detector (a partir de zero). O parâmetro de retorno é um manipulador dessas coordenadas (Region). Se não existir um Unit para a unidade indicada, retorna nulo. O parâmetro “h” é um manipulador do detector (Detector). ● OutputActuators C++: OutputActuators get_OutputActuators() C: Não existe Em C++, devolve a coleção de atuadores de saída que formam o detector. Em C não existe uma representação da coleção “OutputActuators”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_Detector_get_OutputActuators_Count(int h): número de atuadores de saída existentes no detector. ● int VL_Detector_get_OutputActuators_Item(int h, int item): devolve o atuador de saída existente na posição indicada dentro da coleção de atuadores de saída do detector (a partir de zero). Se não existir um OutputActuators para a unidade indicada, retorna nulo. O parâmetro “h” é um manipulador do detector (Detector). Quercus Technologies 141 Manual de referencia de BirdWatch® RL Programação 14.10.2. Métodos ● IsValid C++: bool IsValid() C: Não existe Devolve verdadeiro se o objeto contém informações válidas sobre um Detector, e devolve falso se as informações não forem válidas. Em alguns casos, alguns métodos podem retornar detectores vazios. Em C, isso é detectado porque seu valor será zero. Em C++ em contrapartida, é necessário este método dado que o objeto (pelo fato de não se tratar de um ponteiro) sempre será correto. ● AddRef C++: Não existe C: void VL_Detector_AddRef ( int h ) Ver 13.2.1Gerenciamento de memória. ● Release C++: Não existe C: void VL_Detector_Release ( int h ) Ver 13.2.1Gerenciamento de memória. 14.11. Classe PresenceDetector Representação lógica de um detector do tipo presença. Essa classe deriva da classe Detector, o que a leva a herdar todos seus métodos e propriedades. Ela tem o operador de designação implementado para usar um detector genérico como detector de presença. Exemplo em C++ if(detector.get_Type() == DT_PRESENCE) { PresenceDetector detectorDePresença; detectorDePresencia = detector; // Operador de designação TratarDetectorDePresença(detectorDePresença); } Exemplo em C if(Detector_get_Type(hDetector) == PRESENCE) { TratarDetectorDePresença(hDetector) } Quercus Technologies 142 Manual de referencia de BirdWatch® RL Programação 14.12. Classe QueueDetector Representação lógica de um detector do tipo fila. Essa classe deriva da classe Detector, o que a leva a herdar todos seus métodos e propriedades. Ela tem o operador de designação implementado para usar um detector genérico como detector de fila. Exemplo em C++ if(detector.get_Type() == DT_QUEUE) { QueueDetector detectorDeFila; detectorDeFila = detector; // Operador de designação TratarDetectorDeFila(detectorDeFila) } Exemplo em C if(Detector_get_Type(hDetector) == DT_QUEUE) { TratarDetectorDeFila(hDetector); } 14.13. Classe SpeedDetector Representação lógica de um detector do tipo velocidade. Essa classe deriva da classe Detector, o que a leva a herdar todos seus métodos e propriedades. Ela tem o operador de designação implementado para usar um detector genérico como detector de velocidade. Exemplo em C++ if(detector.get_Type() == DT_SPEED) { SpeedDetector detectorDeVelocidade; detectorDeVelocidade = detector; // Operador de designação TratarDetectorDeVelocidade(detectorDeVelocidade); } Exemplo em C if(Detector_get_Type(hDetector) == DT_SPEED) { TratarDetectorDeVelocidade(hDetector); } 14.13.1. Propriedades ● CalculateMetrics C++: Quercus Technologies bool get_CalculateMetrics() 143 Manual de referencia de BirdWatch® RL C: Programação int VL_SpeedDetector_get_CalculateMetrics (int h) Devolve certo, se o detector tiver habilitado a opção de calcular a métrica. Em C, o parâmetro “h” é um manipulador do detector (SpeedDetector). ● Distance C++: int get_Distance() C: int VL_SpeedDetector_get_Distance (int h) Devolve a distância da câmera até o detector; em milímetros. Em C, o parâmetro “h” é um manipulador do detector (SpeedDetector). ● Length C++: int get_Length() C: int VL_SpeedDetector_get_Length(int h) Devolve o comprimento do detector; em milímetros. Em C, o parâmetro “h” é um manipulador do detector (SpeedDetector). 14.14. Classe RedLightDetector Representação lógica de um detector do tipo avançar sinal vermelho. Essa classe deriva da classe Detector, o que a leva a herdar todos seus métodos e propriedades. Ela tem o operador de designação implementado para usar um detector genérico como detector de avançar sinal vermelho. Exemplo em C++ if(detector.get_Type() == DT_RED_LIGHT) { RedLightDetector detectorDeAvançarSinalVermelho; detectorDeAvançarSinalVermelho = detector; // Operador de designação TratarDetectorDeAvançarSinalVermelho(detectorDeAvançarSinalVermelho); } Exemplo em C if(Detector_get_Type(hDetector) == DT_RED_LIGHT) { TratarDetectorDeAvançarSinalVermelho(hDetector); } 14.14.1. Propriedades ● CalculateMetrics Quercus Technologies 144 Manual de referencia de BirdWatch® RL C++: bool get_CalculateMetrics() C: int VL_RedLightDetector_get_CalculateMetrics (int h) Programação Devolve certo, se o detector tiver habilitado a opção de calcular a métrica. Em C, o parâmetro “h” é um manipulador do detector (RedLightDetector). ● Distance C++: int get_Distance() C: int VL_RedLightDetector_get_Distance (int h) Devolve a distância da câmera até o detector; em milímetros. Em C, o parâmetro “h” é um manipulador do detector (RedLightDetector). ● Length C++: int get_Length() C: int VL_RedLightDetector_get_Length(int h) Devolve o comprimento do detector; em milímetros. Em C, o parâmetro “h” é um manipulador do detector (RedLightDetector). ● DelayTime C++: int get_DelayTime() C: int VL_RedLightDetector_get_DelayTime(int h) Devolve o tempo mínimo que deve transcorrer desde a ativação do sinal de proibição de avançar até a infração da incidência para que esta seja gerada; em milésimos de segundos. Em C, o parâmetro “h” é um manipulador do detector (RedLightDetector). ● TrafficLightId C++: int get_TrafficLightId() C: int VL_RedLightDetector_get_TrafficLightId(int h) Devolve o identificador do semáforo utilizado para o sinal de proibição de avançar. Se não tiver sido configurado um semáforo, mas uma entrada digital (ver Input de RedLightDetector), devolverá -1. Em C, o parâmetro “h” é um manipulador do detector (RedLightDetector). ● RedInput C++: int get_RedInput() C: int VL_RedLightDetector_get_RedInput(int h) Quercus Technologies 145 Manual de referencia de BirdWatch® RL Programação Devolve o identificador da entrada digital utilizada para o sinal de proibição de avançar. Se não tiver sido configurada uma entrada digital, mas um semáforo (ver TrafficLightID de RedLightDetector), devolverá -1. Em C, o parâmetro “h” é um manipulador do detector (RedLightDetector). ● AmberInput C++: int get_AmberInput() C: int VL_RedLightDetector_get_AmberInput(int h) Devolve o identificador da entrada digital utilizada para o sinal de âmbar do semáforo. Se não tiver sido configurada uma entrada digital para o sinal de âmbar, devolverá -1. Em C, o parâmetro “h” é um manipulador do detector (RedLightDetector). ● IsVideoEnabled C++: bool get_IsVideoEnabled() C: int VL_RedLightDetector_get_IsVideoEnabled(int h) Devolve certo, se o detector tiver habilitada a geração de vídeos nas incidências, ou falso em caso contrário. Em C, o parâmetro “h” é um manipulador do detector (RedLightDetector). 14.15. Classe StoppedCarDetector Representação lógica de um detector do tipo veículo parado. Essa classe deriva da classe Detector, o que a leva a herdar todos seus métodos e propriedades. Ela tem o operador de designação implementado para usar um detector genérico como detector de veículo parado. Exemplo em C++ if(detector.get_Type() == DT_STOPPED_CAR) { StoppedCarDetector detectorDeVeiculoParado; detectorDeVehiculoParado = detector; // Operador de alocação TratarDetectorDeVehiculoParado (detectorDeVehiculoParado); } Exemplo em C if(Detector_get_Type(hDetector) == DT_STOPPED_CAR) { TratarDetectorDeVehiculoParado(hDetector); } Quercus Technologies 146 Manual de referencia de BirdWatch® RL Programação 14.15.1. Propriedades ● MaxStopTime C++: int get_MaxStopTime() C: int VL_StoppedCarDetector_get_MaxStopTime(int h) Devolve o tempo mínimo que deve estar o veículo parado, uma vez ativado o sinal de proibição, para que se gere uma infração; em milésimos de segundos. Em C, o parâmetro “h” é um manipulador do detector (StoppedCarDetector). ● TrafficLightId C++: int get_TrafficLightId() C: int VL_StoppedCarDetector_get_TrafficLightId(int h) Devolve o identificador do semáforo utilizado para o sinal de proibição de avançar. Se não tiver sido configurado um semáforo, mas uma entrada digital (ver RedInput de StoppedCarDetector), devolverá -1. Em C, o parâmetro “h” é um manipulador do detector (StoppedCarDetector). ● RedInput C++: int get_RedInput() C: int VL_StoppedCarDetector_get_RedInput(int h) Devolve o identificador da entrada digital utilizada para o sinal de proibição de avançar. Se não tiver sido configurada uma entrada digital, mas um semáforo (ver TrafficLightID de StoppedCarDetector), devolverá -1. Em C, o parâmetro “h” é um manipulador do detector (StoppedCarDetector). ● IsVideoEnabled C++: bool get_IsVideoEnabled() C: int VL_StoppedCarDetector_get_IsVideoEnabled(int h) Devolve certo, se o detector tiver habilitada a geração de vídeos nas incidências, ou falso em caso contrário. Em C, o parâmetro “h” é um manipulador do detector (StoppedCarDetector). 14.16. Classe TrafficLights Coleção de semáforos configurados na unidade. 14.16.1. Propriedades ● Count C++: Quercus Technologies int Count ( ) 147 Manual de referencia de BirdWatch® RL C: Programação No existe, consultar VL_Unit_get_TrafficLights_Count(int h) de Unit. Número de semáforos configurados na unidade. ● Item C++: TrafficLight Item ( int item ) C: Não existe, consultar VL_Unit_get_TrafficLights_Item(int h, int item) de Unit. Devolve o semáforo existente na posição indicada dentro da coleção de semáforos da unidade; estão na mesma ordem em que foram configurados. No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). Se não existir o semáforo para a posição indicada, devolve um não válido (ver IsValid da classe TrafficLight). ● Id C++: TrafficLight Id ( int id ) C: Não existe, consultar VL_Unit_get_TrafficLights_Id(int h, int id) de Unit. Devolve o semáforo com o identificador "id" dentro da coleção de detectores da unidade. Se não existir um semáforo com o identificador indicado, devolve um não válido (ver IsValid de la classe TrafficLight). 14.17. Classe TrafficLight Representação lógica de um semáforo. 14.17.1. Propriedades ● Unit C++: Unit get_Unit() C: int VL_TrafficLight_get_Unit(int h) Devolve a unidade à qual o semáforo pertence. Em C, o parâmetro “h” é um manipulador do semáforo (TrafficLight). ● Id C++: int get_Id() C: int VL_TrafficLight_get_Id(int h) Devolve o identificador do semáforo. Em C, o parâmetro “h” é um manipulador do semáforo (TrafficLight). Quercus Technologies 148 Manual de referencia de BirdWatch® RL ● Programação NumLights C++: int get_NumLights() C: int VL_TrafficLight_get_NumLights(int h) Devolve o número de luzes configuradas no semáforo. Em C, o parâmetro “h” é um manipulador do semáforo (TrafficLight). ● Lights C++: Lights get_Lights() C: Não existe Em C++, devolve a coleção de luzes que formam o semáforo. Em C não existe uma representação da coleção “Lights”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_TrafficLight_get_Lights_Count(int h): número de luzes existentes no semáforo. ● int VL_TrafficLight_get_Lights_Item(int h, int item): devolve a luz existente na posição indicada dentro da coleção de luzes do semáforo (a partir de zero). Se não existir um Light para a unidade indicada, retorna nulo. O parâmetro “h” é um manipulador do semáforo (TrafficLight). 14.17.2. Métodos ● IsValid C++: bool IsValid() C: Não existe Devolve verdadeiro se o objeto contém informações válidas sobre um semáforo, e devolve falso, se as informações não forem válidas. Em alguns casos, alguns métodos podem retornar semáforos vazios. Em C, isso é detectado porque seu valor será zero. Em C++, em contrapartida, é necessário este método dado que o objeto, pelo fato de não se tratar de um ponteiro, sempre será correto. ● AddRef C++: Não existe C: void VL_TrafficLight_AddRef ( int h ) Ver 13.2.1Gerenciamento de memória. ● Release Quercus Technologies 149 Manual de referencia de BirdWatch® RL C++: Não existe C: void VL_TrafficLight_Release ( int h ) Programação Ver 13.2.1Gerenciamento de memória. 14.18. Classe HistoricIncidences Histórico de incidências de uma unidade. 14.18.1. Propriedades ● Current C++: Incidence get_Current() C: int VL_HistoricIncidences_get_Current(int h) Devolve a incidência selecionada do histórico. Para alterar a incidência selecionada, existem os métodos MoveFirst, MoveNext, MovePrevious e MoveLast. A incidência selecionada sempre observará o filtro aplicado (ver o método SetFilter da classe HistoricIncidences). Em C++, se não existir nenhuma incidência disponível, devolve uma incidência não válida (ver IsValid da classe Incidence). Em C, o parâmetro “h” é um manipulador do histórico de incidências (HistoricIncidences). Devolve um manipulador da incidência (Incidence). Em C, quando não se necessitar mais o elemento, deverá ser chamada a função VL_Incidence_Release (ver o método Release da classe Incidence). Em C, se não houver uma incidência disponível, devolve nulo. 14.18.2. Métodos ● MoveFirst C++: void MoveFirst() C: void VL_HistoricIncidences_MoveFirst(int h) Designa à propriedade Current as informações sobre a primeira incidência do histórico que tiver observado o filtro aplicado (ver o método SetFilter da classe HistoricIncidences). Em C, o parâmetro “h” é um manipulador do histórico de incidências (HistoricIncidences). ● MoveNext C++: bool MoveNext() C: int VL_HistoricIncidences_MoveNext(int h) Designa à propriedade Current as informações sobre a incidência seguinte do histórico que tiver observado o Quercus Technologies 150 Manual de referencia de BirdWatch® RL Programação filtro aplicado (ver o método SetFilter da classe HistoricIncidences). Em C, o parâmetro “h” é um manipulador do histórico de incidências (HistoricIncidences). ● MovePrevious C++: bool MovePrevious() C: int VL_HistoricIncidences_MovePrevious(int h) Designa à propriedade Current as informações sobre a incidência anterior do histórico que tiver observado o filtro aplicado (ver o método SetFilter da classe HistoricIncidences). Em C, o parâmetro “h” é um manipulador do histórico de incidências (HistoricIncidences). ● MoveLast C++: void MoveLast() C: void VL_HistoricIncidences_MoveLast(int h) Designa à propriedade Current as informações sobre a última incidência do histórico que tiver observado o filtro aplicado (ver o método SetFilter da classe HistoricIncidences). Em C, o parâmetro “h” é um manipulador do histórico de incidências (HistoricIncidences). ● SetFilter C++: void SetFilter(VLDetectorType detectorType,int detectorId) C: void VL_HistoricIncidences_SetFilter(int h,int detectorType,int detectorId) Designa um filtro ao histórico de incidências, de forma que só poderão ser selecionadas as incidências que observarem os requisitos indicados. O filtro é definido conforme as variáveis: ● detectorType: tipo de detector. ● detectorId: identificador do detector. Usar o valor -1 para os campos que não deverão filtrar. Em C, o parâmetro “h” é um manipulador do histórico de incidências (HistoricIncidences). 14.19. Classe HistoricSummaries Histórico de resumos de uma unidade. 14.19.1. Propriedades ● Current C++: Summary get_Current() C: int VL_HistoricSummaries_get_Current(int h) Quercus Technologies 151 Manual de referencia de BirdWatch® RL Programação Devolve o resumo selecionado do histórico. Para alterar o resumo selecionado, existem os métodos MoveFirst, MoveNext, MovePrevious e MoveLast. O resumo selecionado sempre observará o filtro aplicado (ver o método SetFilter da classe HistoricSummaries). Em C++, se não existir nenhum resumo disponível, devolve um resumo não válido (ver IsValid da classe Summary). Em C, o parâmetro “h” é um manipulador do histórico de resumos (HistoricSummaries). Devolve um manipulador do resumo (Summary). Em C, quando não se necessitar mais o elemento, deverá ser chamada a função VL_Summary_Release (ver o método Release da classe Summary). Em C, se não houver um resumo disponível, devolve nulo. 14.19.2. Métodos ● MoveFirst C++: void MoveFirst() C: void VL_HistoricSummaries_MoveFirst(int h) Designa à propriedade Current as informações sobre o primeiro resumo do histórico que tiver observado o filtro aplicado (ver o método SetFilter da classe HistoricSummaries). Em C, o parâmetro “h” é um manipulador do histórico de resumos (HistoricSummaries). ● MoveNext C++: bool MoveNext() C: int VL_HistoricSummaries_MoveNext(int h) Designa à propriedade Current as informações sobre o resumo seguinte do histórico que tiver observado o filtro aplicado (ver o método SetFilter da classe HistoricSummaries). Em C, o parâmetro “h” é um manipulador do histórico de resumos (HistoricSummaries). ● MovePrevious C++: bool MovePrevious() C: int VL_HistoricSummaries_MovePrevious(int h) Designa à propriedade Current as informações sobre o resumo anterior do histórico que tiver observado o filtro aplicado (ver o método SetFilter da classe HistoricSummaries). Em C, o parâmetro “h” é um manipulador do histórico de resumos (HistoricSummaries). ● MoveLast C++: Quercus Technologies void MoveLast() 152 Manual de referencia de BirdWatch® RL C: Programação void VL_HistoricSummaries_MoveLast(int h) Designa à propriedade Current as informações sobre o último resumo do histórico que tiver observado o filtro aplicado (ver o método SetFilter da classe HistoricSummaries). Em C, o parâmetro “h” é um manipulador do histórico de resumos (HistoricSummaries). ● SetFilter C++: void SetFilter(VLDetectorType detectorType,int detectorId) C: void VL_HistoricSummaries_SetFilter(int h,int detectorType,int detectorId) Atribui um filtro ao histórico de sumários, de modo que somente os sumários que cumpram os requisitos indicados serão selecionados. O filtro é definido conforme as variáveis: ● detectorType: tipo de detector. ● detectorId: identificador do detector. Usar o valor -1 para os campos que não deverão filtrar. Em C, o parâmetro “h” é um manipulador do histórico de resumos (HistoricSummaries). 14.20. Classe RealTimeInformation Informações sobre um evento em tempo real gerado pela unidade. Os campos a serem usados dependerão do tipo de evento gerado. Os campos que não trouxerem informações em um evento têm o valor “-1”. 14.20.1. Propriedades ● Unit C++: Unit get_Unit() C: int VL_RealTimeInformation_get_Unit(int h) Devolve a unidade na qual o evento foi gerado. Em C, o parâmetro “h” é um manipulador das informações em tempo real (RealTimeInformation). ● DetectorId C++: int get_DetectorId() C: int VL_RealTimeInformation_get_DetectorId(int h) Devolve o identificador do detector no qual o evento foi gerado. Em C, o parâmetro “h” é um manipulador das informações em tempo real (RealTimeInformation). ● DetectorType Quercus Technologies 153 Manual de referencia de BirdWatch® RL C++: VLDetectorType get_DetectorType() C: int VL_RealTimeInformation_get_DetectorType(int h) Programação Devolve o tipo de detector no qual o evento foi gerado. Em C, o parâmetro “h” é um manipulador das informações em tempo real (RealTimeInformation). ● Timestamp C++: Timestamp get_Timestamp( ) C: Não existe Em C++, devolve o momento em que a unidade gerou as informações de tempo real. Em C não existe uma representação da classe “Timestamp”, mas métodos para acessar diretamente as propriedades dessa classe: ● int VL_RealTimeInformation_get_Timestamp_Seconds(int h): data e hora em que foram geradas as informações de tempo real, indicando os segundos transcorridos desde as 00h00 de 1º de janeiro de 1970. É o mesmo formato que retorna a chamada à função time_t time (time_t *timer) do standard ANSI C. ● int VL_RealTimeInformation_get_Timestamp_USeconds(int h): microssegundo em que foram geradas as informações de tempo real. Em C, o parâmetro “h” é um manipulador das informações em tempo real (RealTimeInformation). ● WrongWay C++: bool get_WrongWay() C: int VL_RealTimeInformation_get_WrongWay(int h) Devolve verdadeiro se o sentido de circulação do veículo detectado for incorreto e devolve como falso se for o sentido correto. Em C, o parâmetro “h” é um manipulador das informações em tempo real (RealTimeInformation). ● Speed C++: int get_Speed() C: int VL_RealTimeInformation_get_Speed(int h) Devolve a velocidade do veículo detectado; em km/h. Se não foi possível calcular a velocidade seu valor será -1. Em C, o parâmetro “h” é um manipulador das informações em tempo real (RealTimeInformation). ● Length C++: Quercus Technologies int get_Length() 154 Manual de referencia de BirdWatch® RL C: Programação int VL_RealTimeInformation_get_Length(int h) Devolve o comprimento do veículo detectado; em milímetros. Se não foi possível calcular o comprimento seu valor será -1. Em C, o parâmetro “h” é um manipulador das informações em tempo real (RealTimeInformation). ● Occupation C++: int get_Occupation() C: int VL_RealTimeInformation_get_Occupation(int h) Devolve a ocupação de um detector do tipo fila; em porcentagem. Em C, o parâmetro “h” é um manipulador das informações em tempo real (RealTimeInformation). ● IsOccupied C++: bool get_IsOccupied() C: int VL_RealTimeInformation_get_IsOccupied(int h) Devolve verdadeiro se o detector estiver ocupado e devolve falso se estiver desocupado. Em C, o parâmetro “h” é um manipulador das informações em tempo real (RealTimeInformation). 14.20.2. Métodos ● IsValid C++: bool IsValid() C: Não existe Devolve verdadeiro, se o objeto contém informações válidas sobre um evento em tempo real, e devolve falso se as informações não forem válidas. Em alguns casos, alguns métodos podem retornar eventos em tempo real vazios. Em C, isso é detectado porque seu valor será zero. Em C++ em contrapartida, é necessário este método dado que o objeto (pelo fato de não se tratar de um ponteiro) sempre será correto. ● AddRef C++: Não existe C: void VL_RealTimeInformation_AddRef ( int h ) Ver 13.2.1Gerenciamento de memória. ● Release C++: Quercus Technologies Não existe 155 Manual de referencia de BirdWatch® RL C: Programação void VL_RealTimeInformation_Release ( int h ) Ver 13.2.1Gerenciamento de memória. 14.21. Classe Regions Coleção de coordenadas; estas definem cada um dos laços de um detector. 14.21.1. Propriedades ● Count C++: int Count ( ) C: Não existe, consultar VL_Detector_get_LoopsCoordinates_Count(int h) de Unit. Número de coordenadas existentes na coleção. ● Item C++: Region Item ( int item ) C: Não existe, consultar VL_Detector_get_LoopCoordinates_Item(int h, int item) de Unit. Devolve as coordenadas (Region) existentes na posição indicada dentro da coleção de coordenadas. A posição que as coordenadas de um laço ocupam dentro da coleção corresponde ao identificador interno do laço, designado e utilizado unicamente pela biblioteca. Em C++, no parâmetro “item” é preciso indicar a posição (a primeira posição é zero). Em C++, se não existir uma Region para a posição indicada, devolve uma não válida (ver IsValid da classe Region). 14.22. Classe Region Define as coordenadas de cada um dos vértices de um quadrilátero. 14.22.1. Propriedades ● X1 C++: int get_X1() C: int VL_Region_get_X1(int h) Devolve o valor X (eixo horizontal) do vértice 1. Em C, o parâmetro “h" é um manipulador da região (Region). ● Y1 Quercus Technologies 156 Manual de referencia de BirdWatch® RL C++: int get_Y1() C: int VL_Region_get_Y1(int h) Programação Devolve o valor Y (eixo vertical) do vértice 1. Em C, o parâmetro “h" é um manipulador da região (Region). ● X2 C++: int get_X2() C: int VL_Region_get_X2(int h) Devolve o valor X (eixo horizontal) do vértice 2. Em C, o parâmetro “h" é um manipulador da região (Region). ● Y2 C++: int get_Y2() C: int VL_Region_get_Y2(int h) Devolve o valor Y (eixo vertical) do vértice 2. Em C, o parâmetro “h" é um manipulador da região (Region). ● X3 C++: int get_X3() C: int VL_Region_get_X3(int h) Devolve o valor X (eixo horizontal) do vértice 3. Em C, o parâmetro “h" é um manipulador da região (Region). ● Y3 C++: int get_Y3() C: int VL_Region_get_Y3(int h) Devolve o valor Y (eixo vertical) do vértice 3. Em C, o parâmetro “h" é um manipulador da região (Region). ● X4 C++: int get_X4() C: int VL_Region_get_X4(int h) Devolve o valor X (eixo horizontal) do vértice 4. Quercus Technologies 157 Manual de referencia de BirdWatch® RL Programação Em C, o parâmetro “h" é um manipulador da região (Region). ● Y4 C++: int get_Y4() C: int VL_Region_get_Y4(int h) Devolve o valor Y (eixo vertical) do vértice 4. Em C, o parâmetro “h" é um manipulador da região (Region). 14.22.2. Métodos ● IsValid C++: bool IsValid() C: Não existe Devolve verdadeiro, se o objeto contém informações válidas sobre umas coordenadas, e devolve falso se as informações não forem válidas. Em alguns casos, alguns métodos podem retornar coordenadas vazias. Em C, isso é detectado porque seu valor será zero. Em C++ em contrapartida, é necessário este método dado que o objeto (pelo fato de não se tratar de um ponteiro) sempre será correto. 14.23. Classe OutputActuators Coleção de atuadores de saída de um detector. 14.23.1. Propriedades ● Count C++: int Count ( ) C: Não existe, consultar VL_Detector_get_OutputActuators_Count(int h) de Detector. Número de atuadores de saída existentes no detector. ● Item C++: OutputActuator Item ( int item ) C: Não existe, consultar VL_Detector_get_OutputActuators_Item(int h, int item) de Detector. Devolve o atuador de saída existente na posição indicada dentro da coleção de atuadores de saída do detector. A posição que cada atuador de saída ocupa dentro do detector é a mesma da ordem configurada. Em C++, no parâmetro “item” é preciso indicar a posição (a primeira posição é zero). Em C++, se não existir um OutputActuator para a posição indicada, devolve um não válido (ver IsValid da Quercus Technologies 158 Manual de referencia de BirdWatch® RL Programação classe OutputActuator). 14.24. Classe OutputActuator Representação lógica de um atuador de uma saída digital. Indica as condições para que uma saída seja ativada por um tempo determinado. 14.24.1. Propriedades ● Field C++: VLFieldType get_Field() C: int VL_OutputActuator_get_Field(int h) Devolve o tipo de campo (VLFieldType) com o qual o atuador age. Em C, o parâmetro “h” é um manipulador do atuador de saída (OutputActuator). ● Operator C++: VLOperatorType get_Operator() C: int VL_OutputActuator_get_Operator(int h) Devolve o tipo de operador (VLOperatorType) com o qual o atuador age. Em C, o parâmetro “h” é um manipulador do atuador de saída (OutputActuator). ● Value C++: int get_Value() C: int VL_OutputActuator_get_Value(int h) Devolve o valor com o qual o atuador age. Em C, o parâmetro “h” é um manipulador do atuador de saída (OutputActuator). ● OutputId C++: int get_OutputId() C: int VL_OutputActuator_get_OutputId(int h) Devolve o identificador da saída digital com a qual o atuador age. Em C, o parâmetro “h” é um manipulador do atuador de saída (OutputActuator). ● Time C++: int get_Time() C: int VL_OutputActuator_get_Time(int h) Quercus Technologies 159 Manual de referencia de BirdWatch® RL Programação Devolve o tempo em que age o atuador; em milésimos de segundos. Em C, o parâmetro “h” é um manipulador do atuador de saída (OutputActuator). 14.24.2. Métodos ● IsValid C++: bool IsValid() C: Não existe Retorna verdadeiro se o objeto contém informação válida sobre um atuador de saída, e falso se as informações não forem válidas. Em alguns casos, alguns métodos podem retornar atuadores de saída vazios. Em C, isso é detectado porque seu valor será zero. Em C++ em contrapartida, é necessário este método dado que o objeto (pelo fato de não se tratar de um ponteiro) sempre será correto. 14.25. Classe Lights Coleção de luzes de um semáforo. 14.25.1. Propriedades ● Count C++: int Count ( ) C: Não existe, consultar VL_TrafficLight_get_Lights_Count(int h) de TrafficLight. Número de luzes existentes no semáforo. ● Item C++: Light Item ( int item ) C: Não existe, consultar VL_TrafficLight_get_Lights_Item(int h, int item) de TrafficLight. Devolve a luz existente na posição indicada dentro da coleção de luzes de um semáforo. A posição ocupada por cada luz dentro da coleção é a mesma posição da ordem configurada. No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). Se não existir um Light para a posição indicada, devolve um não válido (ver método IsValid da classe Light). 14.26. Classe Light Representação lógica da luz de um semáforo. Quercus Technologies 160 Manual de referencia de BirdWatch® RL Programação 14.26.1. Propriedades ● Type C++: VLLightType get_Type() C: int VL_Light_get_Type(int h) Devolve o tipo de luz (VLLightType). Em C, o parâmetro “h” é um manipulador da luz (Light). ● X C++: int get_X() C: int VL_Light_get_X(int h) Devolve a posição X (eixo horizontal) da luz. Em C, o parâmetro “h” é um manipulador da luz (Light). ● Y C++: int get_Y() C: int VL_Light_get_Y(int h) Devolve a posição Y (eixo vertical) da luz. Em C, o parâmetro “h” é um manipulador da luz (Light). ● Radius C++: int get_Radius() C: int VL_Light_get_Radius(int h) Devolve o raio da luz do semáforo na imagem; em pixels. Em C, o parâmetro “h” é um manipulador da luz (Light). 14.26.2. Métodos ● IsValid C++: bool IsValid() C: Não existe Devolve verdadeiro, se o objeto contém informações válidas sobre uma luz, e devolve falso, se as informações não forem válidas. Em alguns casos, alguns métodos podem retornar semáforos vazios. Em C, isso é detectado porque seu valor será zero. Em C++ em contrapartida, é necessário este método dado que o objeto (pelo fato de não se tratar de um ponteiro) sempre será correto. Quercus Technologies 161 Manual de referencia de BirdWatch® RL Programação 14.27. Classe Incidence Representação lógica de uma incidência. 14.27.1. Propriedades ● Unit C++: Unit get_Unit() C: int VL_Incidence_get_Unit(int h) Devolve a unidade que gerou a incidência. Em C, o parâmetro “h” é um manipulador da incidência (Incidence). ● DetectorId C++: int get_DetectorId() C: int VL_Incidence_get_DetectorId(int h) Devolve o identificador do detector que gerou a incidência. Em C, o parâmetro “h” é um manipulador da incidência (Incidence). ● DetectorType C++: VLDetectorType get_DetectorType() C: int VL_Incidence_get_DetectorType(int h) Devolve o tipo de detector que gerou a incidência. Em C, o parâmetro “h” é um manipulador da incidência (Incidence). ● Id C++: int get_Id() C: int VL_Incidence_get_Id(int h) Devolve o identificador da incidência. Em C, o parâmetro “h” é um manipulador da incidência (Incidence). ● Type C++: VLIncidenceType get_Type() C: int VL_Incidence_get_Type(int h) Devolve o tipo de incidência. Quercus Technologies 162 Manual de referencia de BirdWatch® RL Programação Em C, o parâmetro “h” é um manipulador da incidência (Incidence). ● Speed C++: int get_Speed() C: int VL_Incidence_get_Speed(int h) Devolve a velocidade registrada; em km/h. Se não foi possível calcular a velocidade devolve -1. Em C, o parâmetro “h” é um manipulador da incidência (Incidence). ● DelayTime C++: int get_DelayTime() C: int VL_Incidence_get_DelayTime(int h) Devolve o tempo mínimo que deve passar, desde a ativação do sinal de proibição de avançar até a detecção da incidência, para que esta seja considerada válida e seja gerada; em milésimos de segundos. Em C, o parâmetro “h” é um manipulador da incidência (Incidence). ● ElapsedTime C++: int get_ElapsedTime() C: int VL_Incidence_get_ElapsedTime(int h) Devolve o tempo transcorrido com o sinal de proibição de avançar ativo; em milésimos de segundos. Em C, o parâmetro “h” é um manipulador da incidência (Incidence). ● AmberLightTime C++: int get_AmbertLightTime() C: int VL_Incidence_get_AmbertLightTime(int h) Devolve o tempo transcorrido com o sinal âmbar ativo antes da ativação de proibição de avanço em vermelho que gerou a incidência; em milésimos de segundo. Em C, o parâmetro “h” é um manipulador da incidência (Incidence). ● MaxStopTime C++: int get_MaxStopTime() C: int VL_Incidence_get_MaxStopTime(int h) Devolve o tempo mínimo que deve estar o veículo parado, desde a ativação do sinal de proibição para que uma infração seja gerada; em milésimos de segundos. Em C, o parâmetro “h” é um manipulador da incidência (Incidence). Quercus Technologies 163 Manual de referencia de BirdWatch® RL ● Programação TotalStoppedTime C++: int get_TotalStoppedTime() C: int VL_Incidence_get_TotalStoppedTime(int h) Devolve o tempo total transcorrido com o veículo parado, incluindo o tempo prévio a ativação do sinal de proibição de avanço; em milissegundos. Em C, o parâmetro “h” é um manipulador da incidência (Incidence). ● Images C++: Images get_Images() C: Não existe Em C++ devolve a coleção de imagens que formam a incidência. Em C não existe uma representação da coleção “Images”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_Incidence_get_Images_Count(int h): número de imagens existentes na incidência. ● int VL_Incidence_get_Images_Item(int h, int item): devolve a imagem existente na posição indicada dentro da coleção de imagens da incidência (a partir de zero). Se não existir um Image para a unidade indicada, retorna nulo. Quando não se precisar mais do elemento, deverá ser chamada a função VL_Image_Release (ver o método Release da classe Image). O parâmetro “h” é um manipulador da incidência (Incidence). ● Video C++: Video get_Video() C: int VL_Incidence_get_Video(int h) Devolve o vídeo gerado na incidência. Em C++, se não existir um vídeo na incidência, devolve uma não válida (ver IsValid da classe Video). Em C, se não existir um vídeo na incidência, retorna nulo. Em C, quando não se necessitar mais o elemento, deverá ser chamada a função VL_Video_Release (ver o método Release da classe Video). Em C, o parâmetro “h” é um manipulador da incidência (Incidence). 14.27.2. Métodos ● IsValid Quercus Technologies 164 Manual de referencia de BirdWatch® RL C++: bool IsValid() C: Não existe Programação Devolve verdadeiro, se o objeto contém informações válidas sobre uma incidência, e devolve falso, se as informações não forem válidas. Em alguns casos, alguns métodos podem retornar incidências vazias. Em C, isso é detectado porque seu valor será zero. Em C++ em contrapartida, é necessário este método dado que o objeto (pelo fato de não se tratar de um ponteiro) sempre será correto. ● AddRef C++: Não existe C: void VL_Incidence_AddRef ( int h ) Ver 13.2.1Gerenciamento de memória. ● Release C++: Não existe C: void VL_Incidence_Release ( int h ) Ver 13.2.1Gerenciamento de memória. 14.28. Classe Images Coleção de imagens de uma incidência. 14.28.1. Propriedades ● Count C++: int Count() C: Não existe, consultar VL_Incidence_get_Images_Count(int h) de Incidence. Número de imagens existentes na coleção. ● Item C++: Image Item(int item) C: Não existe, consultar VL_Incidence_get_Images_Item(int h, int item) de Incidence. Devolve a imagem existente na posição indicada dentro da coleção de imagens de uma incidência. No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). Se não existir uma imagem para a posição indicada, devolve uma imagem não válida (ver IsValid da classe Image). Quercus Technologies 165 Manual de referencia de BirdWatch® RL Programação As imagens estão ordenadas cronologicamente na coleção. 14.29. Classe Image Representação lógica de uma imagem que faz parte de uma incidência. 14.29.1. Propriedades ● GetBuffer C++: int GetBuffer(unsigned char* pBuffer, int maxSize) C: int VL_Image_GetBuffer(int h, unsigned char* pBuffer, int maxSize) Copia a imagem jpeg no buffer pBuffer e devolve seu tamanho em bytes. O tamanho máximo da imagem será de 5242880 bytes. O parâmetro maxSize indica o tamanho do buffer pBuffer. Esse é um parâmetro de segurança; se o tamanho do buffer for insuficiente, não será preenchido e será devolvido -1. Em C, o parâmetro “h” é um manipulador da imagem (Image). ● Timestamp C++: Timestamp get_Timestamp() C: Não existe Em C++, devolve o momento em que a unidade capturou a fotografia. Em C não existe uma representação da classe “Timestamp”, mas métodos para acessar diretamente as propriedades dessa classe: ● int VL_Image_get_Timestamp_Seconds(int h): data e hora em que a fotografia foi tirada, indicando os segundos transcorridos desde as 00h00 de 1º de janeiro de 1970. É o mesmo formato que retorna a chamada à função time_t time (time_t *timer) do standard ANSI C. ● int VL_Image_get_Timestamp_USeconds(int h): microssegundo em que a fotografia foi tirada. 14.29.2. Métodos ● IsValid C++: bool IsValid() C: Não existe Devolve verdadeiro, se o objeto contém informações válidas sobre uma imagem, e devolve falso se as informações não forem válidas. Em alguns casos, alguns métodos podem retornar imagens vazias. Em C, isso é detectado porque seu valor será zero. Em C++ em contrapartida, é necessário este método dado que o objeto (pelo fato de não se tratar de um ponteiro) sempre será correto. Quercus Technologies 166 Manual de referencia de BirdWatch® RL ● Programação AddRef C++: Não existe C: void VL_Image_AddRef ( int h ) Ver 13.2.1Gerenciamento de memória. ● Release C++: Não existe C: void VL_Image_Release ( int h ) Ver 13.2.1Gerenciamento de memória. 14.30. Classe Video Representação lógica de um vídeo que faz parte de uma incidência. 14.30.1. Propriedades ● Location C++: int Location(char* pBuffer, int maxSize) C: int VL_Video_get_Location(int h, char* pBuffer, int maxSize) Indica a rota absoluta do vídeo na unidade mediante a cadeia de texto “pBuffer” finalizada pelo caractere \0. É necessário indicar o tamanho do pBuffer mediante “maxSize”. Retorna o número de caracteres da cadeia. Em C, o parâmetro “h” é um manipulador do vídeo (Video). ● IniTimestamp C++: Timestamp get_IniTimestamp() C: Não existe Em C++, devolve o momento em que a unidade iniciou a captura o vídeo. Em C não existe uma representação da classe “Timestamp”, mas métodos para acessar diretamente as propriedades dessa classe: ● int VL_Video_get_IniTimestamp_Seconds(int h): data e hora em que a fotografia foi tirada, indicando os segundos transcorridos desde as 00h00 de 1º de janeiro de 1970. É o mesmo formato que retorna a chamada à função time_t time (time_t *timer) do standard ANSI C. O parâmetro “h” é um manipulador do vídeo (Video). ● int VL_Video_get_IniTimestamp_USeconds(int h): microssegundo em que a fotografia foi tirada. O parâmetro “h” é um manipulador do vídeo (Video). Quercus Technologies 167 Manual de referencia de BirdWatch® RL ● Programação EndTimestamp C++: Timestamp get_EndTimestamp() C: Não existe Em C++, devolve o momento em que a unidade finalizou a captura do vídeo. Em C não existe uma representação da classe “Timestamp”, mas métodos para acessar diretamente as propriedades dessa classe: ● int VL_Video_get_EndTimestamp_Seconds(int h): data e hora em que a finalizou, indicando os segundos transcorridos desde as 00h00 de 1º de janeiro de 1970. É o mesmo formato que retorna a chamada à função time_t time (time_t *timer) do standard ANSI C. O parâmetro “h” é um manipulador do vídeo (Video). ● int VL_Video_get_EndTimestamp_USeconds(int h): microssegundo em que a captura finalizou. O parâmetro “h” é um manipulador do vídeo (Video). ● Duration C++: int get_Duration() C: int VL_Video_get_Duration ( int h ) Devolve a duração do vídeo; em milésimos de segundos. Em C, o parâmetro “h” é um manipulador do vídeo (Video). ● Framerate C++: int get_Framerate() C: int VL_Video_get_Framerate( int h ) Devolve o número de imagens por segundo do vídeo. Em C, o parâmetro “h” é um manipulador do vídeo (Video). ● Width C++: int get_Width() C: int VL_Video_get_Width ( int h ) Devolve o largo da imagem do vídeo; em pixels. Em C, o parâmetro “h” é um manipulador do vídeo (Video). ● Height C++: int get_Height() C: int VL_Video_get_Height ( int h ) Quercus Technologies 168 Manual de referencia de BirdWatch® RL Programação Devolve o alto da imagem do vídeo; em pixels. Em C, o parâmetro “h” é um manipulador do vídeo (Video). 14.30.2. Métodos ● IsValid C++: bool IsValid() C: Não existe Devolve verdadeiro, se o objeto contém informações válidas sobre uma imagem, e devolve falso se as informações não forem válidas. Em alguns casos, alguns métodos podem retornar imagens vazias. Em C, isso é detectado porque seu valor será zero. Em C++ em contrapartida, é necessário este método dado que o objeto (pelo fato de não se tratar de um ponteiro) sempre será correto. ● AddRef C++: Não existe C: void VL_Video_AddRef ( int h ) Ver 13.2.1Gerenciamento de memória. ● Release C++: Não existe C: void VL_Video_Release ( int h ) Ver 13.2.1Gerenciamento de memória. 14.31. Classe Summary Representação lógica de um resumo. 14.31.1. Propriedades ● Unit C++: Unit get_Unit() C: int VL_Summary_get_Unit(int h) Devolve a unidade que gerou o resumo. Em C, o parâmetro “h” é um manipulador do resumo (Summary). ● DetectorId Quercus Technologies 169 Manual de referencia de BirdWatch® RL C++: int get_DetectorId() C: int VL_Summary_get_DetectorId(int h) Programação Devolve o identificador do detector que gerou o resumo. Em C, o parâmetro “h” é um manipulador do resumo (Summary). ● DetectorType C++: VLDetectorType get_DetectorType() C: int VL_Summary_get_DetectorType(int h) Devolve o tipo de detector que gerou o resumo. Em C, o parâmetro “h” é um manipulador do resumo (Summary). ● Begin C++: int get_Begin() C: int VL_Summary_get_Begin(int h) Devolve o momento em que se iniciou a coleta de dados para o resumo; em segundos desde 1º de janeiro de 1970, às 00h00. Em C, o parâmetro “h” é um manipulador do resumo (Summary). ● End C++: int get_End() C: int VL_Summary_get_End(int h) Devolve o momento em que se finalizou a coleta de dados para o resumo; em segundos desde 1º de janeiro de 1970, às 00h00. Em C, o parâmetro “h” é um manipulador do resumo (Summary). ● Volume C++: int get_Volume() C: int VL_Summary_get_Volume(int h) Devolve o volume de veículos do resumo. Em C, o parâmetro “h” é um manipulador do resumo (Summary). ● AvgSpeed C++: int get_AvgSpeed() C: int VL_Summary_get_AvgSpeed(int h) Quercus Technologies 170 Manual de referencia de BirdWatch® RL Programação Devolve a velocidade média dos veículos do resumo; em km/h. Se não for possível calcular a velocidade média, retorna -1. Em C, o parâmetro “h” é um manipulador do resumo (Summary). ● AvgLength C++: int get_AvgLength() C: int VL_Summary_get_AvgLength(int h) Devolve o comprimento médio dos veículos do resumo; em milímetros. Se não for possível calcular o comprimento médio, retorna -1. Em C, o parâmetro “h” é um manipulador do resumo (Summary). ● AvgHeadway C++: int get_AvgHeadway() C: int VL_Summary_get_AvgHeadway(int h) Devolve o período médio entre veículos do resumo; em segundos. Em C, o parâmetro “h” é um manipulador do resumo (Summary). ● SpeedsDistribution C++: SpeedsDistribution get_SpeedsDistribution() C: Não existe Em C++, devolve a coleção de valores que formam a distribuição de velocidades do resumo. Em C não existe uma representação da coleção “SpeedsDistribution”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_Summary_get_SpeedsDistribution_Count(int h): número de valores que formam a distribuição de velocidades do resumo. ● int VL_Summary_get_SpeedsDistribution_Item(int h, int item): devolve o valor existente na posição indicada dentro da coleção de valores que formam a distribuição de velocidades do resumo (a partir de zero). Se não existir um SpeedsDistribution para a posição indicada, retorna nulo. O parâmetro “h” é um manipulador do resumo (Summary). ● LengthsDistribution C++: LengthsDistribution get_LengthsDistribution() C: Não existe Quercus Technologies 171 Manual de referencia de BirdWatch® RL Programação Em C++, devolve a coleção de valores que formam a distribuição de comprimentos do resumo. Em C não existe uma representação da coleção “LenghtsDistribution”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_Summary_get_LengthsDistribution_Count(int h): número de valores que formam a distribuição de comprimentos do resumo. ● int VL_Summary_get_LengthsDistribution_Item(int h, int item): devolve o valor existente na posição indicada dentro da coleção de valores que formam a distribuição de comprimentos do resumo (a partir de zero). Se não existir um LengthsDistribution válido para a posição indicada, retorna nulo. O parâmetro “h” é um manipulador do resumo (Summary). ● OccupationsDistribution C++: OccupationsDistribution get_OccupationsDistribution() C: Não existe Em C++, devolve a coleção de valores que formam a distribuição de ocupações do resumo. Em C não existe uma representação da coleção “OccupationsDistribution”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_Summary_get_OccupationsDistribution_Count(int h): número de valores que formam a distribuição de ocupações do resumo. ● Int VL_Summary_get_OccupationsDistribution_Item(int h, int item): devolve o valor existente na posição indicada dentro da coleção de valores que formam a distribuição de ocupações do resumo (a partir de zero). Se não existir um OccupationsDistribution válido para a posição indicada, retorna nulo. O parâmetro “h” é um manipulador do resumo (Summary). ● SpeedsUpperLimit C++: SpeedsUpperLimit get_SpeedsUpperLimit() C: Não existe Em C++, devolve a coleção de valores que formam as variações de distribuição de velocidades do resumo. Em C não existe uma representação da coleção “SpeedsUpperLimit”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_Summary_get_SpeedsUpperLimit_Count(int h): número de valores que formam as variações de distribuição de velocidades do resumo. ● int VL_Summary_get_SpeedsUpperLimit_Item(int h, int item):devolve o valor existente na posição indicada dentro da coleção de valores das variações de distribuição de velocidades do resumo (a partir de zero). Quercus Technologies 172 Manual de referencia de BirdWatch® RL Programação Se não existir um SpeedsUpperLimit válido para a posição indicada, retorna nulo. O parâmetro “h” é um manipulador do resumo (Summary). ● LengthsUpperLimit C++: LengthsUpperLimit get_LengthsUpperLimit() C: Não existe Em C++, devolve a coleção de valores que formam as variações de distribuição de comprimentos do resumo. Em C não existe uma representação da coleção “LengthsUpperLimit”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_Summary_get_LengthsUpperLimit_Count(int h): número de valores que formam as variações de distribuição de comprimentos do resumo. ● int VL_Summary_get_LengthsUpperLimit_Item(int h, int item): devolve o valor existente na posição indicada dentro da coleção de valores que formam as variações de distribuição de comprimentos do resumo (a partir de zero). Se não existir um LengthsUpperLimit válido para a posição indicada, retorna nulo. O parâmetro “h” é um manipulador do resumo (Summary). ● OccupationsUpperLimit C++: OccupationsUpperLimit get_OccupationsUpperLimit() C: Não existe Em C++, devolve a coleção de valores que formam as variações de distribuição de ocupações do resumo. Em C não existe uma representação da coleção “OccupationsUpperLimit”, mas métodos para acessar diretamente as propriedades dessa coleção: ● int VL_Summary_get_OccupationsUpperLimit_Count(int h): número de valores que formam as variações de distribuição de ocupações do resumo. ● int VL_Summary_get_OccupationsUpperLimit_Item(int h, int item): devolve o valor existente na posição indicada dentro da coleção de valores que formam as variações de distribuição de ocupações do resumo (a partir de zero). Se não existir um OccupationsUpperLimit válido para a posição indicada, retorna nulo. O parâmetro “h” é um manipulador do resumo (Summary). 14.31.2. Métodos ● IsValid C++: bool IsValid() C: Não existe Quercus Technologies 173 Manual de referencia de BirdWatch® RL Programação Devolve verdadeiro, se o objeto contém informações válidas sobre um resumo, e devolve falso, se as informações não forem válidas. Em alguns casos, alguns métodos podem retornar resumos vazios. Em C, isso é detectado porque seu valor será zero. Em C++ em contrapartida, é necessário este método dado que o objeto (pelo fato de não se tratar de um ponteiro) sempre será correto. ● AddRef C++: Não existe C: void VL_Summary_AddRef ( int h ) Ver 13.2.1Gerenciamento de memória. ● Release C++: Não existe C: void VL_Summary_Release ( int h ) Ver 13.2.1Gerenciamento de memória. 14.32. Classe SpeedsDistribution Coleção de porcentagens de veículos que circularam por um detector para uma determinada variação de velocidade; estas variações são definidas na coleção SpeedsUpperLimit. 14.32.1. Propriedades ● Count C++: int Count ( ) C: Não existe, consultar VL_Summary_get_SpeedsDistribution_Count(int h) de Summary Número de valores existentes na coleção. ● Item C++: int Item ( int item ) C: Não existe, consultar VL_Summary_get_SpeedsDistribution_Item(int h, int item) de Summary. Devolve a porcentagem existente na posição indicada dentro da coleção de porcentagens de veículos que circularam por um detector para uma determinada variação de velocidade. A posição que cada contador ocupa dentro da coleção é a mesma da ordem das variações na coleção SpeedsUpperLimit do detector. No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). Se não existir o semáforo para a posição indicada, devolve um não válido (ver IsValid da classe Quercus Technologies 174 Manual de referencia de BirdWatch® RL Programação SpeedsDistribution). 14.33. Classe LengthsDistribution Coleção de porcentagens de veículos que circularam por um detector para uma determinada variação de comprimento; estas variações são definidas na coleção LengthsUpperLimit. 14.33.1. Propriedades ● Count C++: int Count ( ) C: Não existe, consultar VL_Summary_get_LengthsDistribution_Count(int h) de Summary Número de valores existentes na coleção. ● Item C++: int Item ( int item ) C: Não existe, consultar VL_Summary_get_LengthsDistribution_Item(int h, int item) de Summary. Devolve a porcentagem existente na posição indicada dentro da coleção de porcentagens de veículos que circularam por um detector para uma determinada variação de comprimento. A posição que cada valor ocupa dentro da coleção é a mesma da ordem das variações na coleção LengthsUpperLimit do detector. No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). Se não existir um LengthsDistribution válido para a posição indicada, devolve um não válido (ver IsValid da classe LengthsDistribution). 14.34. Classe OccupationsDistribution Coleção de porcentagens de tempo que um detector ocupou para uma determinada variação de ocupação; estas variações são definidas na coleção OccupationsUpperLimit. 14.34.1. Propriedades ● Count C++: int Count ( ) C: Não existe, consultar VL_Summary_get_OccupationsDistribution_Count(int h) de Summary. Número de valores existentes na coleção. Quercus Technologies 175 Manual de referencia de BirdWatch® RL ● Programação Item C++: int Item ( int item ) C: Não existe, consultar VL_Summary_get_OccupationsDistribution_Item(int h, int item) de Summary. Devolve a porcentagem existente na posição indicada dentro da coleção de porcentagens de tempo para uma determinada variação de ocupação. A posição que cada porcentagem de tempo ocupa dentro da coleção é a mesma da ordem das variações na coleção OccupationsUpperLimit do detector. No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). Se não existir um OccupationsDistribution válido para a posição indicada, devolve um não válido (ver IsValid da classe OccupationsDistribution). 14.35. Classe SpeedsUpperLimit Coleção de valores que compõem as variações de velocidade de um detector. 14.35.1. Propriedades ● Count C++: int Count ( ) C: Não existe, consultar VL_Summary_get_SpeedsUpperLimit_Count(int h) de Summary. Número de valores existentes na coleção. ● Item C++: int Item ( int item ) C: Não existe, consultar VL_Summary_get_SpeedsUpperLimit_Item(int h, int item) de Summary. Devolve o valor existente na posição indicada dentro da coleção de valores que formam as variações de velocidades de um detector. Os valores estão ordenados do menor para o maior, situando o valor menor na primeira posição da coleção. No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). Se não existir um SpeedsUpperLimit válido para a posição indicada, devolve um não válido (ver IsValid da classe SpeedsUpperLimit). 14.36. Classe LengthsUpperLimit Coleção de valores que compõem as variações de comprimento de um detector. Quercus Technologies 176 Manual de referencia de BirdWatch® RL Programação 14.36.1. Propriedades ● Count C++: int Count ( ) C: Não existe, consultar VL_Summary_get_LengthsUpperLimit_Count(int h) de Summary. Número de valores existentes na coleção. ● Item C++: int Item ( int item ) C: Não existe, consultar VL_Summary_get_LengthsUpperLimit_Item(int h, int item) de Summary. Devolve o valor existente na posição indicada dentro da coleção de valores que formam as variações de comprimento de um detector. Os valores estão ordenados do menor para o maior, situando o valor menor na primeira posição da coleção. No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). Se não existir um LengthsUpperLimit válido para a posição indicada, devolve um não válido (ver IsValid da classe LengthsUpperLimit). 14.37. Classe OccupationsUpperLimit Coleção de valores que compõem as variações de porcentagem de ocupação de um detector. 14.37.1. Propriedades ● Count C++: int Count ( ) C: Não existe, consultar VL_Summary_get_OccupationsUpperLimit_Count(int h) de Summary. Número de porcentagens de tempo existentes na coleção. ● Item C++: int Item ( int item ) C: Não existe, consultar VL_Summary_get_OccupationsUpperLimit_Item(int h, int item) de Summary. Retorna o valor que há na posição indicada dentro da coleção de valores que compõem as variações de porcentagem de ocupação de um detector. Os valores estão ordenados do menor para o maior, situando o valor menor na primeira posição da coleção. No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). Quercus Technologies 177 Manual de referencia de BirdWatch® RL Programação Se não existir um OccupationsUpperLimit válido para a posição indicada, devolve um não válido (ver IsValid da classe OccupationsUpperLimit). 14.38. Classe Timestamp Definição de momento. 14.38.1. Propriedades ● Seconds C++: int get_Seconds() C: Não existe. Ver VL_classe_get_Timestamp_Seconds(int h), onde classe é a classe que referencia Timestamp A data e hora do momento, indicando os segundos decorridos desde as 00:00 horas de 1 de janeiro de 1970. É o mesmo formato que retorna a chamada à função time_t time (time_t *timer) do standard ANSI C. ● USeconds C++: int get_USeconds() C: Não existe. Ver VL_classe_get_Timestamp_USeconds(int h), onde classe é a classe que referencia Timestamp Microssegundo do momento. 14.39. Classe Notification Representação lógica de uma notificação da unidade. 14.39.1. Propriedades ● Code C++: VLNotificationCode get_Code() C: int VL_Notification_get_Code(int h) Devolve o código de notificação. Em C o parâmetro “h” é um manipulador da notificação (Notification). ● Unit C++: Unit get_Unit() C: int VL_Notification_get_Unit(int h) Quercus Technologies 178 Manual de referencia de BirdWatch® RL Programação Devolve a unidade que gerou a notificação. Em C o parâmetro “h” é um manipulador da notificação (Notification). 14.40. Classe Configuration Classe que dá acesso ao sistema de configuração da unidade. 14.40.1. Métodos ● IsValid C++: bool IsValid() C: Não existe Devolve verdadeiro, se o objeto contém informações válidas sobre o sistema de configuração, e devolve falso se as informações não forem válidas. ● Login C++: bool Login (const char* password) C: int VL_Configuration_Login ( int h, const char* password ) Dá acesso ao sistema de configuração da unidade. No parâmetro "password" se deve indicar a password da unidade. Retorna verdadeiro se foi possível efetuar a operação e falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● Logout C++: bool Logout() C: int VL_Configuration_Logout ( int h ) Perde o acesso ao sistema de configuração da unidade. Retorna verdadeiro se foi possível efetuar a operação e falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● IsLoggedIn C++: bool IsLoggedIn() C: int VL_Configuration_IsLoggedIn ( int h ) Verifica se atualmente se tem permissão de acesso ao sistema de configuração da unidade. Retorna verdadeiro em caso afirmativo, falso caso contrário ou erro. Em C o parâmetro "h" é um manipulador de Configuration. Quercus Technologies 179 Manual de referencia de BirdWatch® RL ● Programação ChangePassword C++: bool ChangePassword ( const char* newPassword ) C: int VL_Configuration_ChangePassword ( int h, const char* newPassword ) Altera a password de acesso à unidade. A alteração não será persistente enquanto não se apliquem alterações. "newPassword" deve ser uma cadeia de texto acabada em "\0". Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● Syntime C++: bool SyncTime ( ) C: int VL_Configuration_SyncTime ( int h ) Sincroniza a data e hora com o servidor e protocolo que se tenha especificado na configuração. Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● SetTime C++: bool SetTime ( long dateTime ) C: int VL_Configuration_SetTime ( int h, long dateTime ) Estabelece a data e hora indicada em "dateTime". Esta data e hora está especificada em segundos decorridos desde 1 de janeiro de 1970 às 00:00:00 h. Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● UpdateFirmware C++: bool UpdateFirmware ( const char* fileName ) C: int VL_Configuration_UpdateFirmware ( int h, const char* fileName ) Atualiza a unidade usando o arquivo de atualização indicado em "fileName". O arquivo deve ter sido previamente depositado na raiz do servidor de FTP da unidade. Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● RestoreFirmware C++: bool RestoreFirmware ( ) C: int VL_Configuration_RestoreFirmware ( int h ) Quercus Technologies 180 Manual de referencia de BirdWatch® RL Programação Restaura o firmware da unidade a sua versão original. Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● ExportLog C++: bool ExportLog ( VLLogSystem logType, const char* fileName ) C: int VL_Configuration_ExportLog ( int h, int logType, const char* fileName ) Exporta o arquivo de registro de log indicado em "logType" (ver 14.61Tipo VLLogSystem)e o deposita na raiz do servidor de FTP com o nome "fileName". Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● GetSystemInformation C++: SystemInformation GetSystemInformation() C: int VL_Configuration_GetSystemInformation (int h ) Retorna um objeto do tipo SystemInformation que contém as informações da unidade. Em C o parâmetro "h" é um manipulador de Configuration. Retorna um manipulador de SystemInformation. ● ExportStatus C++: bool ExportStatus ( const char* fileName ) C: int VL_Configuration_ExportStatus ( int h, const char* fileName ) Gera um relatório do estado do sistema e o deposita na raiz do servidor de FTP com o nome "fileName". Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● GetEntriesCount C++: int GetEntriesCount() C: int VL_Configuration_GetEntriesCount ( int h ) Retorna o número de variáveis que contém o sistema de configuração da unidade ou -1 em caso de erro. Em C o parâmetro "h" é um manipulador de Configuration. ● GetEntry C++: SettingsEntry GetEntry (int n) C: int VL_Configuration_GetEntryByIndex ( int h, int n ) Quercus Technologies 181 Manual de referencia de BirdWatch® RL Programação Retorna a variável "n"-ésima do sistema de configuração da unidade. Em C++, se não existir o SettingsEntry indicado, retorna um não válido; em C devolve nulo. Em C, quando não se necessitar mais o elemento, deverá ser chamada a função VL_SettingsEntry_Release (ver o método Release da classe SettingsEntry). Em C o parâmetro "h" é um manipulador de Configuration e retorna um manipulador a SettingsEntry. ● GetEntry C++: SettingsEntry GetEntry (const char* name) C: int VL_Configuration_GetEntryByName ( int h, const char* name ) Retorna a variável com nome "name" do sistema de configuração da unidade. Em C++, se não existir o SettingsEntry indicado, retorna um não válido; em C devolve nulo. Em C, quando não se necessitar mais o elemento, deverá ser chamada a função VL_SettingsEntry_Release (ver o método Release da classe SettingsEntry). Em C o parâmetro "h" é um manipulador de Configuration e retorna um manipulador a SettingsEntry. ● SetEntry C++: bool SetEntry ( const char* name, const char* value ) C: int VL_Configuration_SetEntry ( int h, const char* name, const char* value ) Estabelece o valor da variável "name" ao valor "value". Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● RestoreEntry C++: bool RestoreEntry ( const char* name ) C: int VL_Configuration_RestoreEntry ( int h, const char* name ) Restaura o valor predefinido da variável "name". Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● ApplyChanges C++: bool ApplyChanges() C: int VL_Configuration_ApplyChanges ( int h ) Aplica as alterações efetuadas e reinicia a unidade. Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. Quercus Technologies 182 Manual de referencia de BirdWatch® RL ● Programação DiscardChanges C++: bool DiscardChanges() C: int VL_Configuration_DiscardChanges ( int h ) Descarta as alterações efetuadas na configuração da unidade. Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● ImportConfiguration C++: bool ImportConfiguration ( const char* fileName ) C: int VL_Configuration_ImportConfiguration ( int h, const char* fileName ) Importa a configuração do arquivo indicado em "fileName". O arquivo deve ter sido previamente depositado na raiz do servidor de FTP da unidade. Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● ExportConfiguration C++: bool ExportConfiguration ( const char* fileName ) C: int VL_Configuration_ExportConfiguration ( int h, const char* fileName ) Exporta a configuração ao arquivo indicado em "fileName" e o deposita na raiz do servidor de FTP da unidade. Retorna verdadeiro se foi possível efetuar a operação, falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● NewPresenceDetector C++: ConfigurationPresenceDetector NewPresenceDetector() C: int VL_Configuration_New_PresenceDetector( int h ) Cria um detector de presença vazio (valores por falta). Para adicionar um novo detector de presença na unidade deve utilizar essa função, para logo modificar o detector e adicioná-lo ao sistema mediante a função ApplyDetector da classe Configuração. Em C o parâmetro "h" é um manipulador de Configuration. ● NewQueueDetector C++: ConfigurationQueueDetector NewQueueDetector() C: int VL_Configuration_New_QueueDetector( int h ) Quercus Technologies 183 Manual de referencia de BirdWatch® RL Programação Cria um detector de fila vazio (valores por falta). Para adicionar um novo detector de fila na unidade deve utilizar essa função, para logo modificar o detector e adicioná-lo ao sistema mediante a função ApplyDetector da classe Configuration. Em C o parâmetro "h" é um manipulador de Configuration. ● NewSpeedDetector C++: ConfigurationSpeedDetector NewSpeedDetector() C: int VL_Configuration_New_SpeedDetector( int h ) Cria um detector de velocidade vazio (valores por falta). Para adicionar um novo detector de velocidade na unidade deve utilizar essa função, para logo modificar o detector e adicioná-lo ao sistema mediante a função ApplyDetector da classe Configuration. Em C o parâmetro "h" é um manipulador de Configuration. ● NewRedLightDetector C++: ConfigurationRedLightDetector NewRedLightDetector() C: int VL_Configuration_New_RedLightDetector( int h ) Criar um detector de avanço em vermelho vazio (valores padrões). Para adicionar um novo detector de avanço em vermelho na unidade deve utilizar essa função, para logo modificar o detector e adicioná-lo ao sistema mediante a função ApplyDetector da classe Configuration. Em C o parâmetro "h" é um manipulador de Configuration. ● NewStoppedCarDetector C++: ConfigurationStoppedCarDetector NewStoppedCarDetector() C: int VL_Configuration_New_StoppedCarDetector( int h ) Cria um detector de veículo parado vazio (valores por falta). Para adicionar um novo detector de veículo parado na unidade deve utilizar essa função, para logo modificar o detector e adicioná-lo ao sistema mediante a função ApplyDetector da classe Configuration. Em C o parâmetro "h" é um manipulador de Configuration. ● GetDetectorCount C++: int GetDetectorCount() C: int VL_Configuration_Get_DetectorCount ( int h ) Devolve o número de detectores configurados. Em C o parâmetro "h" é um manipulador de Configuration. Quercus Technologies 184 Manual de referencia de BirdWatch® RL ● Programação GetDetector C++: ConfigurationDetector GetDetector( int index, int id ) C: int VL_Configuration_Get_Detector( int h, int index, int id ) Devolve um detector da lista de detectores da unidade. Esse é definido por um dos parâmetros: ○ index: posição do detector na lista de detectores da unidade. ○ id: identificador do detector. Somente pode utilizar um; no parâmetro não utilizado deve indicar -1. Em C++, se não existir um ConfigurationDetector com o índice/posição indicado, retorna um não válido; em C devolve nulo. Em C, quando não se necessitar mais o elemento, deverá ser chamada a função VL_ConfigurationDetector_Release (ver o método Release da classe ConfigurationDetector). Em C o parâmetro "h" é um manipulador de Configuration. ● DeleteDetector C++: bool DeleteDetector( int index, int id ) C: int VL_Configuration_Delete_Detector( int h, int index, int id ) Elimina um detector da lista de detectores da unidade. Esse é definido por um dos parâmetros: ○ index: posição do detector na lista de detectores da unidade. ○ id: identificador do detector. Somente pode utilizar um; no parâmetro não utilizado deve indicar -1. Devolve verdadeiro se a solicitação tiver sido realizada com sucesso, ou devolve falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. ● ApplyDetector C++: bool ApplyDetector( ConfigurationDetector detector, VLConfigurationActionType action, int previousId ) C: int VL_Configuration_Apply_Detector( int h, int hDetector, int action, int previousId ) Incorpora um novo detector à lista de detectores da unidade ou modifica umo existente. A ação realizada dependerá do parâmetro “action”(ver 14.62Tipo VLConfigurationActionType). Se modificar um detector já existente deve indicar seu antigo identificador (pode ter modificado) mediante o parâmetro “previousId”. Se, ao contrário, um novo detector é adicionado, indicar -1. Devolve verdadeiro se a ação tiver sido realizada com sucesso, ou devolve falso, caso contrário. Em C o parâmetro "h" é um manipulador de Configuration e hDetector um manipulador de ConfigurationDetector. ● NewTrafficLight Quercus Technologies 185 Manual de referencia de BirdWatch® RL Programação C++: ConfigurationTrafficLight NewTrafficLight() C: int VL_Configuration_New_TrafficLight( int h ) Cria um semáforo vazio (valores por falta). Para adicionar um novo detector de presença na unidade deve utilizar essa função, para logo modificar o detector e adicioná-lo ao sistema mediante a função ApplyTrafficLight da classe Configuration. Em C o parâmetro "h" é um manipulador de Configuration. ● GetTrafficLightsCount C++: int GetTrafficLightsCount() C: int VL_Configuration_Get_TrafficLightsCount ( int h ) Devolve o número de semáforos configurados. Em C o parâmetro "h" é um manipulador de Configuration. ● GetTrafficLight C++: ConfigurationTrafficLight GetTrafficLight( int index, int id ) C: int VL_Configuration_Get_TrafficLight( int h, int index, int id ) Devolve um semáforo da lista de semáforos da unidade. Esse é definido por um dos parâmetros: ○ index: posição do semáforo na lista de semáforos da unidade. ○ Id: identificador do semáforo. Somente pode utilizar um; no parâmetro não utilizado deve indicar -1. Em C++, se não existir um ConfigurationTrafficLight com o índice/posição indicado, retorna um não válido; em C devolve nulo. Em C, quando não se necessitar mais o elemento, deverá ser chamada a função VL_ConfigurationTrafficLight_Release (ver o método Release da classe ConfigurationTrafficLight). Em C o parâmetro "h" é um manipulador de Configuration. ● DeleteTrafficLight C++: bool DeleteTrafficLight( int index, int id ) C: int VL_Configuration_Delete_TrafficLight( int h, int index, int id ) Elimina um semáforo da lista de semáforos da unidade. Esse é definido por um dos parâmetros: ○ index: posição do semáforo na lista de semáforos da unidade. ○ id: identificador do semáforo. Somente pode utilizar um; no parâmetro não utilizado deve indicar -1. Devolve verdadeiro se a solicitação tiver sido realizada com sucesso, ou devolve falso caso contrário. Em C o parâmetro "h" é um manipulador de Configuration. Quercus Technologies 186 Manual de referencia de BirdWatch® RL ● Programação ApplyTrafficLight C++: bool ApplyTrafficLight( ConfigurationTrafficLight trafficLight, VLConfigurationActionType action, int previousId ) C: int VL_Configuration_Apply_TrafficLight( int h, int hTrafficLight, int action, int previousId ) Incorpora um novo semáforo à lista de semáforos da unidade ou modifica umo existente. A ação realizada dependerá do parâmetro “action” (ver 14.62Tipo VLConfigurationActionType). Se modificar um semáforo já existente deve indicar seu antigo identificador (pode ter modificado) mediante o parâmetro “previousId”. Se, ao contrário, um novo semáforo é adicionado, indicar -1. Devolve verdadeiro se a ação tiver sido realizada com sucesso, ou devolve falso, caso contrário. Em C o parâmetro "h" é um manipulador de Configuration e hTrafficLight um manipulador de ConfigurationTrafficLight. 14.41. Classe ConfigurationDetector Representa um detector genérico do sistema de configuração. Dessa classe se derivam cada um dos diferentes tipos de detectores. 14.41.1. Propriedades ● Id Identificador do detector. Este deve ser único na lista de detectores da unidade. C++: int get_Id ( ) C: int VL_ConfigurationDetector_get_Id ( int h ) Devolve o identificador. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Id ( int id ) C: void VL_ConfigurationDetector_put_Id ( int h, int id ) Modifica o identificador. O novo valor é indicado por o parâmetro "id". Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Type C++: VLDetectorType get_Type ( ) C: int VL_ConfigurationDetector_get_Type ( int h ) Quercus Technologies 187 Manual de referencia de BirdWatch® RL Programação Devolve o tipo do detector. Ver 14.54Tipo VLDetectorType. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● AreIncidencesEnabled Indica se o detector tem habilitada a geração de incidências. Em caso negativo não serão geradas incidências no detector. C++: bool get_AreIncidencesEnabled ( ) C: int VL_ConfigurationDetector_get_AreIncidencesEnabled( int h ) Devolve a situação da geração de incidências. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_AreIncidencesEnabled ( bool value ) C: void VL_ConfigurationDetector_put_AreIncidencesEnabled ( int h, int n ) Certo para habilitar a geração de incidências no detector; falso caso contrário. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● AreSummariesEnabled Indica se o detector tem habilitada a geração de resumos. Em caso negativo não serão gerados sumários no detector. C++: bool get_AreSummariesEnabled ( ) C: int VL_ConfigurationDetector_get_AreSummariesEnabled( int h ) Devolve a situação da geração de resumos. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_AreSummariesEnabled ( bool value ) C: void VL_ConfigurationDetector_put_AreSummariesEnabled ( int h, int n ) Certo para habilitar a geração de resumos do detector; falso caso contrário. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● SendRealTimeInformation Indica se o envio de informações em tempo real está habilitado. Caso negativo, a unidade não informará ao sistema central dos eventos de este detector. Quercus Technologies 188 Manual de referencia de BirdWatch® RL C++: bool get_SendRealTimeInformation ( ) C: int VL_ConfigurationDetector_get_SendRealTimeInformation( int h ) Programação Devolve a situação do envio de informações em tempo real. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_SendRealTimeInformation ( bool value ) C: void VL_ConfigurationDetector_put_SendRealTimeInformation ( int h, int n ) Certo para habilitar o envio de informações em tempo real do detector; falso caso contrário. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● SendIncidences Indica se o envio de incidências geradas está habilitado. Caso negativo, a unidade não enviará as incidências geradas no detector ao sistema central. C++: bool get_SendIncidences ( ) C: int VL_ConfigurationDetector_get_SendIncidences( int h ) Devolve a situação do envio de incidências geradas. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_SendIncidences ( bool value ) C: void VL_ConfigurationDetector_put_SendIncidences ( int h, int n ) Certo para habilitar o envio de incidências geradas no detector; falso caso contrário. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● SendSummaries Indica se o envio de resumos gerados está habilitado. Caso negativo, a unidade não enviará os resumos gerados no detector ao sistema central. C++: bool get_SendSummaries ( ) C: int VL_ConfigurationDetector_get_SendSummaries( int h ) Devolve a situação do envio de resumos gerados. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. Quercus Technologies 189 Manual de referencia de BirdWatch® RL C++: void put_SendSummaries ( bool value ) C: void VL_ConfigurationDetector_put_SendSummaries ( int h, int n ) Programação Certo para habilitar o envio de resumos gerados no detector; falso caso contrário. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● SummariesPeriod Período de tempo dos resumos; em minutos. C++: int get_SummariesPeriod ( ) C: int VL_ConfigurationDetector_get_SummariesPeriod( int h ) Devolve o período de tempo dos sumários configurados. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_SummariesPeriod ( int value ) C: void VL_ConfigurationDetector_put_SummariesPeriod ( int h, int n ) Modifica o período de tempo dos resumos. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Coordinates Coordenadas do detector. C++: Region get_Coordinates ( ) C: int VL_ConfigurationDetector_get_Coordinates( int h ) Devolve a região onde se encontra o detector. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Coordinates ( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 ) C: void ConfigurationDetector_put_Coordinates ( int h, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 ) Modifica as coordenadas do detector. Consultar o capítulo 11.2.2.1Conceitos pré-existentes para verificar como definir as coordenadas do detector. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● OutputActuators Quercus Technologies 190 Manual de referencia de BirdWatch® RL C++: ConfigurationOutputActuators get_OutputActuators ( ) C: Não existe. Programação Em C++ devolve os atuadores de saída do detector. Em C não existe uma representação da coleção “ConfigurationOutputActuators” senão métodos para acessar diretamente as propriedades de tal coleção: ● int VL_ConfigurationDetector_get_OutputActuators_Count ( int h ): número de atuadores configurados no detector. ● int VL_ConfigurationDetector_get_OutputActuators_Item ( int h, int item ): retorna o atuador que há na posição indicada dentro da coleção de atuadores do detector (a partir de zero). Se não existir um ConfigurationOutputActuator para a posição indicada, retorna nulo. ● int VL_ConfigurationDetector_get_OutputActuators_Create ( int h, int field, int op, int value, int outputId, int time ): Adicione um novo atuador ao detector, cujas características são determinadas pelos parâmetros da função. Retorna verdadeiro se foi criado com sucesso e falso em caso contrário. ● int VL_ConfigurationDetector_get_OutputActuators_Delete ( int h, int index ): retorna o atuador que há na posição "index", dentro da coleção de atuadores do detector (a partir de zero). Retorna verdadeiro se foi eliminado com sucesso e falso em caso contrário. 14.41.2. Métodos ● IsValid C++: bool IsValid() C: Não existe. Retorna verdadeiro se o objeto contém informação válida e falso caso contrário. ● AddRef C++: Não existe C: void VL_ConfigurationDetector_AddRef ( int h ) Ver 13.2.1Gerenciamento de memória. ● Release C++: Não existe C: void VL_ConfigurationDetector_Release ( int h ) Ver 13.2.1Gerenciamento de memória. Quercus Technologies 191 Manual de referencia de BirdWatch® RL Programação 14.42. Classe ConfigurationPresenceDetector Representa um detector de presença do sistema de configuração. Esta classe deriva de ConfigurationDetector; ver 14.41Classe ConfigurationDetector. 14.43. Classe ConfigurationQueueDetector Representa um detector de fila do sistema de configuração. Esta classe deriva de ConfigurationDetector; ver 14.41Classe ConfigurationDetector. 14.44. Classe ConfigurationSpeedDetector Representa um detector de velocidade do sistema de configuração. Esta classe deriva de ConfigurationDetector; ver 14.41Classe ConfigurationDetector. 14.44.1. Propriedades ● CalculateMetrics Indica se o cálculo de velocidades e comprimentos dos veículos está habilitado. Em caso negativo a unidade não calculará os valores para o detector. C++: bool get_CalculateMetrics ( ) C: int VL_ConfigurationSpeedDetector_get_CalculateMetrics( int h ) Devolve a situação do cálculo de velocidades e comprimentos. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_CalculateMetrics ( bool value ) C: void VL_ConfigurationSpeedDetector_put_CalculateMetrics ( int h, int n ) Certo para habilitar o cálculo de velocidades e comprimentos; falso caso contrário. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Distance Distância de a unidade ao detector; em milímetros. C++: int get_Distance ( ) C: int VL_ConfigurationSpeedDetector_get_Distance( int h ) Devolve a distância da unidade ao detector. Quercus Technologies 192 Manual de referencia de BirdWatch® RL Programação Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Distance ( bool value ) C: void VL_ConfigurationSpeedDetector_put_Distance ( int h, int n ) Modifica a distância da unidade ao detector. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Length Comprimento do detector; em milímetros. C++: int get_Length ( ) C: int VL_ConfigurationSpeedDetector_get_Length( int h ) Devolve o comprimento do detector. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Length ( bool value ) C: void VL_ConfigurationSpeedDetector_put_Length ( int h, int n ) Modifica o comprimento do detector. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. 14.45. Classe ConfigurationRedLightDetector Representa um detector de avanço em vermelho do sistema de configuração. Esta classe deriva de ConfigurationDetector; ver 14.41Classe ConfigurationDetector. 14.45.1. Propriedades ● CalculateMetrics Indica se o cálculo de velocidades e comprimentos dos veículos está habilitado. Em caso negativo a unidade não calculará os valores para o detector. C++: bool get_CalculateMetrics ( ) C: int VL_ConfigurationRedLightDetector_get_CalculateMetrics( int h ) Devolve a situação do cálculo de velocidades e comprimentos. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. Quercus Technologies 193 Manual de referencia de BirdWatch® RL C++: void put_CalculateMetrics ( bool value ) C: void VL_ConfigurationRedLightDetector_put_CalculateMetrics ( int h, int n ) Programação Certo para habilitar o cálculo de velocidades e comprimentos; falso caso contrário. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Distance Distância de a unidade ao detector; em milímetros. C++: int get_Distance ( ) C: int VL_ConfigurationRedLightDetector_get_Distance( int h ) Devolve a distância da unidade ao detector. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Distance ( int value ) C: void VL_ConfigurationRedLightDetector_put_Distance ( int h, int n ) Modifica a distância da unidade ao detector. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Length Comprimento do detector; em milímetros. C++: int get_Length ( ) C: int VL_ConfigurationRedLightDetector_get_Length( int h ) Devolve o comprimento do detector. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Length ( int value ) C: void VL_ConfigurationRedLightDetector_put_Length ( int h, int n ) Modifica o comprimento do detector. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● DelayTime Tempo de espera do detector; em milésimos de segundos. Quercus Technologies 194 Manual de referencia de BirdWatch® RL C++: int get_DelayTime ( ) C: int VL_ConfigurationRedLightDetector_get_DelayTime( int h ) Programação Devolve o tempo de espera do detector. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_DelayTime ( int value ) C: void VL_ConfigurationRedLightDetector_put_DelayTime ( int h, int n ) Modifica o tempo de espera do detector. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● TrafficLightId Identificador do semáforo relacionado com o detector. No caso de usar entradas digitais, seu valor será -1. C++: int get_TrafficLightId ( ) C: int VL_ConfigurationRedLightDetector_get_TrafficLightId( int h ) Devolve o identificador do semáforo. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_TrafficLightId ( int value ) C: void VL_ConfigurationRedLightDetector_put_TrafficLightId ( int h, int n ) Modifica o identificador do semáforo. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● RedInput Identificador da entrada digital utilizada para o sinal de proibição de avançar. No caso de usar um semáforo configurado, seu valor será -1. C++: int get_RedInput ( ) C: int VL_ConfigurationRedLightDetector_get_RedInput( int h ) Devolve o identificador da entrada digital. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_RedInput ( int value ) C: void VL_ConfigurationRedLightDetector_put_RedInput ( int h, int n ) Quercus Technologies 195 Manual de referencia de BirdWatch® RL Programação Modifica o identificador da entrada digital. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● AmberInput Identificador da entrada digital utilizada para o sinal de âmbar. No caso de usar um semáforo configurado o não usar o sinal de âmbar, seu valor será -1. C++: int get_AmberInput ( ) C: int VL_ConfigurationRedLightDetector_get_AmberInput( int h ) Devolve o identificador da entrada digital. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_AmbarInput ( int value ) C: void VL_ConfigurationRedLightDetector_put_AmbarInput ( int h, int n ) Modifica o identificador da entrada digital. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● IsVideoEnabled Indica se a geração de vídeo nas unidades está habilitada. Caso negativo, a unidade não gerara vídeos nas incidências do detector. C++: bool get_IsVideoEnabled ( ) C: int VL_ConfigurationRedLightDetector_get_IsVideoEnabled( int h ) Devolve a situação da geração de vídeos. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_IsVideoEnabled ( bool value ) C: void VL_ConfigurationRedLightDetector_put_IsVideoEnabled ( int h, int n ) Modifica a situação da geração de vídeos. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● PreVideoTimeMs Tempo que antecipará o início da captura do vídeo nas incidências; em milésimos de segundo. Quercus Technologies 196 Manual de referencia de BirdWatch® RL C++: int get_PreVideoTimeMs ( ) C: int VL_ConfigurationRedLightDetector_get_PreVideoTimeMs( int h ) Programação Devolve o tempo de adiantamento. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_PreVideoTimeMs ( int value ) C: void VL_ConfigurationRedLightDetector_put_PreVideoTimeMs ( int h, int n ) Modifica o tempo de adiantamento. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● PostVideoTimeMs Tempo que retardará a finalização da captura do vídeo nas incidências; em milésimos de segundo. C++: int get_PostVideoTimeMs ( ) C: int VL_ConfigurationRedLightDetector_get_PostVideoTimeMs( int h ) Devolve o tipo de atraso. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_PostVideoTimeMs ( int value ) C: void VL_ConfigurationRedLightDetector_put_PostVideoTimeMs ( int h, int n ) Modifica o tempo de atraso. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. 14.46. Classe ConfigurationStoppedCarDetector Representa um detector de veículo parado do sistema de configuração. Esta classe deriva de ConfigurationDetector; ver 14.41Classe ConfigurationDetector. 14.46.1. Propriedades ● MaxStopTime Tempo mínimo de parada do detector para que seja gerada uma incidência; em milisésimos de segundos. C++: int get_MaxStopTime ( ) C: int VL_ConfigurationStoppedCarDetector_get_MaxStopTime( int h ) Quercus Technologies 197 Manual de referencia de BirdWatch® RL Programação Devolve o tempo mínimo de parada do detector para que seja gerada uma incidência; em milésimos de segundos. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: int put_MaxStopTime ( int value ) C: int VL_ConfigurationStoppedCarDetector_put_MaxStopTime( int h, int n ) Modifica o tempo mínimo de parada do detector para que seja gerada uma incidência; em milissegundos. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● TrafficLightId Identificador do semáforo relacionado com o detector. No caso de usar entradas digitais, seu valor será -1. C++: int get_TrafficLightId ( ) C: int VL_ConfigurationStoppedCarDetector_get_TrafficLightId( int h ) Devolve o identificador do semáforo. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_TrafficLightId ( int value ) C: void VL_ConfigurationStoppedCarDetector_put_TrafficLightId ( int h, int n ) Modifica o identificador do semáforo. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● RedInput Identificador da entrada digital utilizada para o sinal de proibição de avançar. No caso de usar um semáforo configurado, seu valor será -1. C++: int get_RedInput ( ) C: int VL_ConfigurationStoppedCarDetector_get_RedInput( int h ) Devolve o identificador da entrada digital. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_RedInput ( int value ) C: void VL_ConfigurationStoppedCarDetector_put_RedInput ( int h, int n ) Modifica o identificador da entrada digital. Quercus Technologies 198 Manual de referencia de BirdWatch® RL Programação Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● IsVideoEnabled Indica se a geração de vídeo nas unidades está habilitada. Caso negativo, a unidade não gerara vídeos nas incidências do detector. C++: bool get_IsVideoEnabled ( ) C: int VL_ConfigurationStoppedCarDetector_get_IsVideoEnabled( int h ) Devolve a situação da geração de vídeos. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_IsVideoEnabled ( bool value ) C: void VL_ConfigurationStoppedCarDetector_put_IsVideoEnabled ( int h, int n ) Modifica a situação da geração de vídeos. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● PreVideoTimeMs Tempo adiantará o início da captura do vídeo nas incidências; em milésimos de segundo. C++: int get_PreVideoTimeMs ( ) C: int VL_ConfigurationStoppedCarDetector_get_PreVideoTimeMs( int h ) Devolve o tempo de adiantamento. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_PreVideoTimeMs ( int value ) C: void VL_ConfigurationStoppedCarDetector_put_PreVideoTimeMs ( int h, int n ) Modifica o tempo de adiantamento. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● PostVideoTimeMs Tempo que atrasará a finalização da captura do vídeo nas incidências; em milésimos de segundo. C++: int get_PostVideoTimeMs ( ) C: int VL_ConfigurationStoppedCarDetector_get_PostVideoTimeMs( int h ) Quercus Technologies 199 Manual de referencia de BirdWatch® RL Programação Devolve o tipo de atraso. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_PostVideoTimeMs ( int value ) C: void VL_ConfigurationStoppedCarDetector_put_PostVideoTimeMs ( int h, int n ) Modifica o tempo de atraso. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. 14.47. Classe ConfigurationOutputActuators Coleção de atuadores de saída de um detector do sistema de configuração. 14.47.1. Métodos ● Count C++: int Count ( ) C: Não existe, consultar VL_ConfigurationDetector_get_OutputActuators_Count ( ) de ConfigurationDetector. Número de atuadores configurados. ● Item C++: ConfigurationOutputActuator Item ( int item ) C: Não existe, consultar VL_ConfigurationDetector_get_OutputActuators_Item ( ) de ConfigurationDetector. Retorna o atuador que há na posição indicada dentro da coleção de atuadores do detector. Se não existir umConfigurationOutputActuator para a posição indicada, devolve um não válido (ver IsValid da classe ConfigurationOutputActuator). No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). ● Create C++: bool Create ( VLFieldType field, VLOperatorType op, int value, int outputId, int time ) C: Não existe, consultar VL_ConfigurationOutputActuators_get_OutputActuators_Create ( ) de ConfigurationDetector. Adiciona um novo atuador na coleção de atuadores do detector. O mesmo estará definido por cada um dos parâmetros da função. Retorna verdadeiro se foi criado com sucesso e falso em caso contrário. Quercus Technologies 200 Manual de referencia de BirdWatch® RL ● Programação Delete C++: bool Delete ( int index ) C: Não existe, consultar VL_ConfigurationOutputActuators_get_OutputActuators_Delete ( ) de ConfigurationDetector. Exclui o atuador do detector, cuja posição na coleção é “index”. Retorna verdadeiro se foi eliminado com sucesso e falso em caso contrário. 14.48. Classe ConfigurationOutputActuator Representa um ativador de saída de um detector do sistema de configuração. 14.48.1. Propriedades ● Field Campo sobre o que se aplica o atuador; consultar capítulo 14.58Tipo VLFieldType. C++: VLFieldType get_Field ( ) C: int VL_ConfigurationOutputActuator_get_Field ( int h ) Retorna o campo do atuador. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Field ( VLFieldType value ) C: void VL_ConfigurationOutputActuator_put_Field( int h, int field ) Modifica o campo do atuador. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Operator Operador do atuador; ver 14.59Tipo VLOperatorType. C++: VLOperatorType get_Operator ( ) C: int VL_ConfigurationOutputActuator_get_Operator ( int h ) Retorna o operador do atuador. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: Quercus Technologies void put_Operator ( VLOperatorType value ) 201 Manual de referencia de BirdWatch® RL C: Programação void VL_ConfigurationOutputActuator_put_Operator( int h, int op ) Modifica o operador do atuador. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Value Valor de comparação do atuador. C++: int get_Value ( ) C: int VL_ConfigurationOutputActuator_get_Value ( int h ) Retorna o valor de comparação do atuador. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Value ( int value ) C: void VL_ConfigurationOutputActuator_put_Value( int h, int value ) Modifica o valor de comparação do atuador. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● OutputId Identificador da saída digital relacionada ao atuador. C++: int get_OutputId ( ) C: int VL_ConfigurationOutputActuator_get_OutputId ( int h ) Devolve o identificador da saída digital. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_OutputId ( int value ) C: void VL_ConfigurationOutputActuator_put_OutputId( int h, int outputId ) Modifica o identificador da saída digital. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Time Tempo de ativação da saída digital; em milésimos de segundos. C++: Quercus Technologies int get_Time ( ) 202 Manual de referencia de BirdWatch® RL C: Programação int VL_ConfigurationOutputActuator_get_Time ( int h ) Devolve o tempo de ativação da saída digital. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Time ( int value ) C: void VL_ConfigurationOutputActuator_put_Time( int h, int t ) Modifica o tempo de ativação da saída digital. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. 14.48.2. Métodos ● IsValid C++: bool IsValid() C: Não existe. Retorna verdadeiro se o objeto contém informação válida e falso caso contrário. 14.49. Classe ConfigurationTrafficLight Representa um semáforo do sistema de configuração. 14.49.1. Propriedades ● Id Identificador do semáforo. Este deve ser único na lista de semáforos configurados na unidade. C++: int get_Id ( ) C: int VL_ConfigurationTrafficLight_get_Id ( int h ) Devolve o identificador do semáforo. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Id ( int value ) C: void VL_ConfigurationTrafficLight_put_Id ( int h, int n ) Modifica o identificador do semáforo. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● NumLights Quercus Technologies 203 Manual de referencia de BirdWatch® RL C++: int get_NumLights ( ) C: int VL_ConfigurationTrafficLight_get_NumLights ( int h ) Programação Devolve o número de luzes configuradas no semáforo. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Lights C++: ConfigurationLights get_Lights( ) C: Não existe Em C++, devolve a coleção de luzes que formam o semáforo. Em C não existe uma representação da coleção “ConfigurationLights” senão métodos para acessar diretamente as propriedades de tal coleção: ● int VL_ConfigurationTrafficLight_get_Lights_Count ( int h ): número de luzes configuradas no semáforo. ● int VL_ConfigurationTrafficLight_get_Lights_Item ( int h, int item ): devolve a luz existente na posição indicada dentro da coleção de luzes do semáforo (a partir de zero). Se não existir um ConfigurationLight para a posição indicada, retorna nulo. ● int VL_ConfigurationTrafficLight_get_Lights_Create ( int h, int x, int y, int radius, int type ): adiciona uma nova luz ao semáforo, cujas características são determinados pelos parâmetros da função. Retorna verdadeiro se foi criado com sucesso e falso em caso contrário. ● int VL_ConfigurationTrafficLight_get_Lights_Delete ( int h, int index ): elimina a luz da posição "index", dentro da coleção de luzes do semáforo (a partir de zero). Retorna verdadeiro se foi eliminado com sucesso e falso em caso contrário. 14.49.2. Métodos ● IsValid C++: bool IsValid() C: Não existe. Retorna verdadeiro se o objeto contém informação válida e falso caso contrário. ● AddRef C++: Não existe C: void VL_ConfigurationTrafficLight_AddRef ( int h ) Ver 13.2.1Gerenciamento de memória. Quercus Technologies 204 Manual de referencia de BirdWatch® RL ● Programação Release C++: Não existe C: void VL_ConfigurationTrafficLight_Release ( int h ) Ver 13.2.1Gerenciamento de memória. 14.50. Classe ConfigurationLights Coleção de luzes de um semáforo do sistema de configuração. 14.50.1. Métodos ● Count C++: int Count ( ) C: Não existe, consultar VL_ConfigurationTrafficLight_get_Lights_Count ( ) de ( ) de ConfigurationTrafficLight. Número de luzes configuradas. ● Item C++: ConfigurationLight Item ( int item ) C: Não existe, consultar VL_ConfigurationTrafficLight_get_Lights_Item ConfigurationTrafficLight. Devolve a luz existente na posição indicada dentro da coleção de luzes de um semáforo . Se não existir um ConfigurationLight para a posição indicada, devolve um não válido (ver IsValid da classe ConfigurationLight). No parâmetro “item” deve-se indicar a posição (a primeira posição é zero). ● Create C++: bool Create ( int x, int y, int radius, VLLightType type) C: Não existe, consultar VL_ConfigurationTrafficLight_get_Lights_Create ( ) de ConfigurationTrafficLight. Adiciona uma nova luz na coleção de luzes do semáforo. A mesma estará definida por cada um dos parâmetros da função. Retorna verdadeiro se foi criado com sucesso e falso em caso contrário. ● Delete C++: Quercus Technologies bool Delete ( int index ) 205 Manual de referencia de BirdWatch® RL C: Não existe, Programação consultar VL_ConfigurationTrafficLight_get_Lights_Delete ( ) de ConfigurationTrafficLight. Exclui a luz do semáforo cuja posição na coleção é “index”. Retorna verdadeiro se foi eliminado com sucesso e falso em caso contrário. 14.51. Classe ConfigurationLight Representa uma luz pertencente a um semáforo do sistema de configuração; ver 14.49Classe ConfigurationTrafficLight. 14.51.1. Propriedades ● Type Tipo da luz; ver 14.57Tipo VLLightType. C++: VLLightType get_Type() C: int VL_ConfigurationLight_get_Type( int h ) Devolve o tipo de luz. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Type ( VLLightType value ) C: void VL_ConfigurationLight_put_Type( int h, int n ) Modifica o tipo da luz. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● X Posição X (eixo horizontal) do centro da luz. C++: int get_X ( ) C: int VL_ConfigurationLight_get_X( int h ) Devolve a posição X (eixo horizontal) da luz. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_X ( int value ) C: void VL_ConfigurationLight_put_X( int h, int n ) Modifica a posição X (eixo horizontal) da luz. Quercus Technologies 206 Manual de referencia de BirdWatch® RL Programação Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Y Posição Y (eixo vertical) do centro da luz. C++: int get_Y ( ) C: int VL_ConfigurationLight_get_Y ( int h ) Devolve a posição Y (eixo vertical) da luz. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Y ( int value ) C: void VL_ConfigurationLight_put_Y ( int h, int n ) Modifica a posição Y (eixo vertical) da luz. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. ● Radius Raio da luz; em pixels. C++: int get_Radius ( ) C: int VL_ConfigurationLight_get_Radius ( int h ) Devolve o raio da luz. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. C++: void put_Radius ( int value ) C: void VL_ConfigurationLight_put_Radius ( int h, int n ) Modifica o raio da luz. Em C o parâmetro "h" é um manipulador de ConfigurationDetector. 14.51.2. ● Métodos IsValid C++: bool IsValid() C: Não existe. Retorna verdadeiro se o objeto contém informação válida e falso caso contrário. Quercus Technologies 207 Manual de referencia de BirdWatch® RL Programação 14.52. Classe SystemInformation 14.52.1. Propriedades ● Name C++: void get_Name ( char *buf, int bufLen ) C: void VL_SystemInformation_get_Name ( int h, char *buf, int bufLen ) Retorna o nome do produto. O parâmetro "buf" é um ponteiro a um buffer onde se escreverá o nome e no parâmetro "bufLem" se deverá indicar o tamanho máximo em bytes deste buffer. Em C o parâmetro "h" é um manipulador de Configuration. ● ProdutionDate C++: long get_ProductionDate() C: long VL_SystemInformation_get_ProductionDate ( int h ) Retorna a data de produção do equipamento expressada como os segundos decorridos desde as 00:00 horas de 1 de janeiro de 1970. Em C o parâmetro "h" é um manipulador de Configuration. ● SerialNumber C++: void get_SerialNumber ( char *buf, int bufLen ) C: void VL_SystemInformation_get_SerialNumber ( int h, char *buf, int bufLen ) Retorna o número de série do produto. O parâmetro "buf" é um ponteiro a um buffer onde se escreverá o número de série e no parâmetro "bufLem" se deverá indicar o tamanho máximo em bytes deste buffer. Em C o parâmetro "h" é um manipulador de Configuration. ● MacAddress C++: void get_MacAddress ( char *buf, int bufLen ) C: void VL_SystemInformation_get_MacAddress ( int h, char *buf, int bufLen ) Retorna o endereço MAC do equipamento. O parâmetro "buf" é um ponteiro a um buffer onde se escreverá tal endereço e no parâmetro "bufLem" se deverá indicar o tamanho máximo em bytes deste buffer. Em C o parâmetro "h" é um manipulador de Configuration. ● BootTime C++: long get_BootTime() C: long VL_SystemInformation_get_BootTime ( int h ) Quercus Technologies 208 Manual de referencia de BirdWatch® RL Programação Retorna a data e hora de partida do equipamento expressada como os segundos decorridos desde as 00:00 horas de 1 de janeiro de 1970. Em C o parâmetro "h" é um manipulador de Configuration. ● HardwareVersão C++: VersionInfo get_HardwareVersion ( ) C: int VL_SystemInformation_get_HardwareVersion ( int h ) Retorna um objeto com as informações da versão do hardware. Em C o parâmetro "h" é um manipulador de Configuration e retorna um manipulador de VersionInfo. 14.52.2. Métodos ● IsValid C++: bool IsValid() C: Não existe. Retorna verdadeiro se o objeto contém informação válida e falso caso contrário. 14.53. Classe SettingsEntry Descreve as propriedades de uma entrada da lista de variáveis de configuração. 14.53.1. Propriedades ● Name C++: void get_Name ( char *buf, int bufLen ) C: void VL_SettingEntry_get_Name ( int h, char *buf, int bufLen ) Retorna o nome da variável. O parâmetro "buf" é um ponteiro a um buffer onde se escreverá o nome e no parâmetro "bufLem" se deverá indicar o tamanho máximo em bytes deste buffer. Em C o parâmetro "h" é um manipulador de SettingsEntry. ● Value C++: void get_Value ( char *buf, int bufLen ) C: void VL_SettingEntry_get_Value ( int h, char *buf, int bufLen ) Retorna o valor atual da variável. O parâmetro "buf" é um ponteiro a um buffer onde se escreverá dito valor e no parâmetro "bufLem" se deverá indicar o tamanho máximo em bytes deste buffer. Em C o parâmetro "h" é um manipulador de SettingsEntry. Quercus Technologies 209 Manual de referencia de BirdWatch® RL ● Programação Descrition C++: void get_Description ( int langId, char *buf, int bufLen ) C: void VL_SettingEntry_get_Description ( int h, int langId, char *buf, int bufLem) Retorna a descrição da variável no idioma indicado em "langId" (1 ou 2). O parâmetro "buf" é um ponteiro a um buffer onde se escreverá a descrição e no parâmetro "bufLem" se deverá indicar o tamanho máximo em bytes deste buffer. Em C o parâmetro "h" é um manipulador de SettingsEntry. 14.53.2. Métodos ● IsValid C++: bool IsValid() C: Não existe. Retorna verdadeiro se o objeto contém informação válida e falso caso contrário. ● AddRef C++: Não existe C: void VL_SettingEntry_AddRef ( int h ) Ver 13.2.1Gerenciamento de memória. ● Release C++: Não existe C: void VL_SettingEntry_Release ( int h ) Ver 13.2.1Gerenciamento de memória. 14.54. Tipo VLDetectorType Especifica o tipo de detector. ● DT_ALL=0 ● DT_SPEED=1 Detector de velocidade. ● DT_QUEUE=2 Detector de fila. ● DT_PRESENCE=3 Detector de presença. ● DT_RED_LIGHT=4 Detector de avançar no vermelho. Quercus Technologies Detector de qualquer tipo. 210 Manual de referencia de BirdWatch® RL ● Programação DT_STOPPED_CAR=5 Detector de veículo parado. 14.55. Tipo VLNotificationCode Especifica o tipo de evento que gerou a notificação. ● NTC_UNDEFINED=-1 Notificação sobre um evento desconhecido. ● NTC_STATUS_CHANGED=0 Notificação de mudança de situação. ● NTC_STARTUP_OK=1 Notificação de inicialização de unidade correta. ● NTC_STARTUP_ERROR=2 Notificação de inicialização de unidade incorreta. ● NTC_SHUTDOWN_OK=3 ● NTC_SHUTDOWN_ERROR=4 Notificação de desligamento de unidade incorreto. Notificação de desligamento de unidade correto. 14.56. Tipo VLIncidenceType Especifica o tipo de incidência. ● IT_WRONG_WAY=0 Incidência do tipo “veículo circulando no sentido contrário”. ● IT_RED_LIGHT_VIOLATION=1 Incidência do tipo “veículo que avançou no sinal vermelho". ● IT_STOPPED_CAR_VIOLATION=2 Incidência do tipo “veículo que parou em uma zona não permitida" 14.57. Tipo VLLightType Especifica a cor de uma luz de um semáforo. ● LT_RED=0 Luz de cor vermelha. ● LT_GREEN=1 Luz de cor verde. ● LT_AMBAR=2 Luz de cor amarela. ● LT_OTHER=3 Luz de cor desconhecida. 14.58. Tipo VLFieldType Especifica o tipo de campo a ser considerado para os atuadores de saída digitais dos detectores. ● FT_SPEED=0 ● FT_LENGTH=1 ● FT_WRONG_WAY=2 Sentido de circulação incorreto detectado. ● FT_OCCUPATION=3 Valor da ocupação. ● FT_IS_OCCUPIED=4 Presença no detector. Quercus Technologies Velocidade de circulação detectada. Comprimento detectado do veículo. 211 Manual de referencia de BirdWatch® RL Programação 14.59. Tipo VLOperatorType Especifica o operador utilizado para os atuadores de saídas digitais dos detectores. ● OT_EQUALS=0 Operador “igual a”. ● OT_DIFF=1 Operador “diferente a”. ● OT_GREATER=2 Operador “maior que”. ● OT_GREATER=3 Operador “menor que”. 14.60. Tipo VLTimestampObject Especifica o elemento que faz referência a um determinado Timestamp (momento). ● TO_REAL_TIME=0 Informações de tempo real. ● TO_IMAGE_INCIDENCE=1 ● TO_VIDEO_INCIDENCE_INI=2 Inicio do vídeo. ● TO_VIDEO_INCIDENCE_INI=3 Finalização do vídeo. Incidência. 14.61. Tipo VLLogSystem Especifica o tipo de arquivo de registro. ● VL_LOG_UNIT=0 Arquivo de registro do sistema. ● VL_LOG_COMBRIDGE=1 Arquivo de registro das comunicações serie. ● VL_LOG_CONFIG=2 Arquivo de registro do sistema de configuração. ● VL_LOG_FILESYSTEM=3 Arquivo de registro do disco de dados. 14.62. Tipo VLConfigurationActionType Especifica a operação que será realizada nos detectores ou semáforos do sistema de configuração. ● VL_AT_MODIFY_DETECTOR=0 ● VL_AT_ADD_DETECTOR=1 ● VL_AT_MODIFY_TRAFFIC_LIGHT=2Modificar um semáforo existente. ● VL_AT_ADD_TRAFFIC_LIGHT=3 Quercus Technologies Modificar um detector existente. Adicionar um novo detector. Adicionar um novo semáforo. 212 Manual de referencia de BirdWatch® RL Programação 15. Protocolo de comunicações Cada unidade pode receber e enviar informações mediante um simples protocolo UDP binário. As mensagens serão enviadas à unidade mediante a porta 8051 desta (modificável mediante configuração) e a unidade enviará as mensagens à porta 8050 do endereço que tenha configurado como sistema central (modificável mediante configuração) no qual estará rodando o aplicativo cliente. Opcionalmente, pode-se usar comunicação serial em vez de UDP, caso em que, as tramas das mensagens serão idênticas às usadas em UDP, simplesmente se alterará o meio de transporte destas. Existem dois grupos de mensagens que podem ser dados entre unidade e sistema central: ● Eventos. ● Pedidos (e suas respostas). Um evento é uma mensagem que a unidade envia ao sistema central como mecanismo para notificá-lo sobre algum fato (a chegada de uma incidência, a ativação de uma saída digital, etc.). Um evento deve ser respondido pelo sistema central dentro de um tempo-limite (modificável por configuração) com um ACK para que a unidade saiba que foi recebido com êxito. Caso contrário, reenviará a mensagem até que receba o ACK ou se esgote o número máximo de novas tentativas (modificáveis também por configuração). Caso se responda a um evento com um NAK, também será reenviado (até ao mesmo número de novas tentativas). Exemplo de Eventos: Unidade: Sistema central Evento 1 ACK Evento 2 NAK Evento 2 NAK Evento 3 Timeout Evento 3 Evento 4 Uma mensagem do tipo Solicitação é uma mensagem que o aplicativo do cliente envia a uma unidade para obter informações sobre ela ou para que a unidade execute uma ação (ativar uma saída, reiniciar a unidade, etc.). Todos os pedidos serão respondidos imediatamente pela unidade com uma mensagem do tipo resposta onde estarão as informações solicitadas, um ACK se a mensagem não esperava uma resposta ou um NAK se a mensagem não foi Quercus Technologies 213 Manual de referencia de BirdWatch® RL Programação recebida, interpretada ou completada corretamente. É necessário ter em conta que entre a chegada à unidade de um pedido e sua resposta pode ser produzido algum evento no sistema, de forma que a primeira mensagem que chega depois de ter feito um pedido não tem por que ser a resposta a esse pedido. Exemplo de pedidos e suas respostas: Unidade: Sistema central Ação ACK (Ação) çõ Obtener informa Informações sconhecida mensagem de NAK Ação Evento Evento ACK (Evento) ACK (Ação) 15.1. Formato das mensagens As mensagens terão sempre o mesmo formato; a ordenação dos bytes de todos os campos é “little-endian”: ● Stx (1 byte): byte que assinala o início da trama (caráter ASCII 2). 1 4 4 2 Stx UnitId Size Type 2 Version 4 Id Variable Message data 1 1 Bcc Etx ● Unit Id (4 bytes): identificador da unidade de captação que envia ou recebe a mensagem. ● Size (4 bytes): tamanho total da mensagem em bytes. ● Type (2 bytes): tipo de mensagem. Os tipos de mensagem detalham-se mais adiante. ● Versão (2 bytes): versão da mensagem. Nas mensagens que evoluíram (adicionando campos, modificando-os, etc.) esse campo indica a versão utilizada na mensagem (ver mais abaixo). ● Id (4 bytes): identificador único da conversa. O valor será o mesmo para a mensagem de ida que para a de volta. Desta forma, pode-se conhecer se uma resposta obtida é a que se esperava ou não. Este valor será 1 para a primeira mensagem enviada das unidades ao sistema central e aumentar-se-á de dois em dois em cada nova mensagem. Nas mensagens do sistema central às unidades, a primeira mensagem será 2 e aumentar-se-á também de 2 em 2. Quercus Technologies 214 Manual de referencia de BirdWatch® RL Programação ● Message Data (variável): dados específicos para cada mensagem. ● Bcc (1 byte): XOR de todos os bytes da mensagem desde Stx até o último byte de “Message data”. ● Etx (1 byte): assinala o final da mensagem (caractere ASCII 3). 15.2. Versões das mensagens As mensagens contêm um campo "versão" que indica a versão da mensagem usada para permitir a ampliação do protocolo de comunicações. Cada versão da mesma mensagem pode conter mais ou menos campos e pode variar o comprimento destes, por isso, é imprescindível avaliar este campo antes de proceder aos campos específicos da mensagem. As unidades dispõem de um sistema de negociação de versão que torna 100% compatíveis qualquer unidade com qualquer versão do protocolo que tenha existido. Quando a unidade envia uma mensagem de evento, sempre tenta enviar a versão mais alta que conhece de tal tipo de mensagem. Se o sistema central responde com uma mensagem NAK do tipo 6 (Incorrect version), a unidade enviará, na seguinte tentativa, a versão imediatamente anterior da mensagem. Este processo se repetirá até que se esgotem as tentativas configuradas, o sistema central responda com ACK ou a versão da mensagem chegue ao mínimo que a unidade sabe gerenciar (normalmente zero). Nas subseqüentes mensagens do mesmo tipo que a unidade crie, já se partirá da versão estabelecida na mensagem anterior. Esse processo se repete após cada vez que a unidade é reinicializada. Exemplo: Unidade Sistema central 1.er Evento (v2) NAK(6) 1.er Evento (v1) NAK(6) Fim tentativas 2.º Evento (v0) ACK Quando a unidade recebe uma mensagem de solicitação do sistema central, ela sempre tenta responder com a mesma versão da mensagem de resposta, ou responde com um NAK do tipo 6 (Incorrect version), se não for capaz de entender essa versão da mensagem. Quercus Technologies 215 Manual de referencia de BirdWatch® RL Programação Exemplo: Unidade Sistema central Petição(V1) NAK(6) Petição(V0) Resposta Quercus Technologies 216 Manual de referencia de BirdWatch® RL Programação 15.3. Compatibilidade entre produtos O protocolo VL é compartilhado por várias famílias de produtos da Quercus Technologies ®. Por isso, existem mensagens e estruturas comuns que não se aplicam ao produto BirdWatch ® RL ou ao produto BirdWatch® RL Plus especificamente. Nessa tabela, são descritas as mensagens e as estruturas úteis para cada tipo de unidade: BirdWatch® RL BirdWatch® RL Plus ● ● ● ● Light ● ● TrafficLight ● ● RedLightDetector ● ● StoppedCarDetector ● ● Estruturas comuns Region OutputActuator DetectorHeader SpeedDetector QueueDetector PresenceDetector VideoInformation ● Mensagens de eventos InputChanged ● ● Notification ● ● ● ● ● ● StatusQuery ● ● IOQuery ● ● ImageQuery ● ● SnapshotQuery ● ● UnitTasksQuery ● ● DetectorTasksQuery ● ● DetectorsCountQuery ● ● DetectorInformationQuery ● ● TrafficLightsCountQuery ● ● TrafficLightInformationQuery ● ● SetUnitTasksQuery ● ● SummaryInformation RealTimeInformation IncidenceInformation Mensagens de pedido VersionQuery RealTimeQuery Quercus Technologies 217 Manual de referencia de BirdWatch® RL Programação SetDetectorTasksQuery ● ● OutputQuery ● ● RebootQuery ● ● VideoQuery ● PingQuery ● ● LoginQuery ● ● PasswordQuery ● ● SyncTimeQuery ● ● SetTimeQuery ● ● UpdateFirmwareQuery ● ● RestoreFirmwareQuery ● ● FormatRWPartitionQuery ● ● ExportLogQuery ● ● SystemInformationQuery ● ● ExportStatusQuery ● ● ImportConfigurationQuery ● ● ExportConfigurationQuery ● ● ApplyChangesQuery ● ● DiscardChangesQuery ● ● RestartQuery ● ● GetEntriesCountQuery ● ● GetEntryQuery ● ● SetEntryQuery ● ● RestoreEntryQuery ● ● GetDetectorsCountQuery ● ● RemoveDetectorQuery ● ● GetDetectorQuery ● ● SetRedLightDetectorQuery ● ● SetStoppedCarDetectorQuery ● ● GetTrafficLightsCountQuery ● ● RemoveTrafficLightQuery ● ● GetTrafficLightQuery ● ● SetTrafficLightQuery ● ● ACK ● ● NAK ● ● SetPresenceDetectorQuery SetQueueDetectorQuery SetSpeedDetectorQuery Mensagens de confirmação Quercus Technologies 218 Manual de referencia de BirdWatch® RL Programação 15.4. Conceitos pré-existentes 15.4.1. Unidades O tamanho descrito de cada um dos campos do protocolo é expresso em bytes. 15.4.2. Booleanos Todos os valores booleanos documentados no protocolo seguinte são traduzidos como: Situação Verdadeiro Valor um Falso zero 15.5. Estruturas comuns Estruturas de dados utilizadas nas mensagens dos capítulos posteriores. 15.5.1. Timestamp Define um momento no tempo. ● 4 4 Seconds USeconds Seconds: data e hora do momento, se indicam como os segundos decorridos desde as 00:00 horas de 1 de janeiro de 1970. É o mesmo formato que retorna a chamada à função time_t time (time_t *timer) do standard ANSI C. ● Useconds: microssegundo do momento. 15.5.2. Region Informa as posições dos quatro vértices que definem um detector ou um laço. 2 2 2 2 2 2 2 2 X1 Y1 X2 Y2 X3 Y3 X4 Y4 ● X1: posição do ponto 1 na imagem (eixo horizontal). ● Y1: posição do ponto 1 na imagem (eixo vertical). ● X2: posição do ponto 2 na imagem (eixo horizontal). ● Y2: posição do ponto 2 na imagem (eixo vertical). Quercus Technologies 219 Manual de referencia de BirdWatch® RL Programação ● X3: posição do ponto 3 na imagem (eixo horizontal). ● Y3: posição do ponto 3 na imagem (eixo vertical). ● X4: posição do ponto 4 na imagem (eixo horizontal). ● Y4: posição do ponto 4 na imagem (eixo vertical). 15.5.3. OutputActuator Descreve um atuador de saída digital, pertencente a um detector. ● ● 1 1 4 1 4 Field Op Value OId Time Field: campo sobre o qual o operador atua. ○ 0: velocidade de circulação do veículo detectado. ○ 1: comprimento do veículo detectado. ○ 2: sentido de circulação do veículo detectado. ○ 3: porcentagem de ocupação do detector. ○ 4: presença no detector. Operator (Op): operador que utiliza o atuador. ○ 0: igual a. ○ 1: diferente a. ○ 2: maior que. ○ 3: menor que. ● Value: valor com o qual o operador atua. ● OutputId (OId): identificador da saída digital relacionada ao atuador. ● Time: tempo que o atuador mantém a saída digital ativa; em milésimos de segundos. 15.5.4. DetectorHeader Descreve as características comuns de um detector. 4 1 Id 1 Type SmE 1 1 1 1 4 2 InE SSm SIn SRT SumPeriod NOut ● Id: identificador único do detector. ● Type: tipo de detector. Quercus Technologies ○ 1: detector de velocidade ○ 2: detector de fila. ○ 3: detector de presença. 55 OutAc 16 Coord 220 Manual de referencia de BirdWatch® RL ○ Programação 4: detector de avançar no vermelho. AreSummariesEnabled (SmE): verdadeiro, se a geração de resumos por parte do detector estiver ● ativa, será falso se não estiver ativa. AreIncidencesEnabled (InE): verdadeiro, se a geração de incidências por parte do detector estiver ● ativa, será falso se não estiver ativa. SendSummaries (SSm): verdadeiro, se o envio dos resumos gerados pelo detector ao sistema central ● estiver ativo, será falso se não estiver ativo. SendIncidences (SIn): verdadeiro, se o envio das incidências geradas pelo detector ao sistema central ● estiver ativo, será falso se não estiver ativo. SendRealTimeInformation (SRT): verdadeiro, se o envio dos eventos em tempo real gerados pelo ● detector ao sistema central estiver ativo, será falso se não estiver ativo. ● SummariesPeriod (SumPeriod): período dos resumos configurado; em minutos. ● NumOutputActuators (NOut): número de atuadores de saída configurados. ● OutputActuators (OutAc): descrição de cada um dos atuadores de saída configurados. São descritos através de 5 estruturas OutputActuator consecutivas (máximo de atuadores configuráveis), sendo utilizadas somente as primeiras NumOutputActuators. Coordinates (Coord): descrição das coordenadas (na imagem de 5 megapixels) que definem a posição ● do detector, mediante una estrutura Region. 15.5.5. SpeedDetector Descreve um detector de velocidade. A estrutura corresponde à versão 1 de SpeedDetector. 87 1 Calc Head ● 4 4 Distance Length 16 Loop1 16 Loop2 Header (Head): descrição das características comuns para todos os tipos de detectores, mediante uma estrutura DetectorHeader. ● CalculateMetrics (Calc): verdadeiro, quando é ativado o cálculo da métrica no detector, falso, se ele é desativado. ● Distance: distância entre a horizontal da unidade e o detector, em milímetros. ● Length: comprimento do detector; em milímetros. ● FirstLoop (Loop1): descrição das coordenadas (na imagem de 5 megapixels) do primeiro laço do detector, mediante una estrutura Region. ● SecondLoop (Loop2): descrição das coordenadas (na imagem de 5 megapixels) do segundo laço do detector, mediante una estrutura Region. Quercus Technologies 221 Manual de referencia de BirdWatch® RL Programação Versão 0: As coordenadas do detector (“Header/Coordinates”) e os laços (“FirstLoop” e “SecondLoop”) são definidas na la imagem de 0.3 megapixels. Os outros campos têm o mesmo significado. 15.5.6. QueueDetector Descreve um detector de fila. A estrutura corresponde à versão 1 de QueueDetector. 80 87 Loop1..5 Header ● Header (Head): descrição das características comuns para todos os tipos de detectores, mediante uma estrutura DetectorHeader. ● Loops (Loop1..5): descrição das coordenadas (na imagem de 5 megapixels) de cada um dos 5 laços do detector, através de 5 estruturas Region consecutivas. Versão 0: As coordenadas do detector (“Header/Coordinates”) e os laços(“Loops”) são definidas na imagem de 0.3 megapixels. Os outros campos têm o mesmo significado. 15.5.7. PresenceDetector Descreve um detector de presença. A estrutura corresponde à versão 1 de PresenceDetector. 16 87 Header ● Loop Header (Head): descrição das características comuns para todos os tipos de detectores, mediante uma estrutura DetectorHeader. ● Loop (Loop): descrição das coordenadas (na imagem de 5 megapixels) do laço único do detector, mediante una estrutura Region. Versão 0: As coordenadas do detector (“Header/Coordinates”) e o laço (“Loop”) são definidas na imagem de 0.3 megapixels. Os outros campos têm o mesmo significado. Quercus Technologies 222 Manual de referencia de BirdWatch® RL Programação 15.5.8. Light Descreve a luz de um semáforo. ● 1 2 2 2 Type X Y Radius Type: tipo de luz. ○ 0: luz vermelha. ○ 1: luz verde. ○ 2: luz amarela. ○ 3: luz de outra cor. ● X: posição X (eixo horizontal) do centro da luz na imagem de 5 megapixels. ● Y: posição Y (eixo vertical) do centro da luz na imagem de 5 megapixels. ● Radius: raio da luz na imagem de 5 megapixels; em pixels. 15.5.9. TrafficLight Descreve um semáforo. A estrutura corresponde à versão 1 de TrafficLight. 4 1 Id NLg 35 Lights ● Id: identificador único do semáforo. ● NumLights (NLg): número de luzes no semáforo. ● Lights: descrição de cada uma das luzes configuradas. São descritas através de 5 estruturas Light consecutivas (máximo de luzes configuráveis em um semáforo), sendo utilizadas somente as primeiras NumLights. Versão 0: As coordenadas de cada uma das luzes (“Lights/X”, “Lights/Y”, “Lights/Radius”) são definidas na imagem de 0.3 megapixels. Os outros campos têm o mesmo significado. 15.5.10. RedLightDetector Descreve um detector de avançar no vermelho. A estrutura corresponde à versão 1 de RedLightDetector. Quercus Technologies 223 Manual de referencia de BirdWatch® RL 87 Header 16 1 4 4 4 Calc Distance Length DelayTime 16 Loop2 ● Programação Loop1 4 4 4 1 4 4 TrafficLightId RedInput AmberInput IsVE PreVideoT PostVideoT Header (Head): descrição das características comuns para todos os tipos de detectores, mediante uma estrutura DetectorHeader. ● CalculateMetrics (Calc): verdadeiro, quando é ativado o cálculo da métrica no detector, falso, se ele é desativado. ● Distance: distância entre a horizontal da unidade e o detector, em milímetros. ● Length: comprimento do detector; em milímetros. ● DelayTime: tempo mínimo com o sinal de proibição de avançar no sinal vermelho ativado para que uma incidência de avançar no vermelho seja válida; em milésimos de segundos. ● FirstLoop (Loop1): descrição das coordenadas (na imagem de 5 megapixels) do primeiro laço do detector, mediante una estrutura Region. ● SecondLoop (Loop2): descrição das coordenadas (na imagem de 5 megapixels) do segundo laço do detector, mediante una estrutura Region. ● TrafficLightId: identificador do semáforo utilizado para o sinal de proibição de avançar. Se não tiver sido configurado um semáforo, mas uma entrada digital, seu valor será -1. ● RedInput: identificador da entrada digital utilizada para o sinal de proibição de avançar. Se não tiver sido configurada uma entrada digital, mas um semáforo, seu valor será -1. ● AmberInput: identificador da entrada digital utilizada para o sinal de âmbar. Se não se configurou uma entrada digital(devido um semáforo configurado ou simplesmente não foi configurado o sinal de luz âmbar) seu valor será -1. ● IsVideoEnabled (isVE): verdadeiro se a geração de vídeo nas incidências está habilitada, falso no caso contrário. ● PreVideoTimeMs (PreVideoT): tempo que se adiantará o início da captura do vídeo a partir da primeira fotografia; em milissegundos. ● PostVideoTimeMs (PostVideoT): tempo que se atrasará a finalização da captura do vídeo a partir da terceira fotografia; em milissegundos. Versão 0: 87 Header 1 4 4 4 Calc Distance Length DelayTime 16 Loop1 Quercus Technologies 16 Loop2 4 4 TrafficLightId Input 224 Manual de referencia de BirdWatch® RL Programação Os campos ”AmbertInput”, ”IsVideoEnabled”, ”PreVideoTimeMs” e ”PostVideoTimeMs” não existem. O campo “Input” corresponde à “RedInput” da versão 1. As coordenadas do detector (“Header/Coordinates”) e os laços (“Loop1” e “Loop2”) são definidas na imagem de 0.3 megapixels. Os outros campos têm o mesmo significado. 15.5.11. StoppedCarDetector Descreve um detector de veículo parado. A estrutura corresponde à versão 1 de StoppedCarDetector. 87 MaxStopTime Header 4 4 PreVideoT PostVideoT ● 16 4 Loop 4 4 1 Distance RedInput IsVE Header (Head): descrição das características comuns para todos os tipos de detectores, mediante uma estrutura DetectorHeader. ● MaxStopTime: tempo mínimo de parada com o sinal de proibição de avanço ativado para que se gere uma incidência; em milésimos de segundo. ● Loop: descrição das coordenadas (na imagem de 5 megapixels) do laço único do detector, mediante una estrutura Region. ● TrafficLightId: identificador do semáforo utilizado para o sinal de proibição de avançar. Se não tiver sido configurado um semáforo, mas uma entrada digital, seu valor será -1. ● RedInput: identificador da entrada digital utilizada para o sinal de proibição de avançar. Se não tiver sido configurada uma entrada digital, mas um semáforo, seu valor será -1. ● IsVideoEnabled (isVE): verdadeiro, se a geração de vídeo nas incidências estiver habilitada, falso se não estiver habilitada. ● PreVideoTimeMs (PreVideoT): tempo que adiantará o início da captura do vídeo a partir da primeira fotografia; em milissegundos. ● PostVideoTimeMs (PostVideoT): tempo que atrasará a finalização da captura do vídeo a partir da terceira fotografia; em milissegundos. Versão 0: As coordenadas do detector (“Header/Coordinates”) e o laço (“Loop”) são definidas na imagem de 0.3 megapixels. Os outros campos têm o mesmo significado. 15.5.12. VideoInformation Define um vídeo. Quercus Technologies 225 Manual de referencia de BirdWatch® RL 2 2 Width Height Programação 8 8 IniTime EndTime 4 1 Duration FR ● Width: largo da imagem do vídeo; em pixels. Se o valor é -1 indica que o vídeo não é válido. ● Height: alto da imagem do vídeo; em pixels. ● InitTimestamp (IniTime): descrição do momento de inicio da captura do vídeo; através de uma estrutura QuercusTimestamp. ● EndTimestamp (EndTime): descrição do momento de finalização da captura do vídeo; através de uma estrutura QuercusTimestamp. ● Duration: duração do vídeo; em milésimos de segundo. ● Framerate (FR): imagens por segundo do vídeo. 15.6. Mensagens de eventos 15.6.1. InputChanged Indica que um dos bits de entrada da unidade mudou. ● Type: 0 ● Versão: 0 ● Message Data: 1 1 Bit Val ● Bit: identificador da entrada digital que teve seu valor alterado. ● Value (Val): novo valor. 15.6.2. Notification Indica que foi recebida uma notificação do tipo “Code”. ● Type: 1 ● Versão: 0 ● Message Data: 1 Cod ● Code (Cod): tipo de notificação recebida. ○ Quercus Technologies 0: a situação da unidade foi alterada. 226 Manual de referencia de BirdWatch® RL Programação ○ 1: o início de funcionamento da unidade foi correto. ○ 2: o início de funcionamento da unidade foi incorreto. ○ 3: o desligamento da unidade foi correto. ○ 4: o desligamento da unidade foi incorreto. 15.6.3. SummaryInformation Indica que um resumo foi recebido. ● Type: 2 ● Versão: 0 ● Message Data: 4 4 4 1 4 4 4 Begin End DetectorId Type Volume AvgSpeed AvgLength 4 28 AvgHeadway 28 SpdDst SpdUL 28 28 LenDst 28 LenUL 28 OccUL OccDst ● Begin: momento em que se iniciou a coleta de dados para o resumo; em segundos desde 1º de janeiro de 1970, às 00h00. ● End: momento em que se finalizou a coleta de dados para o resumo; em segundos desde 1º de janeiro de 1970, às 00h00. ● DetectorId: identificador do detector que gerou o resumo. ● DetectorType (Type): tipo de detector que gerou o resumo. ○ 1: detector de velocidade ○ 2: detector de fila. ○ 3: detector de presença. ○ 4: detector de avançar no vermelho. ○ 5: detector de vehículo parado. ● Volume: volume de veículos do resumo. ● AvgSpeed: velocidade média dos veículos do resumo; em km/h. Se o valor é -1 indica que não foi possível calcular a velocidade média. ● AvgLength: comprimento médio dos veículos do resumo; em milímetros. Se o valor é -1 indica que não foi possível calcular o comprimento médio. ● AvgHeadway: período médio entre veículos do resumo; em segundos. ● SpeedsDistribution (SpdDst): coleção de valores que formam a distribuição de velocidades do resumo. São descritos através de 7 consecutivos inteiros, entre os quais aqueles não utilizados Quercus Technologies 227 Manual de referencia de BirdWatch® RL Programação indicam -1. SpeedsUpperLimit (SpdUL): número de valores que formam as variações de distribuição de ● velocidades do resumo. São descritos através de 7 consecutivos inteiros, entre os quais aqueles não utilizados indicam -1. LengthsDistribution (LenDst): coleções de valores que formam a distribuição de comprimentos do ● resumo. São descritos através de 7 consecutivos inteiros, entre os quais aqueles não utilizados indicam -1. LengthsUpperLimit (LenUL): coleções de valores que formam as variações de distribuição de ● comprimentos do resumo. São descritos através de 7 consecutivos inteiros, entre os quais aqueles não utilizados indicam -1. OccupationsDistribution (OccDst): coleção de valores que formam a distribuição de ocupações do ● resumo. São descritos através de 7 consecutivos inteiros, entre os quais aqueles não utilizados indicam -1. OccupationsUpperLimit (OccUL): coleção de valores que formam as variações de distribuição de ● ocupações do resumo. São descritos através de 7 consecutivos inteiros, entre os quais aqueles não utilizados indicam -1. 15.6.4. IncidenceInformation Indica que uma incidência foi recebida. ● Type: 3 ● Versão: 2 ● Message Data: 4 1 2 Id Type NImg 24 ImgTime 25 VideoInf 4 1 DetectorId DTy 4 4 4 4 4 4 Speed DelayTime ElapsedTime AmberLightT MaxStopTime TotalStoppedT ● Id: Identificador único da incidência. ● Type: tipo de incidência: ○ 0: incidência de circulação no sentido contrário. ○ 1: incidência de circulação com o sinal de proibição de avançar ativado. ○ 2: Incidência de veículo parado na zona proibida. ● NumImages (NImg): número de imagens relacionadas com a incidência. ● ImageTimestamps (ImgTime): descrição dos momentos em que foram geradas cada uma das imagens relacionadas à incidência. São descritas através de 3 estruturas QuercusTimestamp consecutivas (máximo imagens relacionadas a uma incidência), sendo utilizadas somente as primeiras NumImages. ● Quercus Technologies VideoInformation (VideoInf): informações do vídeo gerado. Descrita através de una estructura 228 Manual de referencia de BirdWatch® RL Programação VideoInformation. Se não foi gerado um vídeo na incidência o valor Witdh da estrutura VideoInformation terá um valor -1. ● DetectorId: identificador do detector que gerou a incidência. ● DetectorType (DTy): tipo de detector que gerou a incidência. ○ 1: detector de velocidade ○ 2: detector de fila. ○ 3: detector de presença. ○ 4: detector de avançar no vermelho. ○ 5: detector de veículo parado. Speed: velocidade aproximada do veículo detectado; em km/h. Se o valor é -1 indica que não foi ● possível calcular a velocidade do veículo. DelayTime: tempo mínimo que deve transcorrer, desde a ativação do sinal de proibição de avançar até ● a detecção da incidência, para que esta seja gerada; em milésimos de segundos. ElapsedTime: tempo transcorrido com o sinal de proibição de avançar ativo; em milésimos de ● segundos. AmberLightTime (AmberLightT): Tempo transcorrido com o sinal luz âmbar ativo antes da ativação ● do sinal de proibição de avanço que foi gerada a incidência. MaxStopTime: tempo mínimo que deve estar o veículo parado, desde a ativação do sinal de proibição ● para que uma infração seja gerada; em milésimos de segundos. TotalStoppedTime (TotalStoppedT): tempo total transcorrido com o veículo parado, incluindo o ● tempo prévio a ativação do sinal de proibição de avanço; em milésimos de segundo. Versão 1: 24 4 1 2 Id Type NImg 25 ImgTime VideoInf 4 4 4 4 Speed DelayTime ElapsedTime AmberLightT 4 1 DetectorId DTy Os campos “MaxStopTime” e “TotalStoppedTime” não existem. Os outros campos têm o mesmo significado. Versão 0: 4 1 Id Type 24 2 NImg 4 4 DelayTime ElapsedTime ImgTime 4 1 4 DetectorId DTy Speed Os campos ”MaxStopTime”, “TotalStoppedTime”, ”VideoInformation” e “AmberLightTime” não existem. Os outros Quercus Technologies 229 Manual de referencia de BirdWatch® RL Programação campos têm o mesmo significado. 15.6.5. RealTimeInformation Indica que um evento em tempo real foi recebido. Os campos a serem usados dependerão do tipo de evento gerado. Os campos que não trouxerem informações em um evento têm o valor “-1”. ● Type: 4 ● Version: 0 ● Message Data: 1 4 8 Type Timestamp DetectorId 4 4 1 4 1 Speed Length WW Occupation IsOc ● DetectorId: identificador do detector que gerou o evento em tempo real. ● DetectorType (Type): tipo de detector que gerou o evento em tempo real. ● ○ 1: detector de velocidade ○ 2: detector de fila. ○ 3: detector de presença. ○ 4: detector de avançar no vermelho. ○ 5: detector de veículo parado. Timestamp: momento em que foi gerado o evento em tempo real, mediante uma estrutura QuercusTimestamp. ● Speed: velocidade aproximada do veículo detectado; em km/h. Se não for possível calcular a velocidade, o seu valor será -1. ● Length: comprimento aproximado do veículo detectado; em milímetros. Se não for possível calcular o comprimento, o seu valor será -1. ● WrongWay (WW): verdadeiro, se o veículo detectado estiver circulando no sentido contrário, falso, se o sentido de circulação for o correto. ● Occupation: porcentagem de ocupação de um detector. ● IsOccupied (IsOc): verdadeiro, se o detector estiver ocupado e falso, se estiver desocupado. Campo em operação somente em um detector de presença. 15.7. Mensagens de pedido 15.7.1. VersionQuery Pedido de informação sobre o software que está funcionando numa unidade. Pedido ● Type: 32 Quercus Technologies 230 Manual de referencia de BirdWatch® RL Programação ● Version: 0 ● Message Data: não há campo de dados. Resposta ● Type: 64 ● Version: 0 ● Message Data: 64 Name 1 1 1 Maj Min Rev ● Name[64]: nome do produto. Os caracteres não usados estarão em zero. ● Major (Maj): número principal de versão. ● Minor (Min): número secundário de versão. ● Revisão (Rev): número de revisão do produto. 15.7.2. RealTimeQuery Solicitação do último evento em tempo real gerado em um determinado detector. Pedido ● Type: 33 ● Version: 0 ● Message Data: 4 DetectorId ● DetectorId: detector solicitado pelo evento. Resposta ● Type: 65 ● Version: 0 ● Message Data: 4 DetectorId Quercus Technologies 1 Type Timestamp 8 4 4 1 4 1 Speed Length WW Occupation IsOc 231 Manual de referencia de BirdWatch® RL Programação ● DetectorId: identificador do detector que gerou o evento em tempo real. ● DetectorType (Type): tipo de detector que gerou o evento em tempo real. ● ○ 1: detector de velocidade ○ 2: detector de fila. ○ 3: detector de presença. ○ 4: detector de avançar no vermelho. ○ 5: detector de veículo parado. Timestamp: momento em que foi gerado o evento em tempo real, mediante uma estrutura QuercusTimestamp. ● Speed: velocidade aproximada do veículo detectado; em km/h. ● Length: comprimento aproximado do veículo detectado; em milímetros. ● WrongWay (WW): verdadeiro, se o veículo detectado estiver circulando no sentido contrário, falso, se o sentido de circulação for o correto. ● Occupation: porcentagem de ocupação de um detector. ● IsOccupied (IsOc): verdadeiro, se o detector estiver ocupado por um veículo, e falso, se estiver desocupado. 15.7.3. StatusQuery Solicitação da situação do sistema da unidade. Pedido ● Type: 34 ● Version: 0 ● Message Data: não há campo de dados. Resposta ● Type: 66 ● Version: 0 ● Message Data: 4 StartupTime ● StartupTime: momento em que a unidade começou a funcionar; em segundos desde 1º de janeiro de 1970, às 00h00. É utilizado para verificar se a unidade não foi reiniciada, por circunstâncias desconhecidas, desde o último início controlado. Se a central recebe uma resposta com o StartupTime, interpreta-se que a situação do sistema está correta, se não receber a resposta, está incorreta. Quercus Technologies 232 Manual de referencia de BirdWatch® RL Programação 15.7.4. IOQuery Solicitação sobre a situação das entradas e saídas digitais da unidade. Pedido ● Type: 35 ● Version: 0 ● Message Data: não há campo de dados. Resposta ● Type: 67 ● Version: 0 ● Message Data: ● 4 4 InputCh OutputCh InputChannels (InputCh): situação das 4 entradas digitais da unidade. Cada um dos primeiros 4 bits corresponderá à situação de uma entrada, sendo o bit de menor peso para a entrada zero. Possíveis valores: 1 ativada, 0 desativada. Os 28 bits restantes serão ignorados; disponíveis para futuras revisões. ● OutputChannels (OutputCh): situação das 4 saídas digitais da unidade. Cada um dos primeiros 4 bits corresponderá à situação de uma saída, sendo o bit de menor peso para a saída zero. Possíveis valores: 1 ativada, 0 desativada. Os 28 bits restantes serão ignorados; disponíveis para futuras revisões. 15.7.5. ImageQuery Pedido de transferência de uma imagem. A imagem se divide em pacotes com um tamanho máximo de 64000 bytes para otimizar a transferência. Pedido ● Type: 36 ● Version: 0 ● Message Data: Quercus Technologies 4 2 4 4 Id ImgId Offset Length 233 Manual de referencia de BirdWatch® RL Programação ● Id: identificador da incidência. ● ImageIndex (ImgId): número da imagem dentro da coleção de imagens da incidência. ● Offset: posição de início (no buffer da imagem) do pacote a ser transferido; em bytes. ● Length: tamanho máximo do pacote a ser transferido. Resposta ● Type: 68 ● Version: 0 ● Message Data: 4 4 Size Length 64000 Buffer ● Size: tamanho total da imagem; em bytes. ● Length: tamanho do pacote transferido; em bytes. ● Buffer: dados do pacote. Somente serão válidos os primeiros bytes Length. 15.7.6. SnapshotQuery Solicitação de “radiografia" da unidade (estado geral). Devolve uma captura em branco e preto de 0,3Mp (640 pixels de largura e 480 de altura) em jpeg e uma situação completa dos detectores, semáforos e entradas e saídas digitais. O conteúdo da imagem e o valor do focus (coeficiente de foco digital) variarão, dependendo do valor dos parâmetros do pedido: ● Zoom em falso, retângulo incorreto: a imagem obtida corresponderá à totalidade da imagem capturada pela unidade. O valor do focus não será calculado (-1). ● Zoom em falso, retângulo correto: a imagem obtida corresponderá à totalidade da imagem capturada pela unidade. O focus será calculado a partir do retângulo da imagem. ● Zoom em certo, retângulo incorreto: combinação incorreta. ● Zoom em certo, retângulo correto: a imagem obtida corresponderá a uma zona da imagem capturada ampliada. A posição central do retângulo coincidirá com a posição central da zona ampliada. O focus será calculado a partir da zona ampliada. Pedido ● Type: 37 ● Version: 0 ● Message Data: Quercus Technologies 234 Manual de referencia de BirdWatch® RL 2 2 RoiTop RoiLeft 2 Programação 2 RoiBttm RoiRight 4 1 4 4 ExposureTime Zoom Offset Length ● RoiTop: posição Y (eixo vertical) do lado superior do retângulo; para não definí-lo, indicar -1. ● RoiLeft: posição X (eixo horizontal) do lado direito do retângulo; para não defini-lo, indicar -1. ● RoiBottom (RoidBttm): posição Y (eixo vertical) do lado inferior do retângulo; para não defini-lo, indicar -1. ● RoiRight: posição X (eixo horizontal) do lado direito do retângulo; para não defini-lo, indicar -1. ● ExposureTime: tempo de exposição da câmera para a captura; em microssegundos. ● Zoom: indica se a imagem obtida deve ser aquela capturada pela unidade (falso) ou uma ampliação sua (certo). ● Offset: posição de início (no buffer da imagem) do pacote a ser transferido; em bytes. ● Length: tamanho máximo do pacote a ser transferido. Resposta ● Type: 69 ● Version: 0 ● Message Data: 4 4 Focus NumDetectors 4 60 DStatus 4 4 4 Outputs ImageSize Length NumRedLights 3 RedLights 4 Inputs 64000 Buffer ● Focus: coeficiente do foco digital calculado; -1, se não tiver sido calculado. ● NumDetectors: número de detectores configurados. ● DetectorsStatus (Dstatus): situação dos laços de cada um dos detectores configurados. São descritos através de 15 valores inteiros consecutivos, sendo utilizados somente os primeiros NumDetectors. Os detectores estarão dispostos na mesma ordem em que foram configurados e cada posição detalhará a situação de seus laços bit a bit. O bit de menor peso corresponderá ao primeiro laço. Possíveis valores: 1 ocupado, 0 desocupado. ● NumRedLights: número de semáforos configurados. ● RedLights: situação de cada um dos semáforos configurados: São descritos através de 3 bytes, sendo utilizados somente os primeiros NumRedLights. Os semáforos estarão dispostos na mesma ordem em que foram configurados. Possíveis valores: 0 “em vermelho”, outro valor “em outra situação”. ● Inputs: situação das 4 entradas digitais. Cada um dos primeiros 4 bits corresponderá à situação de uma entrada, sendo o bit de menor peso para a entrada zero. Possíveis valores: 1 ativada, 0 desativada. Quercus Technologies 235 Manual de referencia de BirdWatch® RL ● Programação Outputs: situação das 4 saídas digitais. Cada um dos primeiros 4 bits corresponderá à situação de uma saída, sendo o bit de menor peso para a saída zero. Possíveis valores: 1 ativada, 0 desativada. ● ImageSize: tamanho total da imagem capturada; em bytes. ● Length: tamanho do pacote transferido pertencente à imagem capturada; em bytes. ● Buffer: dados do pacote. Somente serão válidos os primeiros bytes Length. 15.7.7. UnitTasksQuery Solicitação da situação das tarefas que a unidade deve desenvolver. Pedido ● Type: 38 ● Version: 0 ● Message Data: não há campo de dados. Resposta ● Type: 70 ● Version: 0 ● Message Data: 1 SInp ● SendInputChanges (SInp): verdadeiro, informar o sistema remoto sobre as mudanças nas entradas digitais da unidade ativado; falso, desativado. 15.7.8. DetectorTasksQuery Solicitação da situação das tarefas que um detector deve desenvolver. Pedido ● Type: 39 ● Version: 0 ● Message Data: 4 DetectorId ● Quercus Technologies Id: identificador do detector. 236 Manual de referencia de BirdWatch® RL Programação Resposta ● Type: 71 ● Version: 0 ● Message Data: 4 1 1 1 1 1 DetectorId SmE InE SSm SIn SRT ● DetectorId: identificador do detector. ● AreSummariesEnabled (SmE): verdadeiro, geração de resumos na unidade ativada; falso, desativada. ● AreIncidencesEnabled (InE): verdadeiro, geração de incidências na unidade ativada; falso, desativada. ● SendSummaries (SSm): verdadeiro, envio ao sistema remoto dos resumos gerados pela unidade ativado; falso, desativado. ● SendIncidences (SIn): verdadeiro, envio ao sistema remoto das incidências geradas pela unidade ativado; falso, desativado. ● SendRealTimeInformation (SRT): verdadeiro, envio ao sistema remoto dos eventos em tempo real gerados pela unidade ativado; falso, desativado. 15.7.9. DetectorsCountQuery Solicitação do número de detectores configurados na unidade. Pedido ● Type: 40 ● Version: 0 ● Message Data: não há campo de dados. Resposta ● Type: 72 ● Version: 0 ● Message Data: 4 Count ● Quercus Technologies Count: número de detectores configurados na unidade. 237 Manual de referencia de BirdWatch® RL Programação 15.7.10. DetectorInformationQuery Solicitação das informações sobre um detector específico da unidade. O formato da resposta variará, dependendo do tipo de detector que é descrito. Pedido ● Type: 41 ● Version: 1 ● Message Data: 4 Index ● Index: identificador do detector a ser informado. Versão 0: Os campos da estrutura têm o mesmo significado, porém solicitando que a versão da mensagem de resposta seja também 0. Resposta (detector de avançar no sinal vermelho) ● Type: 73 ● Version: 1 ● Message Data: 153 RLDetect ● RedLightDetector (RLDetect): descrição do detector, através de uma estrutura RedLightDetector. Versão 0: 140 RLDetect Muda a estrutura RedLightDetector; ver 15.5.10RedLightDetector. Resposta (detector de velocidade) ● Type: 74 ● Version: 1 Quercus Technologies 238 Manual de referencia de BirdWatch® RL ● Programação Message Data: 128 SpdDetect ● SpeedDetector (SpdDetect): descrição do detector, através de uma estrutura SpeedDetector. Versão 0: Muda a estrutura SpeedDetector; ver 15.5.5SpeedDetector. Resposta (detector de presença) ● Type: 75 ● Version: 1 ● Message Data: 103 PresDetect ● PresenceDetector (PresDetect): descrição do detector, através de uma estrutura PresenceDetector. Versão 0: Muda a estrutura PresenceDetector; ver 15.5.7PresenceDetector. Resposta (detector de fila) ● Type: 76 ● Version: 1 ● Message Data: 167 QueDetect ● QueueDetector (QueDetect): descrição do detector, através de uma estrutura QueueDetector. Versão 0: Muda a estrutura QueueDetector; ver 15.5.6QueueDetector. Quercus Technologies 239 Manual de referencia de BirdWatch® RL Programação Resposta (detector de veículo parado) ● Type: 79 ● Version: 1 ● Message Data: 124 StoppedC ● StoppedCarDetector (StoppedC): descrição do detector, através de uma estrutura StoppedCarDetector. Versão 0: Muda a estrutura StoppedCarDetector; ver 15.5.11StoppedCarDetector. 15.7.11. TrafficLightsCountQuery Solicitação do número de semáforos configurados em uma unidade. Pedido ● Type: 45 ● Version: 0 ● Message Data: não há campo de dados. Resposta ● Type: 77 ● Version: 0 ● Message Data: 4 Count ● Count: número de semáforos configurados na unidade. 15.7.12. TrafficLightInformationQuery Solicitação das informações sobre um semáforo configurado na unidade. Pedido ● Type: 46 Quercus Technologies 240 Manual de referencia de BirdWatch® RL ● Version: 1 ● Message Data: Programação 4 Index ● Index: identificador do semáforo a ser informado. Versão 0: Os campos da estrutura têm o mesmo significado, porém solicitando que a versão da mensagem de resposta seja também 0. Resposta ● Type: 78 ● Version: 1 ● Message Data: 40 TrafficLight ● TrafficLight: informações sobre o semáforo, através de uma estrutura TrafficLight. Versão 0: Muda a estrutura TrafficLight; ver 15.5.9TrafficLight. 15.7.13. SetUnitTasksQuery Solicitação de configuração das tarefas que uma unidade deve desenvolver. Atualmente, só permite configurar uma tarefa, informar as mudanças nas entradas digitais. Pedido ● Type: 47 ● Version: 0 ● Message Data: 1 SInp Quercus Technologies 241 Manual de referencia de BirdWatch® RL ● Programação SendInputChanges (SInp): verdadeiro, informar o sistema remoto sobre as mudanças nas entradas digitais da unidade ativado; falso, desativado. Resposta ACK/NAK 15.7.14. SetDetectorTasksQuery Solicitação de configuração das tarefas que um detector deve desenvolver. Pedido ● Type: 48 ● Version: 0 ● Message Data: 4 1 1 1 1 1 DetectorId SmE InE SSm SIn SRT ● DetectorId: identificador do detector a ser configurado. ● AreSummariesEnabled (SmE): verdadeiro, geração de resumos na unidade ativada; falso, desativada. ● AreIncidencesEnabled (InE): verdadeiro, geração de incidências na unidade ativada; falso, desativada. ● SendSummaries (SSm): verdadeiro, envio ao sistema remoto dos resumos gerados pela unidade ativado; falso, desativado. ● SendIncidences (SIn): verdadeiro, envio ao sistema remoto das incidências geradas pela unidade ativado; falso, desativado. ● SendRealTimeInformation (SRT): verdadeiro, envio ao sistema remoto dos eventos em tempo real gerados pela unidade ativado; falso, desativado. Resposta ACK/NAK 15.7.15. OutputQuery Solicitação de ativação de saída digital. Pedido ● Type: 49 ● Version: 0 ● Message Data: Quercus Technologies 242 Manual de referencia de BirdWatch® RL Programação 1 4 Bit Time ● Bit: número de saída digital a ser ativada. ● Time: tempo em que a saída será mantida ativa; em milésimos de segundos. Um valor de -1 ativa a saída indefinidamente; um valor de 0 desativa. Resposta ACK/NAK 15.7.16. RebootQuery Solicitação de reinicialização da unidade. Pedido ● Type: 50 ● Version: 0 ● Message Data: 4 Operation ● Operation (Op): código da operação a efetuar. ○ 0: reiniciado. Atualmente, só está disponível a opção ‘reiniciado’, mas é exigido o código de operação, de modo que o protocolo fica aberto para futuras ampliações. Resposta ACK/NAK 15.7.17. VideoQuery Pedido de transferência de um vídeo. O vídeo se divide em pacotes com um tamanho máximo de 64000 bytes para otimizar a transferência. Pedido ● Type: 52 ● Version: 0 Quercus Technologies 243 Manual de referencia de BirdWatch® RL ● Programação Message Data: 4 4 4 Id Offset Length ● Id: identificador da incidência. ● Offset: posição de início (no buffer do vídeo) do pacote a ser transferido; em bytes. ● Length: tamanho máximo do pacote a ser transferido. Resposta ● Type: 84 ● Version: 0 ● Message Data: 4 4 Size Length 64000 Buffer ● Size: tamanho total do vídeo; em bytes. ● Length: tamanho do pacote transferido; em bytes. ● Buffer: dados do pacote. Somente serão válidos os primeiros bytes Length. 15.8. Mensagens de confirmação 15.8.1. ACK Confirmação de que a mensagem foi recebida e interpretada corretamente. ● Type: 192 ● Version: 0 ● Message Data: não há campo de dados. 15.8.2. NAK Informa de que uma mensagem não pôde ser corretamente recebida, interpretada ou executada. ● Type: 193 ● Version: 0 ● Message Data: Quercus Technologies 244 Manual de referencia de BirdWatch® RL ● Programação 1 1 EC ESC ErrorCode (EC): identificador do tipo de erro que ocorreu. ○ 0 (Unknown message): a mensagem tem um formato correto mas não se conhece seu significado. ○ 1 (Bad format): a mensagem não foi recebida corretamente (falha o bcc, faltam bytes, etc.). ○ 2 (Unknown error): a ação que devia desencadear a mensagem não pôde ser completada por causas desconhecidas. Por exemplo, um cartão de E(S) defeituoso pode impedir que um pedido "Ativate output" possa ser completado com êxito. ○ 3 (Bad parameters): algum dos parâmetros da mensagem é incorreto. O índice do parâmetro incorreto se especificará no campo "SubCode". ○ 4 (Can’t complete): a ação não pôde ser completada, por exemplo, porque o sistema está ocupado, no caso de solicitar uma captação de imagens quando ainda não terminou a captação anterior. ○ 5 (Incorrect Unit): o identificador da unidade que se indica na mensagem não corresponde à unidade à qual se enviou. ○ 6 (Incorrect version): a unidade não pode interpretar esta versão da mensagem. ○ 7 (Unsupported feature): ação não suportada, por exemplo, porque se quer ativar a geração de incidências em um detector de fila. ○ 8 (Bad authoritzation): não existe autorização para processar essa solicitação. A biblioteca VL é compartilhada por várias famílias de produtos Quercus Technologies, motivo pelo qual existem funções que não estão habilitadas para alguns produtos. ● ErrorSubCode (ESC): informações adicionais sobre o erro produzido. 15.9. Mensagens de configuração As mensagens de configuração se enviam e se recebem por portas diferentes (também configuráveis) às das restantes mensagens, dado que os mecanismos de configuração da unidade formam um subsistema totalmente independente do de reconhecimento. O formato destas mensagens , assim como o protocolo de comunicações, é idêntico ao das restantes mensagens, no entanto, estes não têm porque provir do endereço de IP que esteja configurado para servir como sistema central, mas podem provir de qualquer endereço. A resposta sempre se enviará ao endereço de IP a partir do qual se tenha enviado a última mensagem de Login correta, o porto de destino será o que se tenha especificado em tal mensagem (veja-se mais abaixo). As mensagens de configuração não se podem enviar nem receber através da porta serial. Quercus Technologies 245 Manual de referencia de BirdWatch® RL Programação 15.9.1. Ping Manda um pedido de resposta ao sistema de configuração. Sua função é verificar se no endereço de IP e porta à qual se envia tal mensagem há um sistema de configuração funcionando. Não é necessário haver completado uma mensagem de Login com êxito para obter resposta a esta mensagem. Pedido ● Type: 51 ● Version: 0 ● Message Data: 4 Port: ● Port: porta à qual o sistema de configuração deve enviar a resposta. Resposta ACK/NAK 15.9.2. Login Obtém acesso ao sistema de configuração da unidade. Pedido ● Type: 128 ● Version: 0 ● Message Data: 64 Password 4 Port: ● Password: senha do sistema de configuração. ● Port: porta à qual o sistema de configuração deve enviar a resposta. Resposta ● Type: 180 ● Version: 0 ● Message Data: Quercus Technologies 246 Manual de referencia de BirdWatch® RL Programação 4 SessionId ● SessionId: identificador da sessão. Este inteiro deve-se usar nas restantes mensagens para verificar se procedem de uma fonte autenticada. 15.9.3. Logout Perde o acesso ao sistema de configuração e converte em inválido o valor de "SessionId" atual. Pedido ● Type: 129 ● Version: 0 ● Message Data: 4 SessionId ● Session Id: identificador da sessão obtido no último "Login" válido. Resposta ACK/NAK 15.9.4. PasswordChange Altera a senha de acesso ao sistema de configuração. Esta alteração não é permanente enquanto não se aplicam alterações. Pedido ● Type: 130 ● Version: 0 ● Message Data: 4 SessionId Quercus Technologies 64 New Password 247 Manual de referencia de BirdWatch® RL Programação ● Session Id: identificador da sessão obtido no último "Login" válido. ● NewPassword: nova password. Resposta ACK/NAK 15.9.5. Syntime Força a sincronização imediata da data e hora com o servidor de data e hora configurado. Pedido ● Type: 131 ● Version: 0 ● Message Data: 4 SessionId ● Session Id: identificador da sessão obtido no último "Login" válido. Resposta ACK/NAK 15.9.6. SetTime Estabelece a data e hora indicada. Pedido ● Type: 132 ● Version: 0 ● Message Data: 4 4 SessionId Time ● Session Id: identificador da sessão obtido no último "Login" válido. ● Time: tempo em segundos decorridos desde 01/01/1970 00:00:00 h. Quercus Technologies 248 Manual de referencia de BirdWatch® RL Programação Resposta ACK/NAK 15.9.7. UpdateFirmware Atualiza o firmware da unidade utilizando um arquivo da raiz do servidor de FTP e reinicia a unidade. Depois de usar esta mensagem o valor de "SessionId" deixa de ser válido. Pedido ● Type: 133 ● Version: 0 ● Message Data: 4 SessionId 64 FileName ● Session Id: identificador da sessão obtido no último "Login" válido. ● FileName: nome do arquivo a usar na atualização. Resposta ACK/NAK 15.9.8. RestoreFirmware Restaura o firmware de fábrica da unidade e reinicia a unidade. Depois de usar esta mensagem o valor de "SessionId" deixa de ser válido. Pedido ● Type: 134 ● Version: 0 ● Message Data: 4 SessionId ● Session Id: identificador da sessão obtido no último "Login" válido. Resposta Quercus Technologies 249 Manual de referencia de BirdWatch® RL Programação ACK/NAK 15.9.9. FormatRWPartition Formata o disco de dados, onde armazenam as incidências, além da informação recolhida pela ferramenta de Integração em caso de ativação. Observe que excluirão todos os arquivos, sem a possibilidade alguma de recupera-los. Para formatar o disco de dados a unidade precisa parar tanto o sistema de detecção como o servidor FTP/SFTP, sendo assim, esses serviços no funcionarão durante o processo. A formatação pode levar alguns minutos, durante esse tempo o sistema de configuração não responderá a nenhuma mensagem. Uma vez realizado a formatação é imprescindível reiniciar a unidade para que volte a funcionar corretamente todos os serviços. (ver 15.9.17Restart). Pedido ● Type: 135 ● Version: 0 ● Message Data: 4 SessionId ● Session Id: identificador da sessão obtido no último "Login" válido. Resposta ACK/NAK 15.9.10. ExportLog Exporta o arquivo de log do subsistema especificado deixando-o na pasta raiz do servidor FTP. Pedido ● Type: 136 ● Version: 0 ● Message Data: ● Quercus Technologies 4 4 SessionId Sys 64 FileName Session Id: identificador da sessão obtido no último "Login" válido. 250 Manual de referencia de BirdWatch® RL ● ● Programação System(Sys): subsistema a exportar: ● 0: sistema de reconhecimento. ● 1: adaptador udp <-> serial. ● 2: sistema de configuração. ● 3: sistema de arquivos. ● 4: ferramenta Integration. FileName: nome com o qual se deve guardar o arquivo na pasta de FTP. Resposta ACK/NAK 15.9.11. SystemInfo Obtém informação sobre a unidade. Pedido ● Type: 137 ● Version: 0 ● Message Data: 4 SessionId ● Session Id: identificador da sessão obtido no último "Login" válido. Resposta ● Type: 181 ● Message Data: 64 Product 1 Name 1 1 Ma Mi Rv 15 4 ProdutionDate Serial 18 Number MAC ● ProductName: nome do produto. ● HardwareMajor (Ma): primeiro número da versão do hardware. Exemplo: 1.2.3 ● HardwareMinor (Meu): segundo número da versão do hardware. Exemplo: 1.2.3. ● HardwareMinor (Meu): terceiro número da versão do hardware. Exemplo: 1.2.3. ● ProdutionDate: data de fabricação em segundos desde 01/01/1970 00:00:00h. Quercus Technologies 4 BootTime 251 Manual de referencia de BirdWatch® RL Programação ● SerialNumber: número de série da unidade. ● MAC:Direção MAC da unidade. ● BootTime: data e hora de começo em segundos desde 01/01/1970 00:00:00h. 15.9.12. ExportStatus Exporta um relatório do estado do sistema deixando-o na pasta raiz do servidor FTP. Pedido ● Type: 138 ● Version: 0 ● Message Data: 4 SessionId 64 FileName ● Session Id: identificador da sessão obtido no último "Login" válido. ● FileName: nome com o qual se deve guardar o arquivo na pasta de FTP. Resposta ACK/NAK 15.9.13. ImportConfiguration Importa a configuração de um arquivo da pasta raiz do servidor FTP. Pedido ● Type: 139 ● Version: 0 ● Message Data: 4 SessionId 64 FileName ● Session Id: identificador da sessão obtido no último "Login" válido. ● FileName: arquivo da pasta de FTP do qual se quer importar a configuração. Resposta Quercus Technologies 252 Manual de referencia de BirdWatch® RL Programação ACK/NAK 15.9.14. ExportConfiguration Exporta a configuração a um arquivo da pasta raiz do servidor FTP. Pedido ● Type: 140 ● Version: 0 ● Message Data: 4 SessionId 64 FileName ● Session Id: identificador da sessão obtido no último "Login" válido. ● FileName: arquivo da pasta de FTP ao qual se quer exportar a configuração. Resposta ACK/NAK 15.9.15. ApplyChanges Aplica as alterações efetuadas às variáveis do sistema e reinicia a unidade. Depois de usar esta mensagem o valor de "SessionId" deixa de ser válido. Pedido ● Type: 141 ● Version: 0 ● Message Data: 4 SessionId ● Session Id: identificador da sessão obtido no último "Login" válido. Resposta ACK/NAK Quercus Technologies 253 Manual de referencia de BirdWatch® RL Programação 15.9.16. DiscardChanges Descarta as alterações efetuadas às variáveis do sistema. Pedido ● Type: 142 ● Version: 0 ● Message Data: 4 SessionId ● Session Id: identificador da sessão obtido no último "Login" válido. Resposta ACK/NAK 15.9.17. Restart Esse ação foi desenvolvida única e exclusivamente para ser utilizada depois da formatação do disco de dados da unidade (ver 15.9.9FormatRWPartition). Pedido ● Type: 143 ● Version: 0 ● Message Data: 4 SessionId ● Session Id: identificador da sessão obtido no último "Login" válido. Resposta ACK/NAK 15.9.18. GetEntriesCount Obter o número de variáveis do sistema de configuração. Quercus Technologies 254 Manual de referencia de BirdWatch® RL Programação Pedido ● Type: 150 ● Version: 0 ● Message Data: 4 SessionId ● Session Id: identificador da sessão obtido no último "Login" válido. Resposta ● Type: 182 ● Version: 0 ● Message Data: 4 EntriesCount ● EntriesCount: número de variáveis. 15.9.19. GetEntry Obter informação sobre a variável indicada por seu índice ou por seu nome. Pedido ● Type: 151 ● Version: 0 ● Message Data: 4 SessionId 64 Name 4 Index ● Session Id: identificador da sessão obtido no último "Login" válido. ● Name: nome da variável da qual se quer obter informação. Se este campo está vazio (o primeiro caractere é \0) se usará o campo "Index". ● Quercus Technologies índice (começando por 0) da variável da qual se quer obter informação. Somente se usa se o campo 255 Manual de referencia de BirdWatch® RL Programação "Name" está vazio. Resposta ● Type: 183 ● Version: 0 ● Message Data: 64 64 Name 256 Value 256 Descr1 ● Name: nome da variável. ● Value: valor atual da variável. ● Description1: descrição da variável no idioma 1. ● Description2: descrição da variável no idioma 2. Descr2 15.9.20. SetEntry Altera o valor da variável indicada por seu nome. Pedido ● Type: 152 ● Version: 0 ● Message Data: 4 SessionId 64 Name 64 Value ● Session Id: identificador da sessão obtido no último "Login" válido. ● Name: nome da variável. ● Value: valor que se quer dar à variável. Resposta ACK/NAK 15.9.21. RestoreEntry Restaura o valor de fábrica da variável indicada por seu nome. Quercus Technologies 256 Manual de referencia de BirdWatch® RL Programação Pedido ● Type: 153 ● Version: 0 ● Message Data: 4 64 SessionId Name ● Session Id: identificador da sessão obtido no último "Login" válido. ● Name: nome da variável a restaurar. Resposta ACK/NAK 15.9.22. GetDetectorsCount Obter o número de detectores do sistema de configuração. Pedido ● Type: 160 ● Version: 0 ● Message Data: 4 SessionId ● Session Id: identificador da sessão obtido no último "Login" válido. Resposta ● Type: 184 ● Version: 0 ● Message Data: 4 DetCount ● Quercus Technologies DetectorsCount (DetCount): número de detectores no sistema de configuração. 257 Manual de referencia de BirdWatch® RL Programação 15.9.23. RemoveDetector Eliminar um detector do sistema de configuração. Pedido ● Type: 161 ● Version: 0 ● Message Data: 4 4 4 SessionId Index DetectorId ● Session Id: identificador da sessão obtido no último "Login" válido. ● Index: posição do detector na coleção de detectores do sistema de configuração (a primeira posição é 0). ● DetectorId: identificador do detector. Somente pode utilizar um dos dois parâmetros para indicar o detector (Index ou DetectorId); no parâmetro não utilizado deve indicar -1. Resposta ACK/NAK 15.9.24. GetDetector Obter informações sobre um detector. Pedido ● Type: 162 ● Version: 1 ● Message Data: 4 4 4 SessionId Index DetectorId ● Session Id: identificador da sessão obtido no último "Login" válido. ● Index: posição do detector na coleção de detectores do sistema de configuração (a primeira posição é 0). Quercus Technologies 258 Manual de referencia de BirdWatch® RL ● Programação DetectorId: identificador do detector. Somente pode utilizar um dos dois parâmetros para indicar o detector (Index ou DetectorId); no parâmetro não utilizado deve indicar -1. Versão 0: Os campos da estrutura têm o mesmo significado, mas solicitando que a versão da mensagem de resposta é também 0. Resposta (detector de presença) ● Type: 185 ● Version: 1 ● Message Data: 103 Detector ● Detector: descrição do detector, através de uma estrutura PresenceDetector. Versão 0: Muda a estrutura PresenceDetector; ver 15.5.7PresenceDetector. Resposta (detector de fila) ● Type: 186 ● Version: 1 ● Message Data: 167 Detector ● Detector: descrição do detector, através de uma estrutura QueueDetector. Versão 0: Muda a estrutura QueueDetector; ver 15.5.6QueueDetector. Resposta (detector de avançar no sinal vermelho) ● Type: 187 ● Version: 1 Quercus Technologies 259 Manual de referencia de BirdWatch® RL ● Programação Message Data: 153 Detector ● Detector: descrição do detector, através de uma estrutura RedLightDetector. Versão 0: 140 Detector Muda a estrutura RedLightDetector; ver 15.5.10RedLightDetector. Resposta (detector de velocidade) ● Type: 188 ● Version: 1 ● Message Data: 128 Detector ● Detector: descrição do detector, através de uma estrutura SpeedDetector. Versão 0: Muda a estrutura SpeedDetector; ver 15.5.5SpeedDetector. Resposta (detector de veículo parado) ● Type: 191 ● Version: 1 ● Message Data: 124 Detector ● Quercus Technologies Detector: descrição do detector, através de uma estrutura StoppedCarDetector. 260 Manual de referencia de BirdWatch® RL Programação Versão 0: Muda a estrutura StoppedCarDetector; ver 15.5.11StoppedCarDetector. 15.9.25. SetPresenceDetector Adicionar ou modificar um detector de presença ao sistema de configuração. Pedido ● Type: 163 ● Version: 1 ● Message Data: 4 2 SessionId Act 103 Detector 4 PreviousId ● Session Id: identificador da sessão obtido no último "Login" válido. ● Action (Act): ação a realizar: ● ○ 0: modificar detector existente. ○ 1: adicionar novo detector. PeviousId: se modificar um detector existente deve indicar neste parâmetro seu antigo identificador (pode ter sido modificado). Se, no entanto, adiciona um novo detector deve indicar -1. ● Detector: descrição do detector, através de uma estrutura PresenceDetector. Versão 0: Muda a estrutura PresenceDetector; ver 15.5.7PresenceDetector. Resposta ACK/NAK 15.9.26. SetQueueDetector Adicionar ou modificar um detector de fila ao sistema de configuração. Pedido ● Type: 164 ● Version: 1 ● Message Data: Quercus Technologies 261 Manual de referencia de BirdWatch® RL Programação 4 2 4 SessionId Act PreviousId 163 Detector ● Session Id: identificador da sessão obtido no último "Login" válido. ● Action (Act): ação a realizar: ● ○ 0: modificar detector existente. ○ 1: adicionar novo detector. PeviousId: se modificar um detector existente deve indicar neste parâmetro seu antigo identificador (pode ter sido modificado). Se, no entanto, adiciona um novo detector deve indicar -1. ● Detector: descrição do detector, através de uma estrutura QueueDetector. Versão 0: Muda a estrutura QueueDetector; ver 15.5.6QueueDetector. Resposta ACK/NAK 15.9.27. SetRedLightDetector Adicionar ou modificar um detector de passo no vermelho ao sistema de configuração. Pedido ● Type: 165 ● Version: 1 ● Message Data: 4 2 4 SessionId Act PreviousId 153 Detector ● Session Id: identificador da sessão obtido no último "Login" válido. ● Action (Act): ação a realizar: ● ○ 0: modificar detector existente. ○ 1: adicionar novo detector. PeviousId: se modificar um detector existente deve indicar neste parâmetro seu antigo identificador (pode ter sido modificado). Se, no entanto, adiciona um novo detector deve indicar -1. ● Detector: descrição do detector, através de uma estrutura RedLightDetector. Versão 0: Quercus Technologies 262 Manual de referencia de BirdWatch® RL Programação 4 2 4 SessionId Act PreviousId 140 Detector Muda a estrutura RedLightDetector; ver 15.5.10RedLightDetector. Resposta ACK/NAK 15.9.28. SetSpeedDetector Adicionar ou modificar um detector de velocidade ao sistema de configuração. Pedido ● Type: 166 ● Version: 1 ● Message Data: 4 2 4 SessionId Act PreviousId 103 Detector ● Session Id: identificador da sessão obtido no último "Login" válido. ● Action (Act): ação a realizar: ● ○ 0: modificar detector existente. ○ 1: adicionar novo detector. PeviousId: se modificar um detector existente deve indicar neste parâmetro seu antigo identificador (pode ter sido modificado). Se, no entanto, adiciona um novo detector deve indicar -1. ● Detector: descrição do detector, através de uma estrutura SpeedDetector. Versão 0: Muda a estrutura SpeedDetector; ver 15.5.5SpeedDetector. Resposta ACK/NAK 15.9.29. SetStoppedCarDetector Adicionar ou modificar um detector de veículo parado ao sistema de configuração. Pedido Quercus Technologies 263 Manual de referencia de BirdWatch® RL ● Type: 172 ● Version: 1 ● Message Data: Programação 4 2 4 SessionId Act PreviousId 124 Detector ● Session Id: identificador da sessão obtido no último "Login" válido. ● Action (Act): ação a realizar: ● ○ 0: modificar detector existente. ○ 1: adicionar novo detector. PeviousId: se modificar um detector existente deve indicar neste parâmetro seu antigo identificador (pode ter sido modificado). Se, no entanto, adiciona um novo detector deve indicar -1. ● Detector: descrição do detector, através de uma estrutura StoppedCarDetector. Versão 0: Muda a estrutura StoppedCarDetector; ver 15.5.11StoppedCarDetector. Resposta ACK/NAK 15.9.30. GetTrafficLightsCount Obter o número de semáforos no sistema de configuração. Pedido ● Type: 167 ● Version: 0 ● Message Data: 4 SessionId ● Session Id: identificador da sessão obtido no último "Login" válido. Resposta ● Type: 189 ● Version: 0 Quercus Technologies 264 Manual de referencia de BirdWatch® RL ● Programação Message Data: 4 TLCount ● TrafficLightsCount (TLCount): número de semáforos no sistema de configuração. 15.9.31. RemoveTrafficLight Eliminar um semáforo do sistema de configuração. Pedido ● Type: 168 ● Version: 0 ● Message Data: 4 4 4 SessionId Index TrafficLightId ● Session Id: identificador da sessão obtido no último "Login" válido. ● Index: posição do semáforo na coleção de semáforos do sistema de configuração (a primeira posição é 0). ● TrafficLightId: identificador do semáforo. Somente pode utilizar um dos dois parâmetros para indicar o semáforo (Index ou TrafficLightId); no parâmetro não utilizado deve indicar -1. Resposta ACK/NAK 15.9.32. GetTrafficLight Obter as informações sobre um semáforo do sistema de configuração. Pedido ● Type: 169 ● Version: 1 ● Message Data: Quercus Technologies 4 4 4 SessionId Index TrafficLightId 265 Manual de referencia de BirdWatch® RL Programação ● Session Id: identificador da sessão obtido no último "Login" válido. ● Index: posição do semáforo na coleção de semáforos do sistema de configuração (a primeira posição é 0). ● TrafficLightId: identificador do semáforo. Somente pode utilizar um dos dois parâmetros para indicar o semáforo (Index ou TrafficLightId); no parâmetro não utilizado deve indicar -1. Versão 0: Os campos da estrutura têm o mesmo significado, mas solicitando que a versão da mensagem de resposta é também 0. Resposta ● Type: 190 ● Version: 1 ● Message Data: 40 TL ● TrafficLight (TL): informações sobre o semáforo, através de uma estrutura TrafficLight. Versão 0: Muda a estrutura TrafficLight; ver 15.5.9TrafficLight. 15.9.33. SetTrafficLight Adicionar ou modificar um semáforo ao sistema de configuração. Pedido ● Type: 170 ● Version: 1 ● Message Data: ● Quercus Technologies 4 2 SessionId Act 40 TL 4 PreviousId Session Id: identificador da sessão obtido no último "Login" válido. 266 Manual de referencia de BirdWatch® RL ● Programação Action (Act): ação a realizar: ○ 2: modificar semáforo existente. ○ 3: adicionar novo semáforo. ● TrafficLight (TL): descrição do semáforo, através de uma estrutura TrafficLight. ● PeviousId: se modificar um semáforo existente deve indicar neste parâmetro seu antigo identificador (pode ter sido modificado). Se, no entanto, adiciona um novo deve indicar -1. Versão 0: Muda a estrutura TrafficLight; ver 15.5.9TrafficLight. Resposta ACK/NAK Quercus Technologies 267 Manual de referencia de BirdWatch® RL Programação 16. Funções adicionais As unidades BirdWatch® possuem algumas características auxiliares que não foram mencionadas anteriormente: ● Informações por FTP: permite recuperar as informações das incidências (imagem+dados) diretamente a partir do servidor de FTP integrado na unidade. ● Encriptação de protocolo: permite encriptar o protocolo de comunicações UDP ou seriais do equipamento. 16.1. Informações por FTP A unidade armazena as incidências geradas no servidor de FTP integrado. Para ter acesso aos dados: ● ftp://<ip_de_la_unidad>/Log/Incidences Para cada incidência gera um arquivo em formato xml com os dados, assim como os arquivos jpeg e avi (imagens e vídeos) correspondentes (assinados digitalmente para poder detectar possíveis manipulações posteriores). Deve-se levar em conta que os dados armazenados formam um histórico de comprimento limitado, motivo pelo qual, quando o disco de dados estiver cheio, os mais antigos serão automaticamente eliminados. Se quiser modificar o espaço disponível para o histórico de incidências, ver 11.1.3Global. Em caso de ativar a ferramenta “Integration” os dados recolhidos também são armazenados no servidor de FTP integrado. Para acessá-los: ● ftp://<ip_de_la_unidad>/Log/Integration/SetX (onde 'X' é o identificador do Set). Ver o capítulo 17Ferramenta Integration para mais informações sobre a ferramenta Integration. Observe que, quando se trabalha com as comunicações criptografadas, não é possível acessar o histórico de incidências mediante o servidor FTP. Nesse caso deve utilizar o servidor SFTP. Ver 16.2.2Servidor de SFTP. 16.1.1. Arquivo XML 16.1.1.1. Incidência de avançar no vermelho. O nome do arquivo xml é <IncidenceId>.xml, onde “IncidenceId” é o identificador da incidência, formatado com zeros à esquerda até formar oito dígitos. O conteúdo do arquivo é o seguinte: ● Incidence: contém todos os dados da incidência. ● Id: identificador da incidência. ● Type: tipo de incidência. RED_LIGHT_VIOLATION para uma incidência de avançar no vermelho. ● Unit: identificador da unidade. ● Detector: identificador do detector. ● Description(1,2,3,4): descrições da unidade; somente as descrições definidas serão exibidas (ver 11.1.4.1Global). Quercus Technologies 268 Manual de referencia de BirdWatch® RL Programação ● DetectorType: tipo de detector; RED_LIGHT para um detector de passo no vermelho. ● Images: informações sobre as imagens capturadas: ● Number: número de imagens capturadas. ● ImageX: imagem <X>, onde X é o identificador da imagem. ● FileName: nome do arquivo da imagem. ● TimeStamp: momento em que a imagem foi capturada. ● Seconds: "Timestamp" expresso em segundos desde as 00:00h de 01-01-1970. ● USeconds: microssegundos desde o segundo Seconds (campo anterior). Para uma definição maior do momento. ● Date: data expressa no formato aaaa-mm-dd (ano-mês-dia). ● Time: hora expressa no formato hh:mm:ss.us (horas:minutos:segundos:microssegundos). ● Vídeo: informações sobre o vídeo capturado (se já capturado). ● Filename: nome do arquivo do vídeo. ● InitTimestamp: momento de inicio da captura do vídeo. ● Seconds: expresso em segundos desde as 00:00h de 01-01-1970. ● USeconds: microssegundos desde o segundo Seconds (campo anterior). Para uma definição maior do momento. ● ● Date: data expressa no formato aaaa-mm-dd (ano-mês-dia). ● Time: hora expressa no formato hh:mm:ss.us (horas:minutos:segundos:microssegundos). EndTimestamp: momento de finalização da captura do vídeo. ● Seconds: expresso em segundos desde as 00:00h de 01-01-1970. ● USeconds: microssegundos desde o segundo Seconds (campo anterior). Para uma definição maior do momento. ● ● Date: data expressa no formato aaaa-mm-dd (ano-mês-dia). ● Time: hora expressa no formato hh:mm:ss.us (horas:minutos:segundos:microssegundos). ● Duration: duração do vídeo; em milésimos de segundos. ● Width: largo da imagem do vídeo; em pixels. ● Height: alto da imagem do vídeo; em pixels. ● Framerate: imagens por segundo do vídeo. Speed: velocidade aproximada de circulação do veículo que gerou a incidência; em quilômetros por hora. Se não for possível calcular a velocidade, o seu valor será -1. ● ElapsedTime: tempo transcorrido desde a ativação da sinal de proibição de avanço até a geração da incidência; em milésimos de segundos. ● AmberLightTime: tempo com o sinal âmbar ativo antes da ativação do sinal de proibição de avanço que gerou a incidência; em milissegundos. ● DelayTime: tempo mínimo que deve transcorrer, desde a ativação do sinal de proibição de avançar até a geração da incidência, para que esta seja considerada válida; em milésimos de segundos. Configurado pelo usuário. Quercus Technologies 269 Manual de referencia de BirdWatch® RL Programação <?xml version="1.0" encoding="UTF-8"?> <Incidence> <Id>3</Id> <Type>RED_LIGHT_VIOLATION</Type> <Unit>1</Unit> <Description1>Lane1</Description1> <Detector>1</Detector> <DetectorType>RED_LIGHT</DetectorType> <Images> <Number>3</Number> <Image1> <FileName>00000003_1.jpg</FileName> <TimeStamp> <Seconds>1276610126</Seconds> <USeconds>80133</USeconds> <Date>15/6/2010</Date> <Time>15:55:26.80133</Time> </TimeStamp> </Image1> <Image2> <FileName>00000003_2.jpg</FileName> <TimeStamp> <Seconds>1276610126</Seconds> <USeconds>628909</USeconds> <Date>15/6/2010</Date> <Time>15:55:26.628909</Time> </TimeStamp> </Image2> <Image3> <FileName>00000003_3.jpg</FileName> <TimeStamp> <Seconds>1276610127</Seconds> <USeconds>99290</USeconds> <Date>15/6/2010</Date> <Time>15:55:27.99290</Time> </TimeStamp> </Image3> </Images> <Video> <FileName>00000003.avi</FileName> <IniTimeStamp> <Seconds>1276610126</Seconds> <USeconds>80133</USeconds> <Date>15/6/2010</Date> <Time>15:55:26.80133</Time> </IniTimeStamp> <EndTimeStamp> <Seconds>1276610127</Seconds> <USeconds>99290</USeconds> <Date>15/6/2010</Date> <Time>15:55:27.99290</Time> </EndTimeStamp> <Duration>1019</Duration> <Width>640</Width> <Height>480</Height> <Framerate>13</Framerate> </Video> <Speed>15</Speed> <ElapsedTime>32064</ElapsedTime> <AmberLightTime>3426</AmberLightTime> <DelayTime>100</DelayTime> </Incidence> 16.1.1.2. Incidência de veículo parado O nome do arquivo xml é <IncidenceId>.xml, onde “IncidenceId” é o identificador da incidência, formatado com zeros à esquerda até formar oito dígitos. O conteúdo do arquivo é o seguinte: Quercus Technologies 270 Manual de referencia de BirdWatch® RL ● Programação Incidence: contém todos os dados da incidência. ● Id: identificador da incidência. ● Type: tipo de incidência. STOPPED_CAR_VIOLATION para uma incidência de veículo parado. ● Unit: identificador da unidade. ● Description(1,2,3,4): descrições da unidade; somente as descrições definidas serão exibidas (ver 11.1.4.1Global). ● Detector: identificador do detector. ● DetectorType: tipo de detector; STOPPED_ CAR para um detector de veículo parado. ● Images: informações sobre as imagens capturadas: ● Number: número de imagens capturadas. ● ImageX: imagem <X>, onde X é o identificador da imagem. ● FileName: nome do arquivo da imagem. ● TimeStamp: momento em que a imagem foi capturada. ● Seconds: expresso em segundos desde as 00:00h de 01-01-1970. ● USeconds: microssegundos desde o segundo Seconds (campo anterior). Para uma definição maior do momento. ● Date: data expressa no formato aaaa-mm-dd (ano-mês-dia). ● Time: hora expressa no formato hh:mm:ss.us (horas:minutos:segundos:microssegundos). ● Vídeo: informações sobre o vídeo capturado (se já capturado). ● Filename: nome do arquivo do vídeo. ● InitTimestamp: momento de inicio da captura do vídeo. ● Seconds: expresso em segundos desde as 00:00h de 01-01-1970. ● USeconds: microssegundos desde o segundo Seconds (campo anterior). Para uma definição maior do momento. ● ● Date: data expressa no formato aaaa-mm-dd (ano-mês-dia). ● Time: hora expressa no formato hh:mm:ss.us (horas:minutos:segundos:microssegundos). EndTimestamp: momento de finalização da captura do vídeo. ● Seconds: expresso em segundos desde as 00:00h de 01-01-1970. ● USeconds: microssegundos desde o segundo Seconds (campo anterior). Para uma definição maior do momento. ● ● Date: data expressa no formato aaaa-mm-dd (ano-mês-dia). ● Time: hora expressa no formato hh:mm:ss.us (horas:minutos:segundos:microssegundos). ● Duration: duração do vídeo; em milésimos de segundos. ● Width: largo da imagem do vídeo; em pixels. ● Height: alto da imagem do vídeo; em pixels. ● Framerate: imagens por segundo do vídeo. MaxStopTime: tempo máximo de parada com o sinal de proibição de avançar ativo configurado; em milésimos de segundos. Quercus Technologies 271 Manual de referencia de BirdWatch® RL ● Programação TotalStoppedTime: tempo total de parada do veículo (desde o instante inicial da parada, ainda com o sinal de proibição de avanço ativo, até a reiniciar a movimentação); em milissegundos. <?xml version="1.0" encoding="UTF-8"?> <Incidence> <Id>2</Id> <Type>STOPPED_CAR</Type> <Unit>1</Unit> <Description1>Lane1</Description1> <Detector>1</Detector> <DetectorType>STOPPED_CAR</DetectorType> <Images> <Number>3</Number> <Image1> <FileName>00000002_1.jpg</FileName> <TimeStamp> <Seconds>1340701739</Seconds> <USeconds>476000</USeconds> <Date>26/6/2012</Date> <Time>11:08:59.476000</Time> </TimeStamp> </Image1> <Image2> <FileName>00000002_2.jpg</FileName> <TimeStamp> <Seconds>1340701741</Seconds> <USeconds>984000</USeconds> <Date>26/6/2012</Date> <Time>11:09:01.984000</Time> </TimeStamp> </Image2> <Image3> <FileName>00000002_3.jpg</FileName> <TimeStamp> <Seconds>1340701746</Seconds> <USeconds>316000</USeconds> <Date>26/6/2012</Date> <Time>11:09:06.316000</Time> </TimeStamp> </Image3> </Images> <Video> <FileName>00000002.avi</FileName> <IniTimeStamp> <Seconds>1340701738</Seconds> <USeconds>976000</USeconds> <Date>26/6/2012</Date> <Time>11:08:58.976000</Time> </IniTimeStamp> <EndTimeStamp> <Seconds>1340701739</Seconds> <USeconds>976000</USeconds> <Date>26/6/2012</Date> <Time>11:08:59.976000</Time> </EndTimeStamp> <Duration>1000</Duration> <Width>640</Width> <Height>480</Height> <Framerate>1</Framerate> </Video> <MaxStopTime>2500</MaxStopTime> <TotalStoppedTime>7828</TotalStoppedTime> </Incidence> 16.1.2. Arquivo JPEG O nome do arquivo jpeg de uma incidência é /Log/Incidence/<IncidenceId_ImageId>.jpg, onde “IncidenceId” é o Quercus Technologies 272 Manual de referencia de BirdWatch® RL Programação identificador da incidência, formatado com zeros à esquerda até formar oito dígitos, e “ImageId” é o identificador da captura dentro da incidência. O arquivo contém, além da imagem da incidência, seus dados na forma de campos de comentário do arquivo JPEG. Esse dados também são utilizados no cálculo da assinatura digital da imagem, desta forma ficam ligados os dados da incidência com a imagem e o momento exato em que foi realizada de uma forma que se pode identificar que nenhum deles foi manipulado. 16.1.3. Arquivo AVI O nome do arquivo avi de uma incidência é /Log/Incidence/<IncidenceId>.avi, onde “IncidenceId” é o identificador da incidência, formatado com zeros à esquerda até formar oito dígitos. O arquivo contém: ● Vídeo da incidência codificado em MPEG através do códec com fourcc FMP4. ● Dados da incidência em forma de cadeias de texto; estes são escritos ao inicio do AviChunk JUNK. ● Firma digital da totalidade do arquivo. Firma digital da totalidade do arquivo. Dessa forma ficam ligados aos dados da incidência com o vídeo e o momento exato que foi realizado, de maneira que é possível demostrar que nenhum deles foram manipulados. A mesma é descrita ao final do AviChunk JUNK. 16.2. Encriptação de protocolo Para que a unidade só envie e receba mensagens criptografadas, deve ser preenchida a variável “Communications/Password” de seu sistema de configuração. Para que a biblioteca de desenvolvimento também envie e receba somente mensagens criptografadas, deve ser preenchida a variável “Network/Password” de seu arquivo de configuração. A biblioteca de desenvolvimento não pode administrar unidades que tiverem criptografia ativada juntamente com unidades com criptografia desativada; tampouco pode fazê-lo com unidades que possuam senhas de criptografia diferentes. Entretanto, isso pode ser feito utilizando diretamente o protocolo de comunicação. 16.2.1. Formato de encriptação O algoritmo da encriptação usado é AES em sua variante AES-128, AES-192º AES-256 dependendo do comprimento da senha empregada. O modo da encriptação de blocos é CBC (Cipher-bloco chaining) com um vetor de inicialização incluído na própria mensagem. Uma mensagem criptografada tem o seguinte formato: Quercus Technologies 273 Manual de referencia de BirdWatch® RL Programação Original message AES 4 16 16*n OriginalLen IV Encryted message + padding: Onde: ● Original message: mensagem original UDP ou serial. ● OriginalLem: tamanho em bytes da mensagem original. Este campo é necessário porque a encriptação AES faz uso sempre de blocos de 16 bytes com os quais o tamanho da mensagem original fica arredondado ao seguinte inteiro múltiplo de 16. ● IV: vetor de inicialização usado na codificação da mensagem. ● Encryted message + padding: mensagem original encriptada + bytes necessários para fazê-la de comprimento múltiplo de 16. 1-16 AES-128 Password: Padding(000...) key 17-24 AES-192 Password: Padding(000...) key 25-32 AES-256 Password: Padding(000...) key O tipo de codificação AES usado dependerá do comprimento da senha; para senhas de 16 caracteres ou menos se usará AES-128, para senhas entre 17 e 24 caracteres se usará AES-192 e para senhas entre 25 e 32 caracteres se usará AES256. A chave AES se obterá com a password e bytes em zero até preencher o comprimento total da chave. Nas pastas "Src" e "Include" da pasta de instalação, encontrará os seguintes arquivos que implementam tal encriptação: ● aes.c e aes.h: implementação de baixo nível da codificação AES. ● CryptoTools.c e CryptoTools.h: funções para encriptar e desencriptar um array de bytes. Utiliza as funções contidas em aes.c e aes.h ● UDTools.c e UDTools.h: funções de comunicação UDP. Faz uso das funções contidas em CryptoTools.c e CryptoTools.h para encriptar as comunicações. Todos os exemplos de programação que utilizam a biblioteca de desenvolvimento podem usar a encriptação de protocolo automaticamente, bastando definir “Communications/Password” em seus arquivos de configuração. Quercus Technologies 274 Manual de referencia de BirdWatch® RL Programação 16.2.2. Servidor de SFTP Quando utilizar comunicações criptografadas o acesso as incidências mediante FTP fica desabilitado. No seu lugar é habilitado o acesso mediante SFTP. Esse permite criptografias nas comunicações, para aumentar a segurança e confidencialidade do histórico de incidências. Para ter acesso aos dados: ● sftp://<ip_de_la_unidad>/Log/Incidences Em caso de ativar a ferramenta Integration: ● sftp://<ip_de_la_unidad>/Log/Integration/SetX (onde 'X' é o identificador do Set). Quercus Technologies 275 Manual de referencia de BirdWatch® RL Programação 17. Ferramenta Integration A ferramenta “Integration” permite vincular os diversos produtos da Quercus Technologies de tal forma que funcionem de maneira independente, comunicando diretamente entre eles. O objetivo é vincular e armazenar de forma centralizada, em uma única unidade, os dados recolhidos de todas unidades ao redor sem nenhum computador atuando como “sistema central”. O usuário deverá, periodicamente, recolher os dados da pasta FTP da unidade centralizadora. Dependendo das necessidades de informação, os tipos de unidades a vincular variarão. A continuação descrevem alguns casos típicos de uso e o tipo de unidade a usar: ● Avanço em vermelho + leitor de placa: BirdWatch® RL + SmartLPR® Speed. ● Avanço em vermelho + imagem(ns) ou vídeo(os) do veículo ou condutor: BirdWatch® RL + SmartREC® DVR. ● Avanço em vermelho + leitor de placa + imagem(ns) ou vídeo(os) do veículo ou condutor: BirdWatch® RL + SmartREC® DVR + SmartLPR® Speed. A cada conjunto de unidades relacionadas entre elas é chamada de Set. As unidades BirdWatch® RL podem configurar até 4 Sets e cada unidade pode aparecer em mais de um Set. Cada set pode ser formado, por no máximo, um BirdWatch ® RL e um SmartLPR® Speed (o Access). Nota: nas instalações que aparece alguma unidade SmartREC ® DVR, a ferramenta “Integration” deve executar em uma delas. Portanto, estes casos não estão descritos no presente manual, senão no manual de SmartREC ® DVR. 17.1. Tipos de instalação 17.1.1. BirdWatch® RL + SmartLPR® Speed Essa configuração relaciona um detector de uma unidade BirdWatch ® RL com uma unidade de leitura de placas SmartLPR® Speed. As informações armazenadas para cada veículo que gera uma incidência são as seguintes: ● Os dados da incidência de BirdWatch® RL (com suas imagens, vídeo etc.) ● A leitura de placas do veículo mencionado. Para ter certeza que o veículo é o mesmo que gerou a incidência. A unidade SmartLPR® Speed deverá estar de forma que somente poderá ler as placas dos veículos mais além da linha de detecção. Ver o exemplo mais abaixo. 17.2. Configuração Para configurar uma instalação para que seja controlada pela ferramenta “Integration”, deve: ● Ativar o servidor de hora da unidade BirdWatch ® RL onde executará a ferramenta. Ver a descrição da variável Communications/InternalDateServer no capítulo 11.1.1Communications. Quercus Technologies 276 Manual de referencia de BirdWatch® RL ● Programação Configurar as variáveis da seção “Integration” na unidade BirdWatch ® RL onde a ferramenta será executada. Ver a descrição das distintas variáveis no capítulo 11.1.4Integration. ● Configurar as variáveis de cada unidade do conjunto de forma que tanto seu sistema central como a sincronização da hora “apontem” para unidade que excecutará a ferramenta “Integration”. 17.3. Informação gerada Para cada evento, a ferramenta recolhe a informação gerada em cada uma das unidades (dados, imagens e vídeos) e gera um arquivo XML com toda a informação. Os nomes dos arquivos tem o seguinte formato: ● <EventId>.xml: fichero xml com as informações detalhadas do evento. ● <EventId>_LPR.jpg: imagem da leitura da placa (SmartLPR®). ● <EventId>_RL1.jpg, <EventId>_RL2.jpg, <EventId>_RL3.jpg: primeira, segunda e terceira imagem da incidência (BirdWatch® RL). ● <EventId>_RL.avi: vídeo da incidência (BirdWatch® RL Plus). Onde <EventId> é um identificador único para o evento (de 8 dígitos e formatado com zeros à esquerda). O usuário pode acessar e baixar os resultados recolhidos pela ferramenta “Integration” mediante FTP/SFTP no diretório Integration/SetX, onde X indica o número de Set ao qual se quer acessar. 17.3.1. Arquivo XML do evento O arquivo XML com todas as informações do evento tem o seguinte formato: ● Event: contem os dados do evento. ● ● Set: descrição do Set no qual o evento foi gerado. ● Description: descrição do Set. ● Id: identificador do Set. Incidence: dados da incidência de avanço em vermelho gerada pela unidadeBirdWatch® RL. Se não foi configurado nenhuma unidade BirdWatch® RL esse campo não aparecerá no arquivo. ● Type: tipo de incidência (RED_LIGHT_INCIDENCE o STOPPED_CAR_INCIDENCE). ● Images: informações sobre as imagens capturadas: ● Number: número de imagens capturadas. ● ImageX: imagem <X>, onde X é o identificador da imagem. ● FileName: rota absoluta da imagem na unidade. ● TimeStamp: momento em que a imagem foi capturada. ● Seconds: expresso em segundos desde as 00:00h de 01-01-1970. ● USeconds: microssegundos desde o segundo Seconds (campo anterior). Para uma definição maior do momento. Quercus Technologies 277 Manual de referencia de BirdWatch® RL Programação ● Date: data expressa no formato aaaa-mm-dd (ano-mês-dia). ● Time: hora expressa no formato hh:mm:ss.us (horas:minutos:segundos:microssegundos). ● Vídeo: informações sobre o vídeo capturado (se já capturado). ● Duration: duração do vídeo; em milésimos de segundos. ● Width: largo da imagem do vídeo; em pixels. ● Height: alto da imagem do vídeo; em pixels. ● Framerate: imagens por segundo do vídeo. ● InitTimestamp: momento de inicio da captura do vídeo. ● Seconds: expresso em segundos desde as 00:00h de 01-01-1970. ● USeconds: microssegundos desde o segundo Seconds (campo anterior). Para uma definição maior do momento. ● ● Date: data expressa no formato aaaa-mm-dd (ano-mês-dia). ● Time: hora expressa no formato hh:mm:ss.us (horas:minutos:segundos:microssegundos). EndTimestamp: momento de finalização da captura do vídeo. ● Seconds: expresso em segundos desde as 00:00h de 01-01-1970. ● USeconds: microssegundos desde o segundo Seconds (campo anterior). Para uma definição maior do momento. ● ● ● Date: data expressa no formato aaaa-mm-dd (ano-mês-dia). ● Time: hora expressa no formato hh:mm:ss.us (horas:minutos:segundos:microssegundos). Location: rota absoluta do arquivo do vídeo na unidade. Speed: velocidade aproximada de circulação do veículo que gerou a incidência; em quilômetros por hora. Visível só nas incidências de avanço em vermelho. Se não foi possível calcular a velocidade seu valor será -1. ● ElapsedTime: tempo transcorrido desde a ativação da sinal de proibição de avanço até a geração da incidência. Visível só nas incidências de avanço em vermelho. ● DelayTime: tempo mínimo que deve transcorrer desde a ativação do sinal de proibição de avançar até a infração da incidência para que esta seja considerada válida. Somente visível nas incidências de avanço com luz vermelha. ● MaxStopTime: tempo máximo de parada com o sinal de proibição de avançar ativo configurado; em milésimos de segundos. Somente visível nas incidências de veículo parado. ● TotalStoppedTime: tempo total da parada do veículo (desde o momento inicial da parada, ainda com o sinal de proibição de avanço ativo, até a retomada da movimentação); em milissegundos. Visível só nas incidências de veículo parado. ● LicenseInformation: dados da leitura da placa realizada por la unidade SmartLPR ®. Se não foi configurado nenhuma unidade SmartLPR® ou não foi registrado nenhuma leitura durante o evento, esse campo não aparecerá no arquivo. ● ImageFile: rota absoluta da imagem na unidade. ● IsGrammarOk: terá o valor 1 se a placa reconhecida obedece a alguma norma gramatical conhecida, Quercus Technologies 278 Manual de referencia de BirdWatch® RL Programação ou 0 caso não se ajuste a nenhuma. ● Country: nome do país/região para o qual se obedeceu a gramática. Caso não se tenha obedecido nenhuma gramática o campo estará vazio. Os países se indicam com a(s) letra(s) cm que o país identifica suas placas ("E" para a Espanha, "F" para a França, etc.). ● AvgQuality: media de qualidade dos caracteres reconhecidos. Entre 0 e 1. ● License: placa "adornada" com roteiros e espaços. ● MinQuality: qualidade do caractere pior reconhecido. Entre 0 e 1. ● NumberOfUnknownChars: número de caracteres desconhecidos. ● ROI: zona da imagem na qual se detectou a placa. ● ● Left: coordenada esquerda de ROI. ● Top: coordenada superior de ROI. ● Right: coordenada direita de ROI. ● Bottom: coordenada inferior de ROI. Timestamp: instante em que se obteve a imagem. ● Seconds: "Timestamp" expresso em segundos desde as 00:00h de 01-01-1970. ● Useconds: microssegundos de "Timestamp". ● Date: data de "Timestamp" expressa em formato aaaa-mm-dd (ano-mês-dia). ● Time: hora de "Timestamp" expressa em formato hh:mm:ss.ms (horas:minutos:segundos:microssegundos). ● Quercus Technologies Chars: lista de caracteres reconhecidos. Para cada caractere: ● Index: índice do caractere (a partir de 0). ● Value: valor do caractere (letra). ● Quality: qualidade do reconhecimento do caractere (entre 0 e 1). 279 Manual de referencia de BirdWatch® RL Programação 17.4. Exemplo de instalação 17.4.1. Instalação Em uma via de duas faixas controladas por um semáforo, instalando: ● Uma unidade BirdWatch® RL, para controlar as possíveis infrações de avanço em vermelho. ● Duas unidades SmartLPR® Speed para obter a placa dos veículos infratores uma vez que os mesmos tenham ultrapassado a linha de detecção. SmartLPR® Speed 1 BirdWatch® RL SmartLPR® Speed 2 Detector de avançar no vermelho. Zona de reconhecimento de SmartLPR® Speed A ferramenta “Integration” será executada na unidade BirdWatch® RL. 17.4.2. Variáveis Para facilitar a compreensão, somente se detalham as variáveis que incidem diretamente sobre o comportamento da Ferramenta “Integration”. Os endereços IP das unidades serão: ● ● BirdWatch® RL: ® SmartLPR Speed 1: Quercus Technologies 192.168.1.201 192.168.1.202 280 Manual de referencia de BirdWatch® RL Programação ● SmartLPR® Speed 2: 192.168.1.203 ● Servidor de Data e hora NTP exterior: ntp.example.com 17.4.2.1. BirdWatch® RL ● Communications/CentralSystemHost: 192.168.1.201 ● Communications/CentralSystemPort: 8050 ● Communications/DateServer: ntp.example.com ● Communications/ListeningPort: 8051 ● Communications/IP: 192.168.1.201 ● Communications/SystemId: 1 Nessa unidade serão configurados os detectores de avanço em vermelho, um para cada via, com identificadores 1 e 2. 17.4.2.2. SmartLPR® Speed ● Communications/CentralSystemHost: 192.168.1.201 ● Communications/CentralSystemPort: 7050 ● Communications/DateServer: 192.168.1.201 ● Communications/ListeningPort: 7051 ● Communications/IP: 192.168.1.202 ● Communications/SystemId: 1 ● Global/WorkingMode: Continuous 17.4.2.3. SmartLPR® Speed ● Communications/CentralSystemHost: 192.168.1.201 ● Communications/CentralSystemPort: 7050 ● Communications/DateServer: 192.168.1.201 ● Communications/ListeningPort: 7051 ● Communications/IP: 192.168.1.203 ● Communications/SystemId: 2 ● Global/WorkingMode: Continuous 17.4.2.4. BirdWatch® RL (Integration) Variáveis de configuração da ferramenta Integration: ● Integration/Global/Active: 1 ● Integration/Global/Sets: 2 ● Integration/Communications/FtpTimeout 2000 ● Integration/Communications/LprListeningPort: 7050 Quercus Technologies 281 Manual de referencia de BirdWatch® RL Programação ● Integration/Communications/RlListeningPort: 8050 ● Integration/Set1/Description: ● Integration/Set1/Id: ● Integration/Set1/MaxDiskSize: 1000 ● Integration/Set1/LPR/Id: 1 ● Integration/Set1/LPR/Host: 192.168.1.202 ● Integration/Set1/LPR/Port: ● Integration/Set1/LPR/Reserved1: 500,1000 ● Integration/Set1/RL/Detector: 1 ● Integration/Set1/RL/Id: ● Integration/Set1/RL/Host: 192.168.1.201 ● Integration/Set1/Rl/Port: 8051 ● Integration/Set2/Description: Rua Liberdade, faixa 2 ● Integration/Set2/Id: ● Integration/Set2/MaxDiskSize: 1000 ● Integration/Set2/LPR/Id: 2 ● Integration/Set2/LPR/Host: 192.168.1.203 ● Integration/Set2/LPR/Port: ● Integration/Set2/LPR/Reserved1: 500,1000 ● Integration/Set2/RL/Detector: 2 ● Integration/Set2/RL/Id: ● Integration/Set2/RL/Host: 192.168.1.201 ● Integration/Set2/RL/Port: 8051 Rua liberdade, faixa 1 1 7051 1 2 7051 1 17.4.3. Resultados Nessa instalação será gerado um evento cada vez que a unidade BirdWatch® RL detecte uma incidência (um veículo ultrapassa o semáforo em vermelho). Por exemplo, para o veículo 796 que ultrapassou o semáforo, foi armazenado os seguintes dados na pasta FTP do BirdWatch® RL: ● 00000796 .xml: Arquivo XML com todas as informações do evento. ● 00000796 _RL1.jpg, 00000796 _RL2.jpg, 00000796 _RL3.jpg: as três imagens da incidência de BirdWatch® Quercus Technologies 282 Manual de referencia de BirdWatch® RL Programação RL. ● 00000796 _RL.avi: o vídeo da incidência de BirdWatch® RL (se é versão“Plus”). ● 00000796 _LPR.jpg: imagem da leitura da placa(SmartLPR®). Se as incidências provém do Set 1, todos esses arquivos se encontrarão na pasta Integration/Set1; se provém do Set 2, na pasta Integration/Set2. Quercus Technologies 283 Manual de referência do BirdWatch® RL Apêndices Apêndices 18. Apêndice A: parâmetros de instalação Nesse capítulo descrevem as medidas das instalações BirdWatch® RL. Essas medidas são desenhadas para: ● Um, duas e três faixas. ● Veículos de até 5 metros de comprimento. ● Largura da faixa (W) de 2 à 4 metros. ● Distância entre a linha de detecção e o semáforo (L1) de 0 à 4 metros. ● Semáforo lateral e central. ● Semáforo lateral, com a base com uma altura (H1) de 1,5 à 3 metros. RL H2 L2 H1 W L1 ● Semáforo central, com a base com uma altura (H1) de 5 à 6,5 metros. RL H1 H2 L2 W L1 O resultado obtido para cada combinação é composta por: ● Altura que se deve instalar a unidade (H2); de 5 à 6,5 metros. ● Distância mínima, ótima e máxima entre a unidade e a linha de detecção (L2); em metros. Para instalações que não cumprem as condições anteriores e/ou não estão refletidas na tabela seguinte entrar em contato com o departamento de suporte da Quercus Technologies. Quercus Technologies 284 Manual de referência do BirdWatch® RL Apêndices 18.1. Uma faixa com semáforo lateral W H1 L1 H2 Min. L2 Opt. Máx. 2,0 1,5 0,0 5,0 7,5 12,5 23,5 2,0 1,5 0,0 5,5 7,5 13,0 23,5 2,0 1,5 0,0 6,0 8,0 13,0 23,0 2,0 1,5 0,0 6,5 8,5 13,5 23,0 2,0 1,5 2,0 5,0 8,0 13,5 23,5 2,0 1,5 2,0 5,5 8,0 13,5 23,5 2,0 1,5 2,0 6,0 8,0 14,0 23,0 2,0 1,5 2,0 6,5 8,5 14,0 23,0 2,0 1,5 4,0 5,0 8,5 14,0 23,5 2,0 1,5 4,0 5,5 8,5 14,0 23,5 2,0 1,5 4,0 6,0 9,0 14,5 23,0 2,0 1,5 4,0 6,5 9,0 15,0 23,0 2,0 2,0 0,0 5,0 8,0 13,5 23,5 2,0 2,0 0,0 5,5 7,5 14,0 23,5 2,0 2,0 0,0 6,0 8,0 14,0 23,0 2,0 2,0 0,0 6,5 8,5 14,0 23,0 2,0 2,0 2,0 5,0 8,5 14,0 23,5 2,0 2,0 2,0 5,5 9,0 14,5 23,5 2,0 2,0 2,0 6,0 9,0 14,5 23,0 2,0 2,0 2,0 6,5 9,0 15,0 23,0 2,0 2,0 4,0 5,0 9,0 14,5 23,5 2,0 2,0 4,0 5,5 9,5 15,0 23,5 2,0 2,0 4,0 6,0 9,5 15,5 23,0 2,0 2,0 4,0 6,5 10,0 15,5 23,0 2,0 2,5 0,0 5,0 9,0 14,5 23,5 2,0 2,5 0,0 5,5 9,0 15,0 23,5 2,0 2,5 0,0 6,0 8,5 15,0 23,0 2,0 2,5 0,0 6,5 8,5 15,0 23,0 2,0 2,5 2,0 5,0 9,5 15,0 23,5 2,0 2,5 2,0 5,5 9,5 15,5 23,5 2,0 2,5 2,0 6,0 10,0 15,5 23,0 2,0 2,5 2,0 6,5 10,0 16,0 23,0 2,0 2,5 4,0 5,0 10,0 15,5 23,5 2,0 2,5 4,0 5,5 10,0 15,5 23,5 2,0 2,5 4,0 6,0 10,5 16,0 23,0 2,0 2,5 4,0 6,5 11,0 16,5 23,0 2,0 3,0 0,0 5,0 10,0 16,0 23,5 2,0 3,0 0,0 5,5 10,0 16,0 23,5 2,0 3,0 0,0 6,0 10,0 16,0 23,0 2,0 3,0 0,0 6,5 10,0 16,0 23,0 2,0 3,0 2,0 5,0 10,5 16,0 23,5 2,0 3,0 2,0 5,5 10,5 16,5 23,5 2,0 3,0 2,0 6,0 11,0 16,5 23,0 2,0 3,0 2,0 6,5 11,0 17,0 23,0 2,0 3,0 4,0 5,0 10,5 16,0 23,5 2,0 3,0 4,0 5,5 11,0 16,5 23,5 2,0 3,0 4,0 6,0 11,5 17,0 23,0 2,0 3,0 4,0 6,5 12,0 17,0 23,0 Quercus Technologies 285 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 3,0 1,5 0,0 5,0 7,5 12,5 23,5 3,0 1,5 0,0 5,5 7,5 13,0 23,5 3,0 1,5 0,0 6,0 8,0 13,0 23,0 3,0 1,5 0,0 6,5 8,5 13,5 23,0 3,0 1,5 2,0 5,0 8,0 13,5 23,5 3,0 1,5 2,0 5,5 8,0 13,5 23,5 3,0 1,5 2,0 6,0 8,0 14,0 23,0 3,0 1,5 2,0 6,5 8,5 14,0 23,0 3,0 1,5 4,0 5,0 8,5 14,0 23,5 3,0 1,5 4,0 5,5 9,0 14,0 23,5 3,0 1,5 4,0 6,0 9,0 14,5 23,0 3,0 1,5 4,0 6,5 9,5 15,0 23,0 3,0 2,0 0,0 5,0 8,0 13,5 23,5 3,0 2,0 0,0 5,5 7,5 14,0 23,5 3,0 2,0 0,0 6,0 8,0 14,0 23,0 3,0 2,0 0,0 6,5 8,5 14,0 23,0 3,0 2,0 2,0 5,0 8,5 14,0 23,5 3,0 2,0 2,0 5,5 9,0 14,5 23,5 3,0 2,0 2,0 6,0 9,0 14,5 23,0 3,0 2,0 2,0 6,5 9,0 15,0 23,0 3,0 2,0 4,0 5,0 9,0 14,5 23,5 3,0 2,0 4,0 5,5 9,5 15,0 23,5 3,0 2,0 4,0 6,0 10,0 15,5 23,0 3,0 2,0 4,0 6,5 10,0 15,5 23,0 3,0 2,5 0,0 5,0 9,0 14,5 23,5 3,0 2,5 0,0 5,5 9,0 15,0 23,5 3,0 2,5 0,0 6,0 9,0 15,0 23,0 3,0 2,5 0,0 6,5 8,5 15,0 23,0 3,0 2,5 2,0 5,0 9,5 15,0 23,5 3,0 2,5 2,0 5,5 9,5 15,5 23,5 3,0 2,5 2,0 6,0 10,0 15,5 23,0 3,0 2,5 2,0 6,5 10,0 16,0 23,0 3,0 2,5 4,0 5,0 10,0 15,5 23,5 3,0 2,5 4,0 5,5 10,5 15,5 23,5 3,0 2,5 4,0 6,0 10,5 16,0 23,0 3,0 2,5 4,0 6,5 11,0 16,5 23,0 3,0 3,0 0,0 5,0 10,0 16,0 23,5 3,0 3,0 0,0 5,5 10,0 16,0 23,5 3,0 3,0 0,0 6,0 10,0 16,0 23,0 3,0 3,0 0,0 6,5 10,0 16,0 23,0 3,0 3,0 2,0 5,0 10,5 16,0 23,5 3,0 3,0 2,0 5,5 10,5 16,5 23,5 3,0 3,0 2,0 6,0 11,0 16,5 23,0 3,0 3,0 2,0 6,5 11,5 17,0 23,0 3,0 3,0 4,0 5,0 10,5 16,0 23,5 3,0 3,0 4,0 5,5 11,0 16,5 23,5 3,0 3,0 4,0 6,0 11,5 17,0 23,0 3,0 3,0 4,0 6,5 12,0 17,0 23,0 4,0 1,5 0,0 5,0 7,5 12,5 23,5 4,0 1,5 0,0 5,5 8,0 13,0 23,0 Quercus Technologies 286 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 4,0 1,5 0,0 6,0 8,0 13,0 23,0 4,0 1,5 0,0 6,5 8,5 13,5 23,0 4,0 1,5 2,0 5,0 8,0 13,5 23,5 4,0 1,5 2,0 5,5 8,0 13,5 23,0 4,0 1,5 2,0 6,0 8,0 14,0 23,0 4,0 1,5 2,0 6,5 8,5 14,0 23,0 4,0 1,5 4,0 5,0 8,5 14,0 23,5 4,0 1,5 4,0 5,5 9,0 14,0 23,0 4,0 1,5 4,0 6,0 9,0 14,5 23,0 4,0 1,5 4,0 6,5 9,5 15,0 23,0 4,0 2,0 0,0 5,0 8,0 13,5 23,5 4,0 2,0 0,0 5,5 8,0 14,0 23,0 4,0 2,0 0,0 6,0 8,0 14,0 23,0 4,0 2,0 0,0 6,5 8,5 14,0 23,0 4,0 2,0 2,0 5,0 9,0 14,0 23,5 4,0 2,0 2,0 5,5 9,0 14,5 23,0 4,0 2,0 2,0 6,0 9,0 14,5 23,0 4,0 2,0 2,0 6,5 9,0 15,0 23,0 4,0 2,0 4,0 5,0 9,5 14,5 23,5 4,0 2,0 4,0 5,5 9,5 15,0 23,0 4,0 2,0 4,0 6,0 10,0 15,5 23,0 4,0 2,0 4,0 6,5 10,0 15,5 23,0 4,0 2,5 0,0 5,0 9,0 14,5 23,5 4,0 2,5 0,0 5,5 9,0 15,0 23,0 4,0 2,5 0,0 6,0 9,0 15,0 23,0 4,0 2,5 0,0 6,5 8,5 15,0 23,0 4,0 2,5 2,0 5,0 9,5 15,0 23,5 4,0 2,5 2,0 5,5 10,0 15,5 23,0 4,0 2,5 2,0 6,0 10,0 15,5 23,0 4,0 2,5 2,0 6,5 10,0 16,0 23,0 4,0 2,5 4,0 5,0 10,0 15,5 23,5 4,0 2,5 4,0 5,5 10,5 15,5 23,0 4,0 2,5 4,0 6,0 11,0 16,0 23,0 4,0 2,5 4,0 6,5 11,0 16,5 23,0 4,0 3,0 0,0 5,0 10,0 16,0 23,5 4,0 3,0 0,0 5,5 10,0 16,0 23,0 4,0 3,0 0,0 6,0 10,5 16,0 23,0 4,0 3,0 0,0 6,5 10,0 16,0 23,0 4,0 3,0 2,0 5,0 10,5 16,0 23,5 4,0 3,0 2,0 5,5 11,0 16,5 23,0 4,0 3,0 2,0 6,0 11,0 16,5 23,0 4,0 3,0 2,0 6,5 11,5 17,0 23,0 4,0 3,0 4,0 5,0 11,0 16,0 23,5 4,0 3,0 4,0 5,5 11,0 16,5 23,0 4,0 3,0 4,0 6,0 11,5 17,0 23,0 4,0 3,0 4,0 6,5 12,0 17,0 23,0 Quercus Technologies 287 Manual de referência do BirdWatch® RL Apêndices 18.2. Uma faixa com semáforo central W H1 L1 H2 Min. L2 Opt. Máx. 2,0 5,0 0,0 5,0 16,0 20,5 23,5 2,0 5,0 0,0 5,5 16,5 20,5 23,5 2,0 5,0 0,0 6,0 17,0 20,5 23,0 2,0 5,0 0,0 6,5 17,5 21,0 23,0 2,0 5,0 2,0 5,0 15,5 20,0 23,5 2,0 5,0 2,0 5,5 16,0 20,5 23,5 2,0 5,0 2,0 6,0 17,0 20,5 23,0 2,0 5,0 2,0 6,5 17,5 21,0 23,0 2,0 5,0 4,0 5,0 15,0 20,0 23,5 2,0 5,0 4,0 5,5 16,0 20,5 23,5 2,0 5,0 4,0 6,0 17,0 20,5 23,0 2,0 5,0 4,0 6,5 18,0 21,0 23,0 2,0 5,5 0,0 5,0 18,5 21,5 23,5 2,0 5,5 0,0 5,5 19,0 21,5 23,5 2,0 5,5 0,0 6,0 19,5 22,0 23,0 2,0 5,5 0,0 6,5 20,0 22,0 23,0 2,0 5,5 2,0 5,0 17,5 21,0 23,5 2,0 5,5 2,0 5,5 18,5 21,5 23,5 2,0 5,5 2,0 6,0 19,0 22,0 23,0 2,0 5,5 2,0 6,5 20,0 22,0 23,0 2,0 5,5 4,0 5,0 17,0 21,0 23,5 2,0 5,5 4,0 5,5 18,0 21,5 23,5 2,0 5,5 4,0 6,0 19,0 21,5 23,0 2,0 5,5 4,0 6,5 20,0 22,0 23,0 2,0 6,0 0,0 5,0 21,5 22,5 23,5 2,0 6,0 0,0 5,5 22,0 23,0 23,5 2,0 6,0 0,0 6,0 23,0 23,0 23,0 2,0 6,0 2,0 5,0 20,0 22,5 23,5 2,0 6,0 2,0 5,5 21,0 22,5 23,5 2,0 6,0 2,0 6,0 22,0 23,0 23,0 2,0 6,0 2,0 6,5 23,0 23,0 23,0 2,0 6,0 4,0 5,0 19,0 22,0 23,5 2,0 6,0 4,0 5,5 20,5 22,5 23,5 2,0 6,0 4,0 6,0 21,5 22,5 23,0 2,0 6,0 4,0 6,5 23,0 23,0 23,0 2,0 6,5 2,0 5,0 23,5 23,5 23,5 2,0 6,5 4,0 5,0 22,0 23,0 23,5 2,0 6,5 4,0 5,5 23,5 23,5 23,5 3,0 5,0 0,0 5,0 16,0 20,5 23,5 3,0 5,0 0,0 5,5 16,5 20,5 23,5 3,0 5,0 0,0 6,0 17,0 20,5 23,0 3,0 5,0 0,0 6,5 17,5 21,0 23,0 3,0 5,0 2,0 5,0 15,5 20,0 23,5 3,0 5,0 2,0 5,5 16,5 20,5 23,5 3,0 5,0 2,0 6,0 17,0 20,5 23,0 3,0 5,0 2,0 6,5 17,5 21,0 23,0 Quercus Technologies 288 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 3,0 5,0 4,0 5,0 15,0 20,0 23,5 3,0 5,0 4,0 5,5 16,0 20,5 23,5 3,0 5,0 4,0 6,0 17,0 20,5 23,0 3,0 5,0 4,0 6,5 18,0 21,0 23,0 3,0 5,5 0,0 5,0 18,5 21,5 23,5 3,0 5,5 0,0 5,5 19,0 21,5 23,5 3,0 5,5 0,0 6,0 19,5 22,0 23,0 3,0 5,5 0,0 6,5 20,0 22,0 23,0 3,0 5,5 2,0 5,0 17,5 21,0 23,5 3,0 5,5 2,0 5,5 18,5 21,5 23,5 3,0 5,5 2,0 6,0 19,5 22,0 23,0 3,0 5,5 2,0 6,5 20,0 22,0 23,0 3,0 5,5 4,0 5,0 17,0 21,0 23,5 3,0 5,5 4,0 5,5 18,0 21,5 23,5 3,0 5,5 4,0 6,0 19,0 21,5 23,0 3,0 5,5 4,0 6,5 20,0 22,0 23,0 3,0 6,0 0,0 5,0 21,5 22,5 23,5 3,0 6,0 0,0 5,5 22,0 23,0 23,5 3,0 6,0 0,0 6,0 23,0 23,0 23,0 3,0 6,0 2,0 5,0 20,0 22,5 23,5 3,0 6,0 2,0 5,5 21,5 22,5 23,5 3,0 6,0 2,0 6,0 22,5 23,0 23,0 3,0 6,0 4,0 5,0 19,0 22,0 23,5 3,0 6,0 4,0 5,5 20,5 22,5 23,5 3,0 6,0 4,0 6,0 22,0 22,5 23,0 3,0 6,0 4,0 6,5 23,0 23,0 23,0 3,0 6,5 2,0 5,0 23,5 23,5 23,5 3,0 6,5 4,0 5,0 22,0 23,0 23,5 4,0 5,0 0,0 5,0 16,0 20,5 23,5 4,0 5,0 0,0 5,5 16,5 20,5 23,0 4,0 5,0 0,0 6,0 17,0 20,5 23,0 4,0 5,0 0,0 6,5 17,5 21,0 23,0 4,0 5,0 2,0 5,0 15,5 20,0 23,5 4,0 5,0 2,0 5,5 16,5 20,5 23,0 4,0 5,0 2,0 6,0 17,0 20,5 23,0 4,0 5,0 2,0 6,5 18,0 21,0 23,0 4,0 5,0 4,0 5,0 15,5 20,0 23,5 4,0 5,0 4,0 5,5 16,0 20,5 23,0 4,0 5,0 4,0 6,0 17,0 20,5 23,0 4,0 5,0 4,0 6,5 18,0 21,0 23,0 4,0 5,5 0,0 5,0 18,5 21,5 23,5 4,0 5,5 0,0 5,5 19,0 21,5 23,0 4,0 5,5 0,0 6,0 19,5 22,0 23,0 4,0 5,5 0,0 6,5 20,5 22,0 23,0 4,0 5,5 2,0 5,0 17,5 21,0 23,5 4,0 5,5 2,0 5,5 18,5 21,5 23,0 4,0 5,5 2,0 6,0 19,5 22,0 23,0 4,0 5,5 2,0 6,5 20,5 22,0 23,0 4,0 5,5 4,0 5,0 17,0 21,0 23,5 4,0 5,5 4,0 5,5 18,0 21,5 23,0 Quercus Technologies 289 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 4,0 5,5 4,0 6,0 19,0 21,5 23,0 4,0 5,5 4,0 6,5 20,5 22,0 23,0 4,0 6,0 0,0 5,0 21,5 22,5 23,5 4,0 6,0 0,0 5,5 22,5 23,0 23,0 4,0 6,0 0,0 6,0 23,0 23,0 23,0 4,0 6,0 2,0 5,0 20,5 22,5 23,5 4,0 6,0 2,0 5,5 21,5 22,5 23,0 4,0 6,0 2,0 6,0 22,5 23,0 23,0 4,0 6,0 4,0 5,0 19,5 22,0 23,5 4,0 6,0 4,0 5,5 20,5 22,5 23,0 4,0 6,0 4,0 6,0 22,0 22,5 23,0 4,0 6,0 4,0 6,5 23,0 23,0 23,0 4,0 6,5 4,0 5,0 22,5 23,0 23,5 18.3. Dois faixas com semáforo lateral W H1 L1 H2 Min. L2 Opt. Máx. 2,0 1,5 0,0 5,0 7,5 12,5 23,5 2,0 1,5 0,0 5,5 8,0 13,0 23,0 2,0 1,5 0,0 6,0 8,0 13,0 23,0 2,0 1,5 0,0 6,5 8,5 13,5 23,0 2,0 1,5 2,0 5,0 8,0 13,5 23,5 2,0 1,5 2,0 5,5 8,0 13,5 23,0 2,0 1,5 2,0 6,0 8,0 14,0 23,0 2,0 1,5 2,0 6,5 8,5 14,0 23,0 2,0 1,5 4,0 5,0 8,5 14,0 23,5 2,0 1,5 4,0 5,5 9,0 14,0 23,0 2,0 1,5 4,0 6,0 9,0 14,5 23,0 2,0 1,5 4,0 6,5 9,5 15,0 23,0 2,0 2,0 0,0 5,0 8,0 13,5 23,5 2,0 2,0 0,0 5,5 8,0 14,0 23,0 2,0 2,0 0,0 6,0 8,0 14,0 23,0 2,0 2,0 0,0 6,5 8,5 14,0 23,0 2,0 2,0 2,0 5,0 9,0 14,0 23,5 2,0 2,0 2,0 5,5 9,0 14,5 23,0 2,0 2,0 2,0 6,0 9,0 14,5 23,0 2,0 2,0 2,0 6,5 9,0 15,0 23,0 2,0 2,0 4,0 5,0 9,5 14,5 23,5 2,0 2,0 4,0 5,5 9,5 15,0 23,0 2,0 2,0 4,0 6,0 10,0 15,5 23,0 2,0 2,0 4,0 6,5 10,0 15,5 23,0 2,0 2,5 0,0 5,0 9,0 14,5 23,5 2,0 2,5 0,0 5,5 9,0 15,0 23,0 2,0 2,5 0,0 6,0 9,0 15,0 23,0 2,0 2,5 0,0 6,5 8,5 15,0 23,0 2,0 2,5 2,0 5,0 9,5 15,0 23,5 2,0 2,5 2,0 5,5 10,0 15,5 23,0 2,0 2,5 2,0 6,0 10,0 15,5 23,0 2,0 2,5 2,0 6,5 10,0 16,0 23,0 Quercus Technologies 290 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 2,0 2,5 4,0 5,0 10,0 15,5 23,5 2,0 2,5 4,0 5,5 10,5 15,5 23,0 2,0 2,5 4,0 6,0 11,0 16,0 23,0 2,0 2,5 4,0 6,5 11,0 16,5 23,0 2,0 3,0 0,0 5,0 10,0 16,0 23,5 2,0 3,0 0,0 5,5 10,0 16,0 23,0 2,0 3,0 0,0 6,0 10,5 16,0 23,0 2,0 3,0 0,0 6,5 10,0 16,0 23,0 2,0 3,0 2,0 5,0 10,5 16,0 23,5 2,0 3,0 2,0 5,5 11,0 16,5 23,0 2,0 3,0 2,0 6,0 11,0 16,5 23,0 2,0 3,0 2,0 6,5 11,5 17,0 23,0 2,0 3,0 4,0 5,0 11,0 16,0 23,5 2,0 3,0 4,0 5,5 11,0 16,5 23,0 2,0 3,0 4,0 6,0 11,5 17,0 23,0 2,0 3,0 4,0 6,5 12,0 17,0 23,0 3,0 1,5 0,0 5,0 8,0 15,5 23,0 3,0 1,5 0,0 5,5 8,0 15,5 23,0 3,0 1,5 0,0 6,0 8,5 15,0 23,0 3,0 1,5 0,0 6,5 8,5 15,0 23,0 3,0 1,5 2,0 5,0 8,5 15,5 23,0 3,0 1,5 2,0 5,5 8,5 15,5 23,0 3,0 1,5 2,0 6,0 8,5 15,0 23,0 3,0 1,5 2,0 6,5 8,5 15,0 23,0 3,0 1,5 4,0 5,0 9,0 15,5 23,0 3,0 1,5 4,0 5,5 9,0 15,5 23,0 3,0 1,5 4,0 6,0 9,5 15,0 23,0 3,0 1,5 4,0 6,5 9,5 15,0 23,0 3,0 2,0 0,0 5,0 8,5 15,5 23,0 3,0 2,0 0,0 5,5 8,0 15,5 23,0 3,0 2,0 0,0 6,0 8,5 15,0 23,0 3,0 2,0 0,0 6,5 8,5 15,0 23,0 3,0 2,0 2,0 5,0 9,0 15,5 23,0 3,0 2,0 2,0 5,5 9,0 15,5 23,0 3,0 2,0 2,0 6,0 9,5 15,0 23,0 3,0 2,0 2,0 6,5 9,5 15,0 23,0 3,0 2,0 4,0 5,0 9,5 15,5 23,0 3,0 2,0 4,0 5,5 10,0 15,5 23,0 3,0 2,0 4,0 6,0 10,0 15,5 23,0 3,0 2,0 4,0 6,5 10,5 15,5 23,0 3,0 2,5 0,0 5,0 9,5 15,5 23,0 3,0 2,5 0,0 5,5 9,5 15,5 23,0 3,0 2,5 0,0 6,0 9,5 15,0 23,0 3,0 2,5 0,0 6,5 9,0 15,0 23,0 3,0 2,5 2,0 5,0 10,0 15,5 23,0 3,0 2,5 2,0 5,5 10,0 15,5 23,0 3,0 2,5 2,0 6,0 10,5 15,5 23,0 3,0 2,5 2,0 6,5 10,5 16,0 23,0 3,0 2,5 4,0 5,0 10,0 15,5 23,0 3,0 2,5 4,0 5,5 10,5 15,5 23,0 Quercus Technologies 291 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 3,0 2,5 4,0 6,0 11,0 16,0 23,0 3,0 2,5 4,0 6,5 11,5 16,5 23,0 3,0 3,0 0,0 5,0 10,5 16,0 23,0 3,0 3,0 0,0 5,5 10,5 16,0 23,0 3,0 3,0 0,0 6,0 10,5 16,0 23,0 3,0 3,0 0,0 6,5 10,5 16,0 23,0 3,0 3,0 2,0 5,0 11,0 16,0 23,0 3,0 3,0 2,0 5,5 11,0 16,5 23,0 3,0 3,0 2,0 6,0 11,5 16,5 23,0 3,0 3,0 2,0 6,5 11,5 17,0 23,0 3,0 3,0 4,0 5,0 11,0 16,0 23,0 3,0 3,0 4,0 5,5 11,5 16,5 23,0 3,0 3,0 4,0 6,0 12,0 17,0 23,0 3,0 3,0 4,0 6,5 12,5 17,5 23,0 4,0 1,5 0,0 5,0 15,5 20,0 23,0 4,0 1,5 0,0 5,5 15,0 20,0 23,0 4,0 1,5 0,0 6,0 14,5 19,5 22,5 4,0 1,5 0,0 6,5 13,5 19,5 22,5 4,0 1,5 2,0 5,0 15,5 20,0 23,0 4,0 1,5 2,0 5,5 15,0 20,0 23,0 4,0 1,5 2,0 6,0 14,5 19,5 22,5 4,0 1,5 2,0 6,5 13,5 19,5 22,5 4,0 1,5 4,0 5,0 15,5 20,0 23,0 4,0 1,5 4,0 5,5 15,0 20,0 23,0 4,0 1,5 4,0 6,0 14,5 19,5 22,5 4,0 1,5 4,0 6,5 13,5 19,5 22,5 4,0 2,0 0,0 5,0 15,5 20,0 23,0 4,0 2,0 0,0 5,5 15,0 20,0 23,0 4,0 2,0 0,0 6,0 14,5 19,5 22,5 4,0 2,0 0,0 6,5 13,5 19,5 22,5 4,0 2,0 2,0 5,0 15,5 20,0 23,0 4,0 2,0 2,0 5,5 15,0 20,0 23,0 4,0 2,0 2,0 6,0 14,5 19,5 22,5 4,0 2,0 2,0 6,5 13,5 19,5 22,5 4,0 2,0 4,0 5,0 15,5 20,0 23,0 4,0 2,0 4,0 5,5 15,0 20,0 23,0 4,0 2,0 4,0 6,0 14,5 19,5 22,5 4,0 2,0 4,0 6,5 13,5 19,5 22,5 4,0 2,5 0,0 5,0 15,5 20,0 23,0 4,0 2,5 0,0 5,5 15,0 20,0 23,0 4,0 2,5 0,0 6,0 14,5 19,5 22,5 4,0 2,5 0,0 6,5 13,5 19,5 22,5 4,0 2,5 2,0 5,0 15,5 20,0 23,0 4,0 2,5 2,0 5,5 15,0 20,0 23,0 4,0 2,5 2,0 6,0 14,5 19,5 22,5 4,0 2,5 2,0 6,5 13,5 19,5 22,5 4,0 2,5 4,0 5,0 15,5 20,0 23,0 4,0 2,5 4,0 5,5 15,0 20,0 23,0 4,0 2,5 4,0 6,0 14,5 19,5 22,5 4,0 2,5 4,0 6,5 13,5 19,5 22,5 Quercus Technologies 292 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 4,0 3,0 0,0 5,0 15,5 20,0 23,0 4,0 3,0 0,0 5,5 15,0 20,0 23,0 4,0 3,0 0,0 6,0 14,5 19,5 22,5 4,0 3,0 0,0 6,5 13,5 19,5 22,5 4,0 3,0 2,0 5,0 15,5 20,0 23,0 4,0 3,0 2,0 5,5 15,0 20,0 23,0 4,0 3,0 2,0 6,0 14,5 19,5 22,5 4,0 3,0 2,0 6,5 13,5 19,5 22,5 4,0 3,0 4,0 5,0 15,5 20,0 23,0 4,0 3,0 4,0 5,5 15,0 20,0 23,0 4,0 3,0 4,0 6,0 14,5 19,5 22,5 4,0 3,0 4,0 6,5 13,5 19,5 22,5 18.4. Dois faixas com semáforo central W H1 L1 H2 Min. L2 Opt. Máx. 2,0 5,0 0,0 5,0 16,0 20,5 23,5 2,0 5,0 0,0 5,5 16,5 20,5 23,0 2,0 5,0 0,0 6,0 17,0 20,5 23,0 2,0 5,0 0,0 6,5 17,5 21,0 23,0 2,0 5,0 2,0 5,0 15,5 20,0 23,5 2,0 5,0 2,0 5,5 16,5 20,5 23,0 2,0 5,0 2,0 6,0 17,0 20,5 23,0 2,0 5,0 2,0 6,5 18,0 21,0 23,0 2,0 5,0 4,0 5,0 15,5 20,0 23,5 2,0 5,0 4,0 5,5 16,0 20,5 23,0 2,0 5,0 4,0 6,0 17,0 20,5 23,0 2,0 5,0 4,0 6,5 18,0 21,0 23,0 2,0 5,5 0,0 5,0 18,5 21,5 23,5 2,0 5,5 0,0 5,5 19,0 21,5 23,0 2,0 5,5 0,0 6,0 19,5 22,0 23,0 2,0 5,5 0,0 6,5 20,5 22,0 23,0 2,0 5,5 2,0 5,0 17,5 21,0 23,5 2,0 5,5 2,0 5,5 18,5 21,5 23,0 2,0 5,5 2,0 6,0 19,5 22,0 23,0 2,0 5,5 2,0 6,5 20,5 22,0 23,0 2,0 5,5 4,0 5,0 17,0 21,0 23,5 2,0 5,5 4,0 5,5 18,0 21,5 23,0 2,0 5,5 4,0 6,0 19,0 21,5 23,0 2,0 5,5 4,0 6,5 20,5 22,0 23,0 2,0 6,0 0,0 5,0 21,5 22,5 23,5 2,0 6,0 0,0 5,5 22,5 23,0 23,0 2,0 6,0 0,0 6,0 23,0 23,0 23,0 2,0 6,0 2,0 5,0 20,5 22,5 23,5 2,0 6,0 2,0 5,5 21,5 22,5 23,0 2,0 6,0 2,0 6,0 22,5 23,0 23,0 2,0 6,0 4,0 5,0 19,5 22,0 23,5 2,0 6,0 4,0 5,5 20,5 22,5 23,0 Quercus Technologies 293 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 2,0 6,0 4,0 6,0 22,0 22,5 23,0 2,0 6,0 4,0 6,5 23,0 23,0 23,0 2,0 6,5 4,0 5,0 22,5 23,0 23,5 3,0 5,0 0,0 5,0 16,5 20,5 23,0 3,0 5,0 0,0 5,5 17,0 20,5 23,0 3,0 5,0 0,0 6,0 17,5 20,5 23,0 3,0 5,0 0,0 6,5 18,0 21,0 23,0 3,0 5,0 2,0 5,0 16,0 20,0 23,0 3,0 5,0 2,0 5,5 17,0 20,5 23,0 3,0 5,0 2,0 6,0 17,5 20,5 23,0 3,0 5,0 2,0 6,5 18,0 21,0 23,0 3,0 5,0 4,0 5,0 15,5 20,0 23,0 3,0 5,0 4,0 5,5 16,5 20,5 23,0 3,0 5,0 4,0 6,0 17,5 20,5 23,0 3,0 5,0 4,0 6,5 18,5 21,0 23,0 3,0 5,5 0,0 5,0 19,0 21,5 23,0 3,0 5,5 0,0 5,5 19,5 21,5 23,0 3,0 5,5 0,0 6,0 20,0 22,0 23,0 3,0 5,5 0,0 6,5 20,5 22,0 23,0 3,0 5,5 2,0 5,0 18,0 21,0 23,0 3,0 5,5 2,0 5,5 19,0 21,5 23,0 3,0 5,5 2,0 6,0 20,0 22,0 23,0 3,0 5,5 2,0 6,5 20,5 22,0 23,0 3,0 5,5 4,0 5,0 17,5 21,0 23,0 3,0 5,5 4,0 5,5 18,5 21,5 23,0 3,0 5,5 4,0 6,0 19,5 21,5 23,0 3,0 5,5 4,0 6,5 20,5 22,0 23,0 3,0 6,0 0,0 5,0 22,0 22,5 23,0 3,0 6,0 0,0 5,5 22,5 23,0 23,0 3,0 6,0 2,0 5,0 21,0 22,5 23,0 3,0 6,0 2,0 5,5 22,0 22,5 23,0 3,0 6,0 2,0 6,0 23,0 23,0 23,0 3,0 6,0 4,0 5,0 20,0 22,0 23,0 3,0 6,0 4,0 5,5 21,0 22,5 23,0 3,0 6,0 4,0 6,0 22,5 22,5 23,0 3,0 6,5 4,0 5,0 23,0 23,0 23,0 4,0 5,0 0,0 5,0 17,0 20,5 23,0 4,0 5,0 0,0 5,5 17,5 20,5 23,0 4,0 5,0 0,0 6,0 18,0 20,5 22,5 4,0 5,0 0,0 6,5 18,5 21,0 22,5 4,0 5,0 2,0 5,0 16,5 20,0 23,0 4,0 5,0 2,0 5,5 17,0 20,5 23,0 4,0 5,0 2,0 6,0 18,0 20,5 22,5 4,0 5,0 2,0 6,5 18,5 21,0 22,5 4,0 5,0 4,0 5,0 16,0 20,0 23,0 4,0 5,0 4,0 5,5 17,0 20,5 23,0 4,0 5,0 4,0 6,0 18,0 20,5 22,5 4,0 5,0 4,0 6,5 19,0 21,0 22,5 4,0 5,5 0,0 5,0 19,5 21,5 23,0 4,0 5,5 0,0 5,5 20,0 21,5 23,0 Quercus Technologies 294 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 4,0 5,5 0,0 6,0 20,5 22,0 22,5 4,0 5,5 0,0 6,5 21,0 22,0 22,5 4,0 5,5 2,0 5,0 18,5 21,0 23,0 4,0 5,5 2,0 5,5 19,5 21,5 23,0 4,0 5,5 2,0 6,0 20,5 22,0 22,5 4,0 5,5 2,0 6,5 21,0 22,0 22,5 4,0 5,5 4,0 5,0 18,0 21,0 23,0 4,0 5,5 4,0 5,5 19,0 21,5 23,0 4,0 5,5 4,0 6,0 20,0 21,5 22,5 4,0 5,5 4,0 6,5 21,0 22,0 22,5 4,0 6,0 0,0 5,0 22,5 22,5 23,0 4,0 6,0 0,0 5,5 23,0 23,0 23,0 4,0 6,0 2,0 5,0 21,5 22,5 23,0 4,0 6,0 2,0 5,5 22,5 22,5 23,0 4,0 6,0 4,0 5,0 20,5 22,0 23,0 4,0 6,0 4,0 5,5 21,5 22,5 23,0 18.5. Três faixas com semáforo lateral W H1 L1 H2 Min. L2 Opt. Máx. 2,0 1,5 0,0 5,0 7,5 16,0 23,5 2,0 1,5 0,0 5,5 8,0 15,5 23,0 2,0 1,5 0,0 6,0 8,0 15,5 23,0 2,0 1,5 0,0 6,5 8,5 15,0 23,0 2,0 1,5 2,0 5,0 8,0 16,0 23,5 2,0 1,5 2,0 5,5 8,0 15,5 23,0 2,0 1,5 2,0 6,0 8,0 15,5 23,0 2,0 1,5 2,0 6,5 8,5 15,0 23,0 2,0 1,5 4,0 5,0 8,5 16,0 23,5 2,0 1,5 4,0 5,5 9,0 15,5 23,0 2,0 1,5 4,0 6,0 9,0 15,5 23,0 2,0 1,5 4,0 6,5 9,5 15,0 23,0 2,0 2,0 0,0 5,0 8,0 16,0 23,5 2,0 2,0 0,0 5,5 8,0 15,5 23,0 2,0 2,0 0,0 6,0 8,0 15,5 23,0 2,0 2,0 0,0 6,5 8,5 15,0 23,0 2,0 2,0 2,0 5,0 9,0 16,0 23,5 2,0 2,0 2,0 5,5 9,0 15,5 23,0 2,0 2,0 2,0 6,0 9,0 15,5 23,0 2,0 2,0 2,0 6,5 9,0 15,0 23,0 2,0 2,0 4,0 5,0 9,5 16,0 23,5 2,0 2,0 4,0 5,5 9,5 15,5 23,0 2,0 2,0 4,0 6,0 10,0 15,5 23,0 2,0 2,0 4,0 6,5 10,0 15,5 23,0 2,0 2,5 0,0 5,0 9,0 16,0 23,5 2,0 2,5 0,0 5,5 9,0 15,5 23,0 2,0 2,5 0,0 6,0 9,0 15,5 23,0 2,0 2,5 0,0 6,5 8,5 15,0 23,0 2,0 2,5 2,0 5,0 9,5 16,0 23,5 Quercus Technologies 295 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 2,0 2,5 2,0 5,5 10,0 15,5 23,0 2,0 2,5 2,0 6,0 10,0 15,5 23,0 2,0 2,5 2,0 6,5 10,0 16,0 23,0 2,0 2,5 4,0 5,0 10,0 16,0 23,5 2,0 2,5 4,0 5,5 10,5 15,5 23,0 2,0 2,5 4,0 6,0 11,0 16,0 23,0 2,0 2,5 4,0 6,5 11,0 16,5 23,0 2,0 3,0 0,0 5,0 10,0 16,0 23,5 2,0 3,0 0,0 5,5 10,0 16,0 23,0 2,0 3,0 0,0 6,0 10,5 16,0 23,0 2,0 3,0 0,0 6,5 10,0 16,0 23,0 2,0 3,0 2,0 5,0 10,5 16,0 23,5 2,0 3,0 2,0 5,5 11,0 16,5 23,0 2,0 3,0 2,0 6,0 11,0 16,5 23,0 2,0 3,0 2,0 6,5 11,5 17,0 23,0 2,0 3,0 4,0 5,0 11,0 16,0 23,5 2,0 3,0 4,0 5,5 11,0 16,5 23,0 2,0 3,0 4,0 6,0 11,5 17,0 23,0 2,0 3,0 4,0 6,5 12,0 17,0 23,0 3,0 1,5 0,0 5,0 21,0 22,5 23,0 3,0 1,5 0,0 5,5 20,5 22,5 23,0 3,0 1,5 0,0 6,0 20,5 22,0 23,0 3,0 1,5 0,0 6,5 20,0 22,0 23,0 3,0 1,5 2,0 5,0 21,0 22,5 23,0 3,0 1,5 2,0 5,5 20,5 22,5 23,0 3,0 1,5 2,0 6,0 20,5 22,0 23,0 3,0 1,5 2,0 6,5 20,0 22,0 23,0 3,0 1,5 4,0 5,0 21,0 22,5 23,0 3,0 1,5 4,0 5,5 20,5 22,5 23,0 3,0 1,5 4,0 6,0 20,5 22,0 23,0 3,0 1,5 4,0 6,5 20,0 22,0 23,0 3,0 2,0 0,0 5,0 21,0 22,5 23,0 3,0 2,0 0,0 5,5 20,5 22,5 23,0 3,0 2,0 0,0 6,0 20,5 22,0 23,0 3,0 2,0 0,0 6,5 20,0 22,0 23,0 3,0 2,0 2,0 5,0 21,0 22,5 23,0 3,0 2,0 2,0 5,5 20,5 22,5 23,0 3,0 2,0 2,0 6,0 20,5 22,0 23,0 3,0 2,0 2,0 6,5 20,0 22,0 23,0 3,0 2,0 4,0 5,0 21,0 22,5 23,0 3,0 2,0 4,0 5,5 20,5 22,5 23,0 3,0 2,0 4,0 6,0 20,5 22,0 23,0 3,0 2,0 4,0 6,5 20,0 22,0 23,0 3,0 2,5 0,0 5,0 21,0 22,5 23,0 3,0 2,5 0,0 5,5 20,5 22,5 23,0 3,0 2,5 0,0 6,0 20,5 22,0 23,0 3,0 2,5 0,0 6,5 20,0 22,0 23,0 3,0 2,5 2,0 5,0 21,0 22,5 23,0 3,0 2,5 2,0 5,5 20,5 22,5 23,0 3,0 2,5 2,0 6,0 20,5 22,0 23,0 Quercus Technologies 296 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 3,0 2,5 2,0 6,5 20,0 22,0 23,0 3,0 2,5 4,0 5,0 21,0 22,5 23,0 3,0 2,5 4,0 5,5 20,5 22,5 23,0 3,0 2,5 4,0 6,0 20,5 22,0 23,0 3,0 2,5 4,0 6,5 20,0 22,0 23,0 3,0 3,0 0,0 5,0 21,0 22,5 23,0 3,0 3,0 0,0 5,5 20,5 22,5 23,0 3,0 3,0 0,0 6,0 20,5 22,0 23,0 3,0 3,0 0,0 6,5 20,0 22,0 23,0 3,0 3,0 2,0 5,0 21,0 22,5 23,0 3,0 3,0 2,0 5,5 20,5 22,5 23,0 3,0 3,0 2,0 6,0 20,5 22,0 23,0 3,0 3,0 2,0 6,5 20,0 22,0 23,0 3,0 3,0 4,0 5,0 21,0 22,5 23,0 3,0 3,0 4,0 5,5 20,5 22,5 23,0 3,0 3,0 4,0 6,0 20,5 22,0 23,0 3,0 3,0 4,0 6,5 20,0 22,0 23,0 18.6. Três faixas com semáforo central W H1 L1 H2 Min. L2 Opt. Máx. 2,0 5,0 0,0 5,0 16,0 20,5 23,5 2,0 5,0 0,0 5,5 16,5 20,5 23,0 2,0 5,0 0,0 6,0 17,0 20,5 23,0 2,0 5,0 0,0 6,5 17,5 21,0 23,0 2,0 5,0 2,0 5,0 15,5 20,0 23,5 2,0 5,0 2,0 5,5 16,5 20,5 23,0 2,0 5,0 2,0 6,0 17,0 20,5 23,0 2,0 5,0 2,0 6,5 18,0 21,0 23,0 2,0 5,0 4,0 5,0 15,5 20,0 23,5 2,0 5,0 4,0 5,5 16,0 20,5 23,0 2,0 5,0 4,0 6,0 17,0 20,5 23,0 2,0 5,0 4,0 6,5 18,0 21,0 23,0 2,0 5,5 0,0 5,0 18,5 21,5 23,5 2,0 5,5 0,0 5,5 19,0 21,5 23,0 2,0 5,5 0,0 6,0 19,5 22,0 23,0 2,0 5,5 0,0 6,5 20,5 22,0 23,0 2,0 5,5 2,0 5,0 17,5 21,0 23,5 2,0 5,5 2,0 5,5 18,5 21,5 23,0 2,0 5,5 2,0 6,0 19,5 22,0 23,0 2,0 5,5 2,0 6,5 20,5 22,0 23,0 2,0 5,5 4,0 5,0 17,0 21,0 23,5 2,0 5,5 4,0 5,5 18,0 21,5 23,0 2,0 5,5 4,0 6,0 19,0 21,5 23,0 2,0 5,5 4,0 6,5 20,5 22,0 23,0 2,0 6,0 0,0 5,0 21,5 22,5 23,5 2,0 6,0 0,0 5,5 22,5 23,0 23,0 2,0 6,0 0,0 6,0 23,0 23,0 23,0 2,0 6,0 2,0 5,0 20,5 22,5 23,5 Quercus Technologies 297 Manual de referência do BirdWatch® RL W Apêndices H1 L1 H2 Min. L2 Opt. Máx. 2,0 6,0 2,0 5,5 21,5 22,5 23,0 2,0 6,0 2,0 6,0 22,5 23,0 23,0 2,0 6,0 4,0 5,0 19,5 22,0 23,5 2,0 6,0 4,0 5,5 20,5 22,5 23,0 2,0 6,0 4,0 6,0 22,0 22,5 23,0 2,0 6,0 4,0 6,5 23,0 23,0 23,0 2,0 6,5 4,0 5,0 22,5 23,0 23,5 3,0 5,0 0,0 5,0 21,0 22,5 23,0 3,0 5,0 0,0 5,5 20,5 22,5 23,0 3,0 5,0 0,0 6,0 20,5 22,0 23,0 3,0 5,0 0,0 6,5 20,0 22,0 23,0 3,0 5,0 2,0 5,0 21,0 22,5 23,0 3,0 5,0 2,0 5,5 20,5 22,5 23,0 3,0 5,0 2,0 6,0 20,5 22,0 23,0 3,0 5,0 2,0 6,5 20,0 22,0 23,0 3,0 5,0 4,0 5,0 21,0 22,5 23,0 3,0 5,0 4,0 5,5 20,5 22,5 23,0 3,0 5,0 4,0 6,0 20,5 22,0 23,0 3,0 5,0 4,0 6,5 20,0 22,0 23,0 3,0 5,5 0,0 5,0 21,0 22,5 23,0 3,0 5,5 0,0 5,5 20,5 22,5 23,0 3,0 5,5 0,0 6,0 20,5 22,0 23,0 3,0 5,5 0,0 6,5 20,5 22,0 23,0 3,0 5,5 2,0 5,0 21,0 22,5 23,0 3,0 5,5 2,0 5,5 20,5 22,5 23,0 3,0 5,5 2,0 6,0 20,5 22,0 23,0 3,0 5,5 2,0 6,5 20,5 22,0 23,0 3,0 5,5 4,0 5,0 21,0 22,5 23,0 3,0 5,5 4,0 5,5 20,5 22,5 23,0 3,0 5,5 4,0 6,0 20,5 22,0 23,0 3,0 5,5 4,0 6,5 20,5 22,0 23,0 3,0 6,0 0,0 5,0 22,0 22,5 23,0 3,0 6,0 0,0 5,5 22,5 23,0 23,0 3,0 6,0 2,0 5,0 21,0 22,5 23,0 3,0 6,0 2,0 5,5 22,0 22,5 23,0 3,0 6,0 2,0 6,0 23,0 23,0 23,0 3,0 6,0 4,0 5,0 21,0 22,5 23,0 3,0 6,0 4,0 5,5 21,0 22,5 23,0 3,0 6,0 4,0 6,0 22,5 22,5 23,0 3,0 6,5 4,0 5,0 23,0 23,0 23,0 Quercus Technologies 298 Manual de referência do BirdWatch® RL Apêndices Apêndice B: especificações técnicas 18.7. BirdWatch® RL sem controle de temperatura Tipo Valor Producto BirdWatch Red Light BirdWatch® RL Referencia BirdWatch® Red Light 07000100 ® Dimensões Altura 190mm Largura 185mm Profundidade 350mm Alimentação Tensão de entrada 12 Vdc Consumo diurno 2.5 W Consumo noturno 21 W Cabeamento 2x1.5mm2 Conectividade Portas de comunicação Ehernet 100Mbps, RS-232, RS-485t Entradas 4 de contato seco Saídas 4, de contato seco, de potência Alimentação saídas 5 V o 12 V definida mediante jumper Corrente máxima por saída 200 mA Imagens A cores 2590x1942 (5Mpx) Em branco e preto 640X480 Foco Tipo de luz Infravermelho próximo (850 nm.) Classificação conforme EN 60825-1 Produto LED de classe 1M Potência ótica instantânea máxima 3W Potência ótica media 3W Duração de impulsos Luz fixa Temperatura Temperatura de trabalho -15ºC - 60ºC Carcaça Grau de proteção IP 67 Material ASA/PC Cor RAL 9002 Quercus Technologies 299 Manual de referência do BirdWatch® RL Apêndices 18.8. BirdWatch® RL com controle de temperatura Tipo Valor Producto BirdWatch Red Light BirdWatch® RL CT Referencia BirdWatch® Red Light 07000103 ® Dimensões Altura 190mm Largura 185mm Profundidade 350mm Alimentação Tensão de entrada 12 Vdc Consumo diurno 2.5 W Consumo noturno 21 W Consumo diurno com aquecedor ativo 61 W Consumo noturno com aquecedor ativo 79.5 W Cabeamento 2x2.5mm2 Conectividade Portas de comunicação Ehernet 100Mbps, RS-232, RS-485t Entradas 4 de contato seco Saídas 4, de contato seco, de potência Alimentação saídas 5 V ou 12 V selecionável mediante jumper Corrente máxima por saída 200 mA Imagens A cores 2590x1942 (5Mpx) Em branco e preto 640X480 Foco Tipo de luz Infravermelho próximo (850 nm.) Classificação conforme EN 60825-1 Produto LED de classe 1M Potência ótica instantânea máxima 3W Potência ótica media 3W Duração de impulsos Luz fixa Temperatura Temperatura de trabalho -25ºC - 60ºC Carcaça Grau de proteção IP 67 Material ASA/PC Cor RAL 9002 Quercus Technologies 300 Manual de referência do BirdWatch® RL Apêndices 19. Apêndice C: em caso de avaria Entre em contato com o departamento de Suporte da Quercus Technologies. Esse departamento lhe ajudará a verificar se efetivamente se trata de uma avaria ou não (pode tratar-se de um mau ajuste, configuração errada, etc.). Caso se confirme a avaria, o procedimento é o seguinte: 1. Verifique, em conjunto com o departamento de Suporte da Quercus Technologies, a avaria do equipamento. 2. Substitua os componentes avariados pelos de reposição. Recomenda-se dispor sempre de no mínimo uma unidade de peça de reserva de cada componente do equipamento. 3. Contate o departamento comercial da Quercus Technologies para que se substituam as peças avariadas, caso se encontrem na garantia. Se o equipamento não estiver mais dentro do prazo de garantia, o departamento comercial da Quercus Technologies lhe preparará uma oferta com os preços dos componentes que devem ser substituídos ou reparados. Quercus Technologies 301 Manual de referência do BirdWatch® RL Apêndices 20. Apêndice D: suporte Se tiver qualquer dúvida na configuração ou no uso do BirdWatch ®, não hesite em entrar em contato com nosso departamento de Suporte. Para nos contatar através do departamento de Suporte: ● USA: +1, 201, 227 2020. ● Brasil e Latam: +55 (11) 2614 3006 (Ramal 21) ● EMEA e Asia: +34 977 300 377 ● Ou pelo email a: [email protected] ● Visite nossas webs: ● www.quercus.biz ● www.quercus-technologies.com ● www.quercus.com.br Quercus Technologies 302 Manual de referência do BirdWatch® RL Apêndices 21. Apéndice E: Notas sobre la instalación eléctrica Este apêndice mostra o diagrama de cablagem do sistemaBirdWatch ® RL. Os técnicos responsáveis pela execução BirdWatch® RL devem respeitar estritamente este procedimento para instalar os componentes e as conexões para que à fim da instalação estão como no diagrama a seguir. O painel elétrico com características e certificações para uso ao ar livre pode ser colocado no solo ou em um poste próximo ao sistema BirdWatch® RL. Dentro do painel elétrico deve ser montado um interruptor para poder desligar sempre que é necessária uma ® manutenção regular BirdWatch RL como si é uma intervenção especial. A fonte de alimentação / transformador utilizado deve dar uma tensão de 12 VDC, com uma tolerância de +/- 2% da tensão nominal. Entre a fonte de alimentação eo sistema BirdWatch® RL deve ser colocado um fusível de 2A modelo RS15gG2. O instalador deve fornecer os câbos das entradas de potência de saída e indicam onde a câmera está ligada. Quercus Technologies 303 Manual de referência do BirdWatch® RL Apêndices 22. Apêndice E: valores de [Global] TimeZone África/Bamako África/Bangui África/Banjul África/Lome África/Asmeira África/Bissau África/Algiers África/Johannesburg África/Douala África/Ndjamena África/Harare África/Kinshasa África/Accra África/Cairo África/Ceuta África/Dacar África/Lagos África/Tunis África/Lubumbashi África/Kigali África/Malabo África/Maputo África/Maseru África/Porto-Novo África/Monrovia África/Luanda África/Lusaka África/Niamey África/Freetown África/Windhoek África/Kampala Africa/Gaborone África/Conacri Africa/Mogadishu Africa/Brazzaville Africa/Timbuktu África/Addis_Abava Africa/Bujumbura Africa/Nouakchott Africa/Casablanca Africa/Mbabane África/O_Aaiun Africa/Libreville África/Dar_é_Salaam Africa/Ouagadougou Africa/Khartoum Africa/Nairobi África/São_Tome Africa/Tripoli Africa/Abidjan Africa/Djibouti Africa/Blantyre América/México_City America/Adak America/Atka America/Belize America/Lima America/Nome America/Cancun America/Cayman America/Bogota America/Dawson America/Denver América/Cuiava América/Antiga America/Havana America/Belem América/Aruba America/Boise Quercus Technologies America/Thunder_Bay America/Guatemala America/Guyana America/Jujuy America/Inuvik America/Thule America/Rankin_Inlet America/Juneau America/La_Paz America/Maceio America/Manaus América/Mérida America/Guayaquil América/Montréal America/Nassau America/Cambridge_Bay America/Phoenix America/Panama America/Puerto_Rico America/Caracas America/Cayenne America/Jamaica America/Porto_Acre America/Recife America/Regina America/Indiana/Knox America/Indiana/Vevay America/Indiana/Marengo America/Indiana/Indianapolis América/Bons_Ares America/Danmarkshavn America/Mazatlan America/Iqaluit América/Jiboia_Vista America/Virgin America/Chicago America/Ensenada America/Catamarca America/Costa_Rica América/Força America/St_Johns America/St_Kitts America/Miquelon América/St_Lucía America/Port-au-Prince America/Vancouver America/Porto_Velho America/Winnipeg America/Martinique América/Córdova America/Whitehorse America/New_York America/Glace_Bay America/Yakutat America/Detroit America/Louisville America/Grand_Turk America/Fort_Wayne America/Goose_Bay America/Yellowknife America/Curacao America/Hermosillo America/Tegucigalpa America/Paramaribo America/Scoresbysund America/Swift_Current America/Kentucky/Louisville America/Kentucky/Monticello America/Knox_IN America/Anchorage America/Eirunepe America/Rosario America/Barbados America/Dawson_Creek América/Manágua America/Pangnirtung América/Assunção America/Menominee America/St_Thomas América/São_Paulo America/Mendoza America/Guadeloupe America/Monterrey America/North_Dakota/Center America/Araguaina America/Port_of_Spain America/Shiprock América/Anguilha America/Dominica America/Edmonton America/Rio_Branco America/Tijuana America/Montevideo America/Santiago América/Rola América/Os_Anjos America/Nipigon America/Rainy_River América/O_Salvador America/Halifax America/Santo_Domingo America/St_Vincent America/Indianapolis America/Godthab America/Montserrat America/Chihuahua America/Noronha America/Grenada Antarctica/Casey Antarctica/Davis Antarctica/Syowa Antarctica/Mawson Antarctica/Palmer Antarctica/Vostok Antartica/Rotheira Antarctica/DumontDUrville Antarctica/McMurdo Antarctica/South_Pole Arctic/Longyearbyen Asia/Almaty Asia/Anadyr Ásia/Adem Asia/Baku Asia/Dili Ásia/Beirute Asia/Gaza Asia/Hovd Asia/Omsk Asia/Oral Asia/Aqtobe Asia/Brunei Ásia/Baghdade Ásia/Bahrein Ásia/Banguecoque Asia/Makassar Asia/Vladivostok Asia/Harbin Ásia/Ammam 304 Manual de referência do BirdWatch® RL Asia/Aqtau Asia/Dacca Asia/Dhaka Asia/Dubai Asia/Yekaterinburg Asia/Kabul Ásia/Macau Ásia/Macau Asia/Calcutta Asia/Qatar Asia/Seoul Asia/Tokyo Asia/Kuwait Asia/Manila Asia/Bishkek Asia/Muscat Asia/Jakarta Ásia/Riade Asia/Saigon Asia/Taipei Ásia/Tehram Asia/Thimbu Asia/Choibalsam Asia/Urumqi Asia/Irkutsk Asia/Karachi Asia/Kashgar Asia/Ulan_Bator Asia/Colombo Asia/Rangoon Asia/Krasnoyarsk Asia/Ashkhabad Asia/Yakutsk Asia/Istanbul Asia/Tashkent Asia/Singapore Asia/Yerevan Asia/Jayapura Asia/Samarkand Asia/Ashgabat Asia/Riyadh87 Asia/Riyadh88 Asia/Riyadh89 Asia/Pontianak Asia/Kuching Asia/Magadan Ásia/Xangai Asia/Pyongyang Asia/Jerusalem Asia/Kuala_Lumpur Asia/Tbilisi Asia/Hong_Kong Asia/Dushanbe Asia/Damascus Asia/Sakhalin Asia/Thimphu Asia/Chungking Asia/Kamchatka Asia/Nicosia Asia/Ujung_Pandang Asia/Chongqing Asia/Tel_Aviv Asia/Novosibirsk Asia/Vientiane Asia/Qyzylorda Asia/Phnom_Penh Asia/Ulaanbaatar Asia/Katmandu Atlantic/Canary Atlantic/Açores Atlantic/Faeroe Atlantic/Bermuda Atlantic/Reykjavik Quercus Technologies Apêndices Atlantic/Jam_Mayem Atlantic/Cape_Verde Atlantic/St_Helena Atlantic/Madeira Atlantic/Stanley Atlantic/South_Georgia Australia/ACT Australia/LHI Australia/NSW Australia/West Australia/Darwin Australia/Hobart Australia/North Australia/Perth Australia/South Australia/Canberra Australia/Melbourne Australia/Sydney Australia/Adelaide Austrália/Tasmânia Austrália/Brokem_Hill Australia/Lord_Howe Australia/Yancowinna Austrália/Vitória Austrália/Lindemam Australia/Queensland Australia/Brisbane Brazil/Acre Brazil/East Brazil/West Brazil/DeNoronha Canada/Pacific Canada/Yukon Canada/Mountain Canada/Central Canada/Eastern Canada/Newfoundland Canada/East-Saskatchewan Canada/Atlantic Canada/Saskatchewam Chile/EasterIsland Chile/Continental Etc/GMT Etc/UCT Etc/UTC Etc/GMT0 Etc/Zulu Etc/GMT+10 Etc/GMT+11 Etc/GMT+12 Etc/GMT-10 Etc/GMT-11 Etc/GMT-12 Etc/GMT-13 Etc/GMT-14 Etc/Universal Etc/GMT+0 Etc/GMT+1 Etc/GMT+2 Etc/GMT+3 Etc/GMT+4 Etc/GMT+5 Etc/GMT+6 Etc/GMT+7 Etc/GMT+8 Etc/GMT+9 Etc/GMT-0 Etc/GMT-1 Etc/GMT-2 Etc/GMT-3 Etc/GMT-4 Etc/GMT-5 Etc/GMT-6 Etc/GMT-7 Etc/GMT-8 Etc/GMT-9 Etc/Greenwich Europe/São_Marinho Europe/Kiev Europe/Berlim Europe/Oslo Europe/Riga Europe/Rome Europe/Athens Europe/Luxembourg Europe/Dublin Europe/Andorra Europe/Vilnius Europe/Belgrade Europe/Belfast Europe/Chisinau Europe/Malta Europe/Minsk Europe/Paris Europe/Sofia Europe/Vaduz Europe/Brussels Europe/Lisbon Europe/Madri Europe/Bratislava Europe/London Europe/Kaliningrade Europe/Mônaco Europe/Moscow Europe/Prague Europe/Stockholm Europe/Samara Europe/Skopje Europe/Tirane Europe/Vienna Europe/Warsaw Europe/Budapeste Europe/Simferopol Europe/Zagreb Europe/Zurique Europe/Bucharest Europe/Istanbul Europe/Amesterdão Europe/Copenhagem Europe/Uzhgorod Europe/Tiraspol Europe/Talhin Europe/Helsinque Europe/Sarajevo Europe/Zaporozhye Europe/Nicósia Europe/Gibraltar Europe/Ljubljana Europe/Vaticam Indian/Mahe Indian/Chagos Indian/Comoro Indian/Kerguelen Indian/Maldives Indian/Cocos Indian/Christmas Indian/Mauritius Indiam/Reunião Indian/Antananarivo Indian/Mayotte Mexico/BajaSur Mexico/BajaNorte Mexico/Geral Mideast/Riyadh87 Mideast/Riyadh88 Mideast/Riyadh89 305 Manual de referência do BirdWatch® RL Pacific/Yap Pacific/Apia Pacific/Fiji Pacific/Guam Pacific/Niue Pacific/Truk Pacific/Wake Pacific/Easter Pacific/Pago_Pago Pacific/Efate Pacific/Nauru Pacific/Palau Pacific/Samoa Pacific/Kosrae Pacific/Majuro Pacific/Midway Pacific/Honolulu Pacific/Guadalcanal Quercus Technologies Apêndices Pacific/Noumea Pacific/Ponape Pacific/Saipan Pacific/Pitcairn Pacific/Tahiti Pacific/Tarawa Pacific/Chatham Pacific/Johnston Pacific/Wallis Pacific/Galapagos Pacific/Kwajalein Pacific/Tongatapu Pacific/Fakaofo Pacific/Auckland Pacific/Gambier Pacific/Rarotonga Pacific/Funafuti Pacific/Port_Moresby Pacific/Marquesas Pacific/Enderbury Pacific/Kiritimati Pacific/Norfolk US/Alaska US/Pacific US/Havaí US/Samoa US/Michigam US/Arizona US/Mountain US/Central US/East-Indiana US/Aleutiam US/Eastern US/Indiana-Starke 306