Davirf (discussão | contribs)
Davirf (discussão | contribs)
Linha 127: Linha 127:
   <li><strong>React Native CLI:</strong> Estudar como um projeto React Native é estruturado com CLI, integração com nativos Android via módulos Java/Kotlin, e como usar Metro Bundler (<code>npx react-native start</code>) para build, reload e debugging.</li>
   <li><strong>React Native CLI:</strong> Estudar como um projeto React Native é estruturado com CLI, integração com nativos Android via módulos Java/Kotlin, e como usar Metro Bundler (<code>npx react-native start</code>) para build, reload e debugging.</li>
   <li><strong>Permissões Android:</strong> Analisar o uso e contexto de permissões como <code>ACCESS_FINE_LOCATION</code>, <code>READ_PHONE_STATE</code>, <code>ACCESS_BACKGROUND_LOCATION</code>, etc., especialmente para captação contínua em background.</li>
   <li><strong>Permissões Android:</strong> Analisar o uso e contexto de permissões como <code>ACCESS_FINE_LOCATION</code>, <code>READ_PHONE_STATE</code>, <code>ACCESS_BACKGROUND_LOCATION</code>, etc., especialmente para captação contínua em background.</li>
 
<li>MCC: Mobile Country Code (no nosso caso, Brasil, vai ser sempre 724)</li>
<li>MNC: Mobile Network Code (a Algar tem 3 MNCs, dependendo do Estado)</li>
<li>TAC: Tracking Area Code (são vários, definidos pela própria engenharia da Algar)</li>
<li>CI: Cell Id (são vários, definidos pela própria engenharia da Algar)</li>
</ul>
</ul>



Edição das 19h01min de 31 de julho de 2025

Fase I - Estudo


Título da Ideia

Aplicação de machine Learning sobre dados de cobertura


Objetivos

O objetivo desta iniciativa é desenvolver uma solução inteligente e integrada para monitoramento da qualidade da rede móvel diretamente no aplicativo Algar Varejo, com foco em duas frentes principais:

Captação automatizada de dados da rede móvel (como intensidade de sinal, ruído e identificadores da célula) de forma contínua ou periódica, mesmo com o app em segundo plano. Isso permitirá construir uma base de dados rica, georreferenciada e atualizada em tempo real sobre a performance da rede LTE/5G.

Construção de um modelo preditivo capaz de estimar, com base em dados históricos e geográficos, o comportamento da rede móvel — como queda de qualidade, possíveis zonas de sombra ou instabilidade. Esse modelo servirá como base para decisões de melhoria da infraestrutura ou personalização da experiência do usuário final.


Conceito


A pesquisa propõe um sistema inteligente para monitoramento e previsão da qualidade da rede móvel, integrando coleta de dados via aplicativo e modelagem matemática avançada. A solução combina:

Captação contínua de dados LTE (RSRP, RSRQ, SINR, CGI e localização) diretamente no app Algar Varejo, rodando em segundo plano em dispositivos reais.

Processamento dos dados coletados com base na metodologia da tese "A Method for Cellular Coverage Modeling in the Presence of Anomalies Using Neural Networks and Gaussian Processes", que une:

Processos Gaussianos, para modelar a cobertura com suavidade e tratar incertezas;

Redes Neurais Artificiais, para identificar padrões complexos e anomalias na rede.

Essa combinação permite gerar mapas de cobertura mais precisos, prever falhas de conectividade e fornecer insights técnicos para melhoria da infraestrutura de rede da operadora.


Características 

Fase 1: Captação Automatizada de Dados da Rede

O objetivo desta fase é desenvolver um protótipo utilizando React Native CLI com um módulo nativo em Kotlin, capaz de realizar a coleta periódica de informações da rede móvel diretamente dos dispositivos Android, mesmo quando o aplicativo estiver em segundo plano. Essa coleta será feita de forma eficiente, com foco em baixo consumo de bateria e resiliência a reinicializações do dispositivo.

Utilizando a API android.telephony, é possível obter dados como RSRP (Reference Signal Received Power), RSRQ (Reference Signal Received Quality), Cell ID, localização geográfica (latitude e longitude), data e hora da coleta e o tipo de tecnologia de rede (LTE, 5G, etc.). A cada 15 minutos, uma tarefa de background — implementada com androidx.work.WorkManager — será executada, coletando essas informações e salvando em um arquivo CSV local no dispositivo.

Quando esse arquivo atingir 100 linhas, ele será automaticamente exportado para uma instância EC2 da AWS com IP fixo. Para garantir que essa exportação não consuma dados da franquia do usuário, será aplicada uma regra de APN que direciona todo o tráfego da aplicação apenas para esse IP fixo. Essa regra depende da estabilidade do IP, o que torna sua fixação um requisito essencial.

As permissões necessárias para essa fase incluem acesso à internet, localização (precisa e em segundo plano), estado do telefone e escrita no armazenamento externo, conforme listadas abaixo:

<code><uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
    android:maxSdkVersion="28"/>
</code>

Fase 2: Construção do Modelo Preditivo

Esta fase consiste na criação de um modelo de predição baseado nos dados coletados pela fase anterior. A metodologia adotada será a proposta na tese "A Method for Cellular Coverage Modeling in the Presence of Anomalies Using Neural Networks and Gaussian Processes". Esse modelo será capaz de estimar a qualidade da rede com base em informações históricas e georreferenciadas.

A abordagem combina duas técnicas: Processos Gaussianos, que são usados para suavizar e modelar incertezas na cobertura da rede, e Redes Neurais Artificiais, que identificam padrões não lineares e anomalias complexas. Juntas, essas técnicas permitirão construir mapas de cobertura mais precisos, prever falhas e zonas de sombra, além de gerar insights para melhorias de infraestrutura e personalização da experiência do usuário.

O escopo inicial da modelagem contempla toda a área urbana de Uberlândia, utilizando os dados captados em campo, com a intenção de escalar posteriormente para outras localidades.

ℹ️ Informações Técnicas e Funcionais do App Algar Varejo

🛠️ Ambiente de Desenvolvimento

O aplicativo Algar Varejo é desenvolvido com React Native, utilizando a CLI oficial da comunidade. O ambiente de desenvolvimento está configurado com as seguintes versões e ferramentas:

  • React Native: 0.76.9
  • React: 18.3.1
  • @react-native-community/cli: 15.0.1
  • Node.js: 22.15.0
  • npm: 10.9.2
  • Yarn: 1.22.22
  • Watchman: 2025.03.10.00
  • Java: 21.0.6
  • CocoaPods: 1.16.2

Xcode: versão 16.4 (16F6), com os seguintes SDKs instalados:

  • iOS 18.5
  • macOS 15.5
  • tvOS 18.5
  • watchOS 11.5
  • visionOS 2.5
  • DriverKit 24.5

Android Studio: versão 2024.3 (AI-243.24978.46.2431.13208083)

Android SDK: não detectado localmente (requer instalação/configuração)

Hermes ativado para Android e iOS: hermesEnabled: true

Nova arquitetura React Native desativada: newArchEnabled: false


📱 Funcionalidades do Aplicativo Algar Varejo

O app Algar Varejo fornece uma plataforma completa para os clientes gerenciarem seus serviços da Algar Telecom, oferecendo funcionalidades como:

  • Emissão de segunda via de fatura
  • Visualização de detalhamento de consumo
  • Solicitação e agendamento de reparos de banda larga
  • Acesso ao suporte técnico
  • Ativação do débito automático
  • Atualização de cadastro e alteração de senha
  • Envio da fatura por e-mail
  • Acompanhamento de solicitações em aberto

O aplicativo foi desenvolvido com foco em usabilidade, desempenho e integração futura com o sistema inteligente de monitoramento da rede móvel descrito na Fase 1 do projeto técnico.

Estudo Dirigido

Fase 1: Coleta Inteligente de Dados via App

A Fase 1 do projeto consiste no desenvolvimento de uma rotina automatizada e resiliente de coleta de dados de rede móvel (RSRP, RSRQ, Cell ID, tecnologia e localização) executada periodicamente em segundo plano no Android.

O estudo dirigido para essa etapa exige domínio dos seguintes tópicos:

  • Android e Telephony API: Estudar a classe android.telephony.TelephonyManager e suas subclasses como CellInfoLte, CellSignalStrengthLte, CellInfoNr e CellIdentityNr, que são responsáveis por fornecer os dados da rede LTE e 5G.
  • Location Services: Conhecer o uso do FusedLocationProviderClient para obter a geolocalização do dispositivo de forma eficiente.
  • Trabalhando com Workers: Estudar o androidx.work.WorkManager, sua função em tarefas agendadas com restrições (por exemplo, rede disponível), e sua resiliência em segundo plano, mesmo após reboot.
  • Kotlin: Entendimento básico da linguagem Kotlin é essencial para navegar, modificar e debugar o arquivo NetworkMonitoringWorker.kt.
  • Manipulação de Arquivos: Como criar e manipular arquivos CSV no Android com File do Java, contando linhas e controlando fluxo de exportação.
  • HTTP com OkHttp: Entender como enviar dados usando requisições POST com OkHttpClient, incluindo headers e body no formato text/csv.
  • APN:Ponto de acesso, é um parâmetro do celular, usado direcionar o caminho quando for usar dados móveis. É possível adicionar regras e restringir acesso
  • React Native CLI: Estudar como um projeto React Native é estruturado com CLI, integração com nativos Android via módulos Java/Kotlin, e como usar Metro Bundler (npx react-native start) para build, reload e debugging.
  • Permissões Android: Analisar o uso e contexto de permissões como ACCESS_FINE_LOCATION, READ_PHONE_STATE, ACCESS_BACKGROUND_LOCATION, etc., especialmente para captação contínua em background.
  • MCC: Mobile Country Code (no nosso caso, Brasil, vai ser sempre 724)
  • MNC: Mobile Network Code (a Algar tem 3 MNCs, dependendo do Estado)
  • TAC: Tracking Area Code (são vários, definidos pela própria engenharia da Algar)
  • CI: Cell Id (são vários, definidos pela própria engenharia da Algar)

