Table des matières:

Minha via IOT : 7 étapes
Minha via IOT : 7 étapes

Vidéo: Minha via IOT : 7 étapes

Vidéo: Minha via IOT : 7 étapes
Vidéo: Полный курс Redux Toolkit + RTK Query для начинающих | Редакс за 2 часа! 2024, Juillet
Anonim
Image
Image
Activité Entendendo
Activité Entendendo

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

Alunos: Gabriel André et Leandro Reis

Os pavimentos das principais rodovias federais, estaduais e das vias públicas das cidades possuem algum tipo de defeito, causados 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 presentação de um aplicativo para smartphone com sistema operacional Android que identifique as irregulieridades na pavimentação dos logradouros das cidades utilizando os sensores acelerômetro e o GPS. Os tipos de irregulieridade mais comum 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 necessários para entendimento da construção da aplicação.

Étape 1: Configuration d'AndroidManifest

Aucun arquivo AndroidManifest.xml é realizado comme configurações necessários de permission e funcionamento do aplicativo com os conceitos de computação ubíqua.

  1. PermissõesDetalhamos abaixo as permitões do aplicativo e os motivos do uso de cada configuração.

    • Permissão de LocalizaçãoPermissão do aplicativo para encontrar a 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 irregulieres:
    • Permissão de acesso a InternetPermissão para o aplicativo utilizar a internet com objetivo de sincronizar os dados com o servidor firebase, sendo ela:
  2. Serviços2.1) Serviço de Pavimento Irrégulier

    Na tag Service qui s'applique à une classe "PavimentoIrregularBackgroundService" tem como objetivo de captar informações dos pavimentos irregulieres e armazenar no banco de dados do aparelho smartphone para o aplicativo.

    2.2) Serviço de GeoLocalização Na tag service que aponta para a class "GeoBackgroundService" tem como objetivo de tratar as informações de pavimento irregulier e busca a sua localização de logradouro, bairro, cidade, unidade federativa para agrupar os dados de logradoumento de pavimento irrégulier uma cidade.

    2.3) Serviço de Sincronização de dados com Firebase Na tag service que aponta para a class "FirebaseBackgroundService" tem como objetivo de enviar as informações de pavimento irrégulier encontrado pelo aparelho de Smartphone, somando com as demais informaivoções encontradas por quemo peszcats o messcats.

  3. Configuration de l'API de MAPS

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

    A chave obtida deverá 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 as ações de inicialização e reinicialização do sistema para captar as informações de pavimento irregulier.4.1) Receiver de Pavimento Irregular

    Une classe "AlarmReceive" é chamada toda vez que há inicialização do sistema operacional android, conforme configuração da tag "". Após esta chamada, dentro da class há um agendador para a execução do service "PavimentoIrregularBackgroundService" que fica avaliando se há pavimento irrégulier.

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

    4.3) Receiver do Firebase Une classe "AlarmFirebaseReceive" et vous avez la possibilité d'initier le système d'exploitation Android, conforme à la configuration de la balise "". Após esta chamada, dentro da class há um agendador para a execução do service "FirebaseBackgroundService" que fica avaliando se há registros com todos os dados de logradouro disponivel para envio ao server firebase.

Étape 2: Entendendo As Classes De Serviço "PavimentoIrregularBackgroundService"

Une classe "PavimentoIrregularBackgroundService" é utizada para capturar informações dos sensores acelerômetro e GPS. Com base nas informações obtidas ele tem um algoritmo especifico no método "onLocationChanged" que avalia se o pavimento é irrégulier, aucun qual é inserido em uma tabela de banco de dados da própria aplicação. Une classe possui algumas tratativas especificas 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 prevê que o encerramento da aplicação, pausa da aplicação, etc.

Étape 3: Entendendo As Classes De Serviço "GeoBackgroundService"

Une classe "GeoBackgroundService" é responsável por buscar pavimentação irrégulier e complémentar comme informações de endereço da latitude e longitude encontrados 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".

Étape 4: Entendendo As Classes De Serviço "FirebaseBackgroundService"

Une classe "FirebaseBackgroundService" é responsável pelo o envio dos dados de endereço de pavimento irregulier 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 prouver espaço de armazenamento ao aparelho Smartphone. O método "enviarPavimentoIrregular" é o principal responsável pela sincronização das informações necessárias. E pour la configuration de Firebase sur votre projet sur Android, vous pouvez suivre un tutoriel ou sur un didacticiel (Configurando Firebase pour Android) pour une base d'informations sur Firebase.

Étape 5: Activité Entendendo "MapaActivity"

MapaActivity é a principal Activity do sistema, pois ela é responsavel pela exibição dos pavimentos irregulieres encontrados nas cidades e sua informações é exibida por um mapa de calor, onde a maior ocorrência de pavimento irrégulier aparece em desta de vermelho no mapa.

Étape 6: Firebase

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

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

{ "minhaviaiot": { "pais": { "BR": { "uf": { "Minas Gerais": { "cidade": { "Belo Horizonte": { "logradouro": { "Acesso Praça Paulo Gustavo do Vale ": { "LTE5Ljg1OTg3MDA2LTQzLjk5Mzc3MDI4": { "cidade": "Belo Horizonte", "idFirebase": "LTE5Ljg1OTg3MDA2LTQzLjk5Mzc3MDI4", "latitude": "-19.85987006", "Longitude do Gustavo" Paulo":: "-43.99377028", "pais": "BR", "uf": "Minas Gerais" }, "LTE5Ljg1OTgwMDQ4LTQzLjk5MzM2MDg1": { "cidade": "Belo Horizonte", "idFirebase": "LTE5Ljg1OTgwMDQ4LTQzL2jk5M": " "-19.85980048", "logradouro": "Acesso Praça Paulo Gustavo do Vale", "longitude": "-43.99336085", "pais": "BR", "uf": "Minas Gerais" }, "LTE5Ljg1OTgzNzMxLTQzLjk5MzYxMzE4": { "cidade": "Belo Horizonte", "idFirebase": "LTE5Ljg1OTgzNzMxLTQzLjk5MzYxMzE4", "latitude": "-19.85983731", "logradouro": "Acesso Praça Paulo Gustavo do Vale", "longitude": "-43.99361318", "pais ": "BR", "uf": "Minas Gerais" } }, "Avenida Afonso Pena": { "LTE5LjkzODk3NTI5LTQzLjkyNjQ0MzI5 ": { "cidade": "Belo Horizonte", "idFirebase": "LTE5LjkzODk3NTI5LTQzLjkyNjQ0MzI5", "latitude": "-19.93897529", "logradouro": "Avenida Afonso Pena", "longitude": "-43.92644329", "pais ": "BR", "uf": "Minas Gerais" }, "LTE5LjkzODkyOTY1LTQzLjkyNjM2MDk=": { "cidade": "Belo Horizonte", "idFirebase": "LTE5LjkzODkyOTY1LTQzLjkyNjM2MDk=", "932965": "", -19 logradouro": "Avenida Afonso Pena", "longitude": "-43.9263609", "pais": "BR", "uf": "Minas Gerais" } } } } } } } } } } }

Étape 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 computação ubíqua aplicado 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 deverá ser aplicado os investimentos para um novo asfalto ou uma correção de curto prazo.

Conseillé: