https://github.com/bhuvanchandra/espnow_mac_drop_analysis
Interactive Dash-based tool to visualize packet drop probabilities in ESP-NOW networks using Bianchi and Aloha models with RF BER impact.
https://github.com/bhuvanchandra/espnow_mac_drop_analysis
aloha ber binachi dcf esp espnow mac wifi
Last synced: about 1 year ago
JSON representation
Interactive Dash-based tool to visualize packet drop probabilities in ESP-NOW networks using Bianchi and Aloha models with RF BER impact.
- Host: GitHub
- URL: https://github.com/bhuvanchandra/espnow_mac_drop_analysis
- Owner: bhuvanchandra
- Created: 2025-04-14T08:04:10.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-04-14T08:05:55.000Z (about 1 year ago)
- Last Synced: 2025-04-14T14:16:54.097Z (about 1 year ago)
- Topics: aloha, ber, binachi, dcf, esp, espnow, mac, wifi
- Language: Python
- Homepage:
- Size: 146 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
ESP-NOW MAC Drop Analysis Dashboard
===================================
This interactive web application models MAC-level packet drop probability for wireless communication using ESP-NOW over IEEE 802.11. It includes models for both saturated and unsaturated traffic conditions using the Bianchi model and Aloha approximation, with RF-level bit error probability factored in.
Features
--------
- Selectable Traffic Models:
- Saturated (Bianchi)
- Unsaturated (Bianchi)
- Unsaturated (Aloha)
- Adjustable parameters:
- Bitrate (1 to 54 Mbps)
- Payload size (1 to 250 bytes)
- Publish frequency (Hz) — disabled for saturated model
- RF Bit Error Rate (BER)
- Real-time interactive graph of overall drop percentage vs. number of devices.
- Mathematical formula summary displayed for educational/reference use.
Models Implemented
------------------
1. Saturated Bianchi:
Solves the classic Bianchi model with collision probabilities and contention backoff.
2. Unsaturated Bianchi:
Extends the model by incorporating an activity factor based on publish rate.
3. Unsaturated Aloha:
Simplified model using exponential approximation:
P_success = exp(-2G)
where G = n × pub_freq × T_packet
4. RF Success Probability:
P_success_RF = (1 - BER)^(payload × 8)
5. Overall Drop:
Drop(%) = 100 × [1 - (P_success_MAC × P_success_RF)]
Run Locally
-----------
Prerequisites:
- Python 3.7+
- Dash, Plotly, NumPy, SciPy
Install dependencies:
pip install dash plotly numpy scipy
Run the App:
python app.py
Visit http://127.0.0.1:8050 in your browser.
File Structure
--------------
.
├── app.py # Main Dash app
└── readme.txt # This file
Use Case
--------
Useful for analyzing:
- ESP-NOW based P2P communication systems
- MAC-level scalability for IoT/robotics devices
- Impact of RF BER and payload size on drop rates
License
-------
MIT License – Use freely with attribution.
Preview
-------
