An interactive Streamlit tool for measuring mobile network signal strength and internet performance across multiple floors and locations.
Overview • Features • Workflow • Tech Stack • Getting Started • Output
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
| 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 |
Android Device
│
▼
┌───────────┐
│ ADB │
└─────┬─────┘
│
▼
┌───────────────────┐
│ Collect Network │
│ Measurements │
└─────────┬─────────┘
│
┌───────┴────────┐
▼ ▼
┌──────────────┐ ┌──────────────┐
│ Signal (dBm) │ │ Speed Tests │
│ 4G / 5G │ │ Down / Up │
└───────┬──────┘ └───────┬──────┘
│ │
└────────┬────────┘
▼
┌───────────────────┐
│ Store Measurements│
│ in Excel │
└─────────┬─────────┘
│
▼
┌───────────────────┐
│ Streamlit Charts │
│ & Comparisons │
└───────────────────┘
The application records mobile signal strength in dBm, allowing measurements to be compared between different testing locations and floors.
The application runs speed tests to capture:
- ⬇️ Download speed
- ⬆️ Upload speed
Measurements can be collected at different locations and floors, enabling comparisons of network performance across the tested environment.
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.
network-analyzer/
│
├── 📂 app/
│ └── 📄 adb.exe
│
├── 📂 images/
│ └── 🖼️ 13.jpg
│
├── 📄 analyzer_program.py
├── 📄 requirements.txt
└── 📄 README.md
The repository currently includes an
appdirectory, animagesdirectory, the mainanalyzer_program.pyscript, and arequirements.txtfile.
git clone https://github.com/Divakar1326/network-analyzer.git
cd network-analyzerpip install -r requirements.txtMake 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.
streamlit run analyzer_program.pyConnect the Android device through the supported ADB workflow and begin collecting network readings.
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
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.
- 🐍 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
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
- 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.
B.Tech CSE — Artificial Intelligence & Data Science
AI/ML • Python • Data Science • Automation
⭐ If you find this project useful, consider starring the repository.
Measure • Analyze • Visualize 📶