Outros conceitos úteis incluem: arquitetura de diretórios no Android nativo, logs com Log.d e tratamento de exceções assíncronas com Tasks.await().


Fase 2: Modelagem Preditiva de Qualidade de Rede

A Fase 2 tem como foco a construção de um modelo matemático e estatístico que, com base nos dados captados, consiga prever zonas de sombra, quedas de qualidade e tendências de cobertura em tempo real.

O estudo necessário para esta etapa está centrado em conceitos de Machine Learning e modelagem estatística:

  • Tese base: Estudar detalhadamente a tese "A Method for Cellular Coverage Modeling in the Presence of Anomalies Using Neural Networks and Gaussian Processes". Entender a motivação, a estrutura da solução, os dados utilizados e os resultados obtidos.
  • Processos Gaussianos (GPs): Estudar o conceito de GPs como modelos probabilísticos não-paramétricos utilizados para prever distribuições contínuas com incerteza. Abordar tópicos como kernel functions, prior/posterior, GP regression e suas limitações.
  • Redes Neurais Artificiais: Compreender os fundamentos de redes neurais, incluindo forward pass, backpropagation, função de ativação, loss functions, overfitting e regularização.
  • Treinamento supervisionado: Estudar os conceitos de dados rotulados, conjuntos de treino/teste, validação cruzada e avaliação com métricas como MAE, RMSE, etc.
  • Frameworks de ML: Ter familiaridade com ferramentas como TensorFlow, PyTorch ou scikit-learn para treinar modelos baseados nos dados exportados do app.
  • Pré-processamento de dados: Entender como limpar, normalizar e preparar os dados para entrada em modelos, considerando outliers, valores nulos e balanceamento.
  • Georreferenciamento e visualização: Explorar bibliotecas como GeoPandas, Folium ou QGIS para gerar mapas de cobertura e representar os dados spatialmente.

Ao dominar esses conteúdos, será possível treinar e validar modelos preditivos de qualidade de rede, contribuindo diretamente para decisões estratégicas de infraestrutura e otimização da experiência do usuário da operadora.

Fase II - Ensino


Conteúdo

Drive_test_virtual.pdf


Apresentação

https://www.canva.com/design/DAGtcf5UNaE/mc0ncRY97BBfIrej5DzTpQ/edit?utm_content=DAGtcf5UNaE&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton


Metodologia


A metodologia adotada neste projeto seguiu uma abordagem iterativa, prática e orientada à entrega de valor, com foco no desenvolvimento do protótipo do aplicativo e posterior viabilidade da modelagem de cobertura. As principais etapas foram:



Estudos iniciais e definição de escopo
- Análise da tese do Daniel e tratamento preliminar de uma base de dados já coletada.
- Definição, após aceite do projeto, de que o foco inicial seria a entrega de um protótipo funcional de aplicativo.


Desenvolvimento técnico e validação de tecnologias
- Criação de um app de testes em React Native CLI, na mesma versão do app oficial da Algar Varejo.
- Investigação de como o sistema Android armazena dados de handover e descoberta da API nativa TelephonyManager.
- Estudo e solicitação das permissões necessárias para acessar dados como RSRP, RSRQ, SINR e Cell ID.
- Implementação de um módulo nativo para extração dessas informações. A coleta de SINR foi pausada por orientação técnica.
- Integração de localização (latitude/longitude) e tratamento de permissões.
- Exibição dos dados coletados em tela, seguido de tentativa de salvamento local via react-native-fs.


Execução em segundo plano e otimização energética
- Avaliação de soluções JavaScript para tarefas em background e decisão por uso do WorkManager nativo (Kotlin) para garantir persistência entre reinicializações.
- Implementação da coleta automática e salvamento periódico (a cada 15 minutos), com impacto mínimo na bateria.


Transmissão e economia de dados
- Planejamento da exportação dos dados coletados para um bucket S3.
- Estudo da possibilidade de isenção de cobrança de dados via configuração da APN, utilizando uma instância EC2 com IP fixo como destino de envio.
- Desenvolvimento e testes dessa configuração, com planos de apresentação aos responsáveis pelo app Algar.


