Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📶 Network Analyzer

Python Streamlit ADB Network Analysis Excel

An interactive Streamlit tool for measuring mobile network signal strength and internet performance across multiple floors and locations.

OverviewFeaturesWorkflowTech StackGetting StartedOutput


✨ Overview

Network Analyzer is a Streamlit-based application for collecting and analyzing mobile network performance data from Android devices.

The application communicates with Android devices through Android Debug Bridge (ADB), runs signal and internet-speed tests at different floors and locations, stores the collected readings in Excel, and presents the results through interactive visualizations.

The current workflow supports:

  • 📶 Mobile signal-strength measurement
  • ⚡ Download and upload speed testing
  • 📍 Location / floor-based testing
  • 📊 Interactive result visualization
  • 📁 Excel-based result storage and export

🚀 Features

Feature Description
📡 Android Connectivity Connect to Android devices through ADB
📶 Signal Measurement Capture 4G/5G signal strength in dBm
Speed Testing Measure download and upload speeds
🏢 Location-Based Testing Run tests across different floors and locations
📊 Interactive Dashboard Visualize signal and speed trends
📁 Excel Export Store readings for later analysis

🔄 Workflow

        Android Device
              │
              ▼
        ┌───────────┐
        │    ADB    │
        └─────┬─────┘
              │
              ▼
     ┌───────────────────┐
     │ Collect Network   │
     │ Measurements      │
     └─────────┬─────────┘
               │
       ┌───────┴────────┐
       ▼                ▼
┌──────────────┐  ┌──────────────┐
│ Signal (dBm) │  │ Speed Tests  │
│ 4G / 5G      │  │ Down / Up    │
└───────┬──────┘  └───────┬──────┘
        │                 │
        └────────┬────────┘
                 ▼
       ┌───────────────────┐
       │ Store Measurements│
       │      in Excel     │
       └─────────┬─────────┘
                 │
                 ▼
       ┌───────────────────┐
       │ Streamlit Charts  │
       │ & Comparisons     │
       └───────────────────┘

📡 What It Measures

📶 Signal Strength

The application records mobile signal strength in dBm, allowing measurements to be compared between different testing locations and floors.

⚡ Internet Performance

The application runs speed tests to capture:

  • ⬇️ Download speed
  • ⬆️ Upload speed

🏢 Floor & Location Analysis

Measurements can be collected at different locations and floors, enabling comparisons of network performance across the tested environment.


📊 Dashboard & Analysis

The application provides visual analysis such as:

  • 📈 Average signal strength per floor
  • ⚡ Internet-speed trends
  • 🏢 Floor-wise comparisons
  • 📊 Detailed network-reading analysis

Collected results can also be exported to Excel for additional analysis outside the application.


🛠️ Tech Stack

Python Streamlit ADB Speedtest Pandas OpenPyXL Matplotlib Seaborn


📁 Repository Structure

network-analyzer/
│
├── 📂 app/
│   └── 📄 adb.exe
│
├── 📂 images/
│   └── 🖼️ 13.jpg
│
├── 📄 analyzer_program.py
├── 📄 requirements.txt
└── 📄 README.md

The repository currently includes an app directory, an images directory, the main analyzer_program.py script, and a requirements.txt file.


⚙️ Getting Started

1️⃣ Clone the Repository

git clone https://github.com/Divakar1326/network-analyzer.git
cd network-analyzer

2️⃣ Install Dependencies

pip install -r requirements.txt

3️⃣ Prepare Android ADB

Make sure the Android device is available through ADB.

The existing project documentation indicates that an ADB executable is kept under:

app/adb.exe

If your local environment uses a different ADB installation path, update the project configuration accordingly.

4️⃣ Run the Streamlit Application

streamlit run analyzer_program.py

5️⃣ Connect the Device

Connect the Android device through the supported ADB workflow and begin collecting network readings.


📁 Output

Collected measurements are stored for analysis in Excel.

The project documentation identifies the generated output as:

Data/network_readings.xlsx

The Streamlit dashboard can then be used to inspect:

  • 📶 Signal-strength patterns
  • ⚡ Internet-speed trends
  • 🏢 Floor-wise comparisons
  • 📊 Detailed collected readings

💡 Why This Project Is Interesting

This project combines software development, Android device communication, data collection, and visualization into one practical workflow.

Instead of analyzing an existing dataset only, it provides a mechanism for collecting network-performance measurements from a physical device and turning those measurements into structured analytical data.


🧠 Skills Demonstrated

  • 🐍 Python application development
  • 🖥️ Streamlit dashboard development
  • 📱 Android / ADB integration
  • 📡 Network-performance measurement
  • 📊 Data collection and analysis
  • 📁 Excel data handling
  • 📈 Data visualization
  • 🔄 Automation of repeated network tests

🔮 Future Improvements

Potential extensions include:

  • 📍 Add GPS-based location tagging
  • 📡 Support richer cellular-network metadata
  • 📊 Add operator/carrier comparison
  • 📈 Add historical trend dashboards
  • 🌐 Deploy the dashboard for remote access
  • 🗃️ Move persistent storage from Excel to a database
  • 🧪 Add automated data-validation checks
  • 📱 Support multiple Android devices in the same test session

⚠️ Notes

  • Ensure the Android device has the required ADB access enabled.
  • Network-speed measurements can vary based on local network conditions.
  • Signal measurements depend on the device, carrier, environment, and testing location.
  • Treat the collected values as measurements from the tested environment rather than universal network benchmarks.

👨‍💻 Author

Divakar M

B.Tech CSE — Artificial Intelligence & Data Science

AI/ML • Python • Data Science • Automation

GitHub


⭐ If you find this project useful, consider starring the repository.

Measure • Analyze • Visualize 📶

About

Streamlit network-analysis tool that uses Android ADB to measure mobile signal strength and internet speed across floors and locations, with Excel export and interactive visualizations.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages