Open
Conversation
- Introduced separate style classes for devices, scan points, location pins, grids, heatmaps, paths, signals, and buttons. - Removed the previous WiFiHeatmapTheme class and replaced it with individual style classes for better modularity and customization.
…ntegration - Introduced Checkpoint model to track grid positions and timestamps. - Added signalValues parameter to WiFiHeatmapWidget for external signal data.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WiFiHeatmap Widget Documentation
Overview
The WiFiHeatmap widget is a Flutter-based visualization tool that allows you to create WiFi signal strength heatmaps by walking through a space and recording signal measurements at different locations. It overlays a color-coded heatmap on your floor plan image, showing areas of strong and weak WiFi coverage.
What It Does
The WiFiHeatmap widget helps you:
How It Works
Setup Mode
Scanning Mode
Signal Strength Colors
Basic Usage
Minimal Setup (Just Get Started)
Real-time Signal Monitoring with API Integration
This example demonstrates how to continuously collect WiFi signal strength data from an API and integrate it with the heatmap:
How Signal Values Work
The widget now supports real-time signal value collection with timestamps:
Signal Value Format: Each signal value is an object with:
Continuous Collection: Signal values are collected continuously while scanning, not just at checkpoints
Smart Distribution: When you add a checkpoint:
Checkpoint Timing:
onFirstCheckpointeventFull Customization Example
Properties Reference
Core Properties
floorPlangridSizesignalValuesSignal Values Format
Note: The widget automatically handles conversion if you pass just dBm values without timestamps - it will assign current timestamps. However, for accurate path-based heatmap generation, always provide timestamps.
Style Properties
Device Styles
Signal Styles
Heatmap Styles
Grid Styles
Scan Point Styles
Location Pin Styles
Path Styles
Button Styles
Icon Customization
You can customize icons for modem, router, and location pin:
Event Handlers
onMessageonFirstCheckpointonAllGridsFilledgetSignalStrengthsignalValuesproperty insteadImplementation Details
Signal Value Processing Flow
Collection Phase:
Checkpoint Addition:
Path Segment Processing:
Heatmap Update:
Grid Cell Protection
The widget implements smart grid cell management:
Performance Optimization
Grid Size Impact:
Signal Value Buffering:
New approach:
The new approach provides:
Best Practices
onAllGridsFilledto stop signal collectiononResponsecodeTroubleshooting
Signal values not updating
signalValuesproperty is bound to a reactive variableHeatmap looks blocky
gridSizefor more detailPerformance issues
gridSizeif scanning is slowGrid cells not filling
{dbm: number, timestamp: number})Sample Video
sample.mp4