Prototipagem da modelagem e futuras extensões
- Planejamento da modelagem da cobertura usando processos gaussianos e redes neurais com base nos dados coletados.
- Projeção de ganhos operacionais e validação dos resultados.
- Exploração de formas eficientes de coleta de throughput e testes de velocidade (speedtest) sem comprometer consumo de dados e energia, como:
    - Uso de dados passivos já coletados pelo sistema;
    - Testes curtos e agendados (ex: durante a madrugada e com o celular carregando);
    - Lista de IPs pré-definidos para testes que não gerem cobrança.


Práticas adotadas
- Foco na não interferência na experiência do usuário.
- Priorização do desenvolvimento interno e open-source.
- Adoção de soluções nativas de baixo consumo energético.
- Estudos técnicos contínuos com direcionamento de especialistas.

Hipóteses


As hipóteses a serem testadas neste trabalho são:

  • É possível coletar dados da rede móvel por meio do aplicativo da Algar sem comprometer a experiência do usuário.
  • É viável obter um grande volume de dados, distribuídos de forma representativa por toda a cidade de Uberlândia.
  • Com esses dados, é possível modelar a cobertura da rede móvel utilizando processos gaussianos e redes neurais.

Fase III - Exemplo de Caso de Negócio


Product Backlog


Descreva os requisitos deste projeto


Benefícios para quem for oferecer esta solução

    Descrever em tópicos os benefícios que uma pessoa ou uma empresa podem obter: ganhos, receitas, novos negócios, novos produtos, novas parcerias



Benefícios para o usuário

    Descrever em tópicos os benefícios para os usuários desta solução.
    Pode se inspirar no Canva.


Direcionadores chave para esta iniciativa

    Descrever em tópicos o que esta iniciativa pode proporcionar



Possíveis modelos de negócios

    Descrever em tópicos os possíveis modelos de negócios


Pesquisa de Mercado e Análise de Tendências

 Coletar dados relevantes sobre o mercado, como tamanho, crescimento, concorrência e comportamento do consumidor. Identificar tendências tecnológicas, comportamentais ou regulatórias que possam impactar o projeto. 


Análise de Concorrentes e Soluções Existentes

 Pesquisar e analisar soluções concorrentes ou similares no mercado. Entender como os concorrentes monetizam suas soluções e identificar oportunidades de diferenciação.


Público - Alvo

  Identificar os principais segmentos de clientes (B2B, B2C, etc.). Descrever as características demográficas, comportamentais e 

necessidades do público-alvo.


Cenários e Oportunidades

  Avaliar a possibilidade de contratar fornecedores externos para acelerar o desenvolvimento. Considerar o desenvolvimento interno da solução, se for viável. Explorar parcerias estratégicas com outras empresas ou investidores.


Premissas Financeiras

  Listar os principais custos envolvidos no desenvolvimento e operação da solução. Estimar a receita esperada com base em projeções de mercado. Considerar reajustes anuais de preços ou custos. 


Riscos do Projeto

  Identificar os principais riscos do projeto (tecnológicos, financeiros, de mercado, etc.). Propor estratégias para mitigar os riscos identificados.


Business Case

    Descrever um exemplo de negócio que permita avaliar a solução comercialmente
    Template Business Case


Alinhamento com Lei do Bem


  • Projeto possui algum elemento tecnologicamente novo ou inovador?
Elemento tecnologicamente novo ou inovador pode ser entendimento como o avanço tecnológico pretendido pelo projeto, ou a hipótese que está sendo testada


  • Projeto possui barreira ou desafio tecnológico superável?
Barreira ou desafio tecnológico superável pode ser entendido como aquilo que dificulta o atingimento do avanço tecnológico pretendido, ou dificulta a comprovação da hipótese


  • Projeto utiliza metodologia/método para superação da barreira ou desafio tecnológico?
Metodologia/método para superação da barreira ou desafio tecnológico pode ser entendido como aqueles atividades que foram realizadas para superação da barreira ou do desafio tecnológico existente no projeto


  • Projeto é desenvolvido em parceira com alguma instituição acadêmica, ICT ou startup?
Se sim, o desenvolvimento tecnológico é executado por associado ou por alguma empresa terceira? qual o nome da empresa? 
Anexar cópia do contrato


Fase IV - Protótipo orientado ao Negócio


Escopo


Explique o escopo deste protótipo


Limitações


Informe sobre as limitações técnicas, comerciais, operacionais, recursos, etc.


PoC


Desenvolva um PoC (Proof of Concept)


Privacidade (LGPD)


  • Avaliar condições referentes à Lei Geral de Proteção de Dados


Detalhamento Técnico


Descreva especificamente os aspectos técnicos desta pesquisa





Cronograma Macro


  • Desenvolver aplicativo que rode em background


Pesquisadores


  • Davi Rocha Faria
  • Daniel Ricardo