Índice:

Minha Via IOT: 7 etapas
Minha Via IOT: 7 etapas

Vídeo: Minha Via IOT: 7 etapas

Vídeo: Minha Via IOT: 7 etapas
Vídeo: Intubação Orotraqueal (IOT) - Parte 01 (Indicações e via aérea difícil) 2024, Julho
Anonim
Image
Image
Atividade Entendendo
Atividade Entendendo

Pós Graduação em Desenvolvimento de Aplicações para dispositivos móveisPUC Contagem

Alunos: Gabriel André e Leandro Reis

Os pavimentos das principais rodovias federais, estaduais e das vias públicas das cidades possuem algum tipo de defeito, causado por vários fatores, o que gera um grande impacto no custo operacional do transporte. A partir deste problema, o presente trabalho tem como objetivo a apresentação de um aplicativo para smartphone com sistema operacional Android que identifica como irregularidades na pavimentação dos logradouros das cidades utilizando os sensores acelerômetro e GPS. Os tipos de irregularidade mais comuns encontrados são: remendos em processo de afundamento ou remendos com elevação acima do pavimento regular, afundamentos, trincas, ondulações e buracos. Abaixo segue os passos para o conhecimento da construção da aplicação.

Etapa 1: Configuração Do AndroidManifest

No arquivo AndroidManifest.xml é realizado como configurações de permissão e funcionamento do aplicativo com os conceitos de base.

  1. ClassDetalhamos abaixo como requisito do aplicativo e os motivos do uso de cada configuração.

    • Permissão de LocalizaçãoPermissão do aplicativo para encontrar uma localização configuramos duas tags, sendo elas:
    • Permissão para identificação de Inicialização e Reinicialização do AplicativoPermissão do aplicativo para "escutar" um evento de inicialização e reinicialização do sistema Android, com objetivo de iniciar os serviços que irá monitorar a busca de pavimentos irregulares, sendo ela:
    • Permissão de acesso a InternetPermissão para o aplicativo utilizar uma internet com o objetivo de sincronizar os dados com o servidor firebase, sendo ela:
  2. Serviços2.1) Serviço de Pavimento Irregular

    Na tag Service que aponta para uma classe "PavimentoIrregularBackgroundService" tem como objetivo captar informações dos pavimentos irregulares e armazenar no banco de dados do aparelho smartphone para o aplicativo.

    2.2) Serviço de GeoLocalização Na tag service que visa a classe "GeoBackgroundService" tem como objetivo tratar as informações de pavimento irregular e busca a sua localização de logradouro, bairro, cidade, unidade federativa para agrupar os dados de pavimento irregular por logradouro de uma cidade.

    2.3) Serviço de Sincronização de dados com Firebase Na tag serviço que aponta para uma classe "FirebaseBackgroundService" tem como objetivo enviar as informações de pavimento irregular encontrado pelo aparelho de Smartphone, somando com as demais informações encontradas por outras pessoas que usam o aplicativo mesmo.

  3. Configuração da API do MAPS

    Para a configuração da API do Maps, precisamos registrar uma chave para o aplicativo, conforme tutorial (Configurar API MAPS Android).

    A chave obtida deve ser colocada em "android: value" na tag "meta-data" do 'android: name = "com.google.android.geo. API_KEY"', conforme exemplo abaixo:

  4. ReceiverReceiver neste projeto irá escutar como ações de inicialização e reinicialização do sistema para captar como informações de pavimento irregular.4.1) Receiver de Pavimento Irregular

    A classe "AlarmReceive" é chamada toda vez que a inicialização do sistema operacional android, conforme configuração da tag "". Após esta chamada, dentro da classe há um agendador para uma execução do serviço "PavimentoIrregularBackgroundService" que fica avaliado se houver pavimento irregular.

    4.2) Receiver de GeoLocalização A classe "AlarmGeoReceive" é chamada toda vez que a inicialização do sistema operacional android, conforme configuração da tag"

    4.3) Receiver do Firebase A classe "AlarmFirebaseReceive" é chamada toda vez que a inicialização do sistema operacional android, conforme configuração da tag "". Após esta chamada, dentro da classe há um agendador para uma execução do serviço "FirebaseBackgroundService" que fica avaliado se registros com todos os dados de logradouro disponíveis para envio ao servidor de firebase.

Etapa 2: Entendendo As Classes De Serviço "PavimentoIrregularBackgroundService"

A classe "PavimentoIrregularBackgroundService" é utizada para capturar informações dos sensores acelerômetro e GPS. Com base nas informações ele tem um algoritmo específico no método "onLocationChanged" que avalia se o pavimento é irregular, no qual é inserido em uma tabela de banco de dados da própria aplicação. A classe possui algumas tratativas específicas para identificar se o aparelho está com a bateria baixa com objetivo de encerrar o serviço sem que haja prejuízo na coleta das informações e contribuir com o funcionamento do aparelho para o usuário. Outras tratativas previsões que o encerramento da aplicação, pausa da aplicação, etc.

Etapa 3: Entendendo As Classes De Serviço "GeoBackgroundService"

A classe "GeoBackgroundService" é responsável por buscar pavimentação irregular e complementar as informações de endereço da latitude e longitude encontradas para que haja o envio dessas informações pelo serviço de Firebase. Basicamente ele busca a informação e atualiza complementando que está no método "updateAddress".

Etapa 4: Entendendo As Classes De Serviço "FirebaseBackgroundService"

A classe "FirebaseBackgroundService" é responsável pelo envio dos dados de endereço de pavimento irregular para o servidor Firebase da aplicação.

Após a sincronização das informações, os dados no banco de dados da aplicação é limpado para prover espaço de armazenamento ao aparelho Smartphone. O método "enviarPavimentoIrregular" é o principal responsável pela sincronização das informações necessárias. E para configurar o Firebase ao seu projeto em android, você deve seguir o tutorial em (Configurando Firebase para Android) para vincular sua base de informações com o seu banco no Firebase.

Passo 5: Atividade Entendendo "MapaActivity"

MapaActivity é a principal Activity do system, pois ela é responsavel pela exibição dos pavimentos irregulares encontrados nas cidades e suas informações é exibida por um mapa de calor, onde a maior ocorrência de pavimento irregular aparece em destaque de vermelho no mapa.

Etapa 6: Firebase

No arquivo "minhaviaiot-export.json" exportado do Firebase, segue um exemplo da estrutura dos dados armazenados pela aplicação, conforme detalhado abaixo:

Cada logradouro pode ter mais de um pavimento irregular. Cada Cidade pode ter mais de um logradouro com pavimento irregular. E assim por diante até chegar no país de origem do logradouro problemático.

Etapa 7: Conclusão Do Projeto Final

Em anexo a este instructables segue todo o projeto Android compactado. Com este projeto é possível ter uma visão dos conceitos de base aplicada em um problema que não tem em nenhum sistema de tempo real. Com este projeto é possível chegar na realidade de cada cidade e identificar onde deve ser aplicado os investimentos para um novo asfalto ou uma correção de curto prazo. Para quaisquer dúvidas e contato segue meu e-mail: [email protected]

Recomendado: