Table des matières:
- Étape 1: Configuration d'AndroidManifest
- Étape 2: Entendendo As Classes De Serviço "PavimentoIrregularBackgroundService"
- Étape 3: Entendendo As Classes De Serviço "GeoBackgroundService"
- Étape 4: Entendendo As Classes De Serviço "FirebaseBackgroundService"
- Étape 5: Activité Entendendo "MapaActivity"
- Étape 6: Firebase
- Étape 7: Conclusão Do Projeto Final
Vidéo: Minha via IOT : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
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.
-
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:
-
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.
-
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:
-
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é:
Série IoT ESP8266 : 2- Surveiller les données via ThingSpeak.com : 5 étapes
Série IoT ESP8266 : 2- Surveiller les données via ThingSpeak.com : il s'agit de la deuxième partie de la série IoT ESP8266. Pour voir la partie 1, reportez-vous à cette série instructable IoT ESP8266 : 1 Connectez-vous au routeur WIFI
IoTyper - Contrôlez votre PC via Alexa (IoT) : 5 étapes (avec photos)
IoTyper - Contrôlez votre PC via Alexa (IoT) : n'avez-vous jamais pensé à contrôler votre PC avec l'IoT ? Notre monde devient de plus en plus intelligent de jour en jour et aujourd'hui, nous transformons notre PC en un PC encore plus intelligent qu'il ne l'est déjà. Commençons!IoTyper est basé sur deux microcontrôleurs de base : L'ATMega 32U4 qui ca
ESP8266 NODEMCU BLYNK IOT Tutoriel - Esp8266 IOT utilisant Blunk et Arduino IDE - Contrôler les LED via Internet : 6 étapes
ESP8266 NODEMCU BLYNK IOT Tutoriel | Esp8266 IOT utilisant Blunk et Arduino IDE | Contrôle des LED sur Internet : Salut les gars dans ce instructables, nous allons apprendre à utiliser IOT avec notre ESP8266 ou Nodemcu. Nous utiliserons l'application blynk pour cela. Nous utiliserons donc notre esp8266/nodemcu pour contrôler les LED via Internet. L'application Blynk sera donc connectée à notre esp8266 ou Nodemcu
IOT : ESP 8266 Nodemcu contrôlant la bande LED Neopixel Ws2812 via Internet à l'aide de l'application BLYNK : 5 étapes
IOT : ESP 8266 Nodemcu contrôlant la bande LED Neopixel Ws2812 sur Internet à l'aide de l'application BLYNK : Bonjour les gars, dans ces instructions, j'ai créé une lumière à l'aide d'une bande LED néopixel qui peut être contrôlée sur Internet depuis le monde entier à l'aide de l'application BLYNK et nodemcu est travaillant comme le cerveau de ce projet, alors faites votre lumière ambiante pour vous
Contrôlez les appareils sur Internet via le navigateur. (IoT) : 6 étapes
Contrôlez les appareils sur Internet via le navigateur. (IoT) : dans ce Instructable, je vais vous montrer comment vous pouvez contrôler des appareils tels que des LED, des relais, des moteurs, etc. sur Internet via un navigateur Web. Et vous pouvez accéder aux commandes en toute sécurité sur n'importe quel appareil. La plate-forme Web que j'ai utilisée ici est la visite RemoteMe.org