Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

802.11 Location Detection and Mapping #956

Closed
lennartkoopmann opened this issue Nov 10, 2023 · 0 comments
Closed

802.11 Location Detection and Mapping #956

lennartkoopmann opened this issue Nov 10, 2023 · 0 comments
Assignees

Comments

@lennartkoopmann
Copy link
Member

lennartkoopmann commented Nov 10, 2023

General

  • Consider all frame types
    • Alerts/detection/analysis must be able to show what frame types caused it. For example, beacon frames may continue to be nominal but disco frames are spoofed with an impossible signal
  • Consider large buildings / campuses of a single tenant
  • Consider multiple stories
  • Do not allow to delete floors if taps still mapped to it, or handle gracefully
  • Must be able to mark positions outside of bounds of plan
  • Test with tenant user (may have less permissions)
  • Must consider tap selection, tap permissions of a tenant user
  • Changes to floors must update location updated_at
  • Allow full screen
  • Documentation

Trilateration

  • Find better default values for 1m reference RSSI. Using -44 dBm for now.
    • Measure different WiFi bands
  • Configurable path loss exponent. Default 3.0 for indoor
    • This is different for each band
  • Figure out how to teach people how to pick their variables. This needs on-site measurement.

Management

  • Locations
    • Index
      • How many floors
      • How many tap
    • Create
    • Show
      • Title / Description
      • How many floors?
      • How many taps?
      • Created at / Updated at
    • Update
    • Delete
      • Only if no floors
  • Floors
    • Index (on Locations page)
      • Has Floor Plan?
      • How many taps?
    • Create
      • Name / Identifier / Title
        • Defaults to "Floor X" if not provided
      • Floor Number (integer, consider basements / negative numbers)
        • must be unique for floor, check in UI, resource, DB constraint
      • Set updated_at of floor and location
    • Show
      • Floor Plan
      • Created at / Updated at
    • Update
      • must be unique for floor
      • Set updated_at of floor and location
    • Delete
      • Remove all tap placements with it
      • Set updated_at of floor and location
    • Floor Plans
      • Handle no plan uploaded
      • Work in dark mode
      • Upload
        • Disable button until file is selected
        • Test that size limiting works
        • Limit in Grizzly, too.
        • Support png, jpg - always store as png
        • Updates updated_at of floor and location
      • Delete
        • Updates updated_at of floor and location
        • Remove all tap placements with it
      • Replace
        • Updates updated_at of floor and location
      • Place taps
        • Ask to save after any changes, to avoid accidental edits
        • List all placeable taps (only those not placed anywhere for tenant)
        • Delete
          • Updates updated_at of floor and location
        • Move Initial
        • Move / Change / Update
        • Updates updated_at of floor and location
        • Ensure only placed once
        • Warn when trying to navigate away with unsaved changes
        • Better map icons (not directional, color not implying status, working on typical floor maps)
          • Transient
          • Normal
          • Offline
        • Tooltip / Popup
          • Name
          • Last Report
          • Works with transient taps

Trilateration UI/Features General

  • Only show when at least three taps selected
    • All three taps must have been placed on a floor, in same location
    • Explain and link to trilateration docs when not the case
  • UI
    • Work with time range selector
    • Replay / Timeline / Track -> Allow to replay, forward/backward trilateration timeline #1027
    • Show context information (in map, so it becomes part of exports)
      • Location, Floor
      • Current time
      • Tracked entity
    • Floor Selector
      • Show all floors of location
        • How many taps
        • Has floor plan
      • Pagination
      • Highlight currently selected floor
      • Only allow to select floors with floor plan
      • Only allow to select floors with at least three placed taps
    • Link to docs
    • Changing floor must change tap selection / used taps
      • Ignore global tap selection. Always select all taps on floor.
      • Display that global tap selection is ignored for visual analysis
      • Make sure potential BAD_REQUEST error messages still make sense
      • Do not accept tap selection at all. Start with guessed floor / location.
        • Handle: User has only one floor with three valid taps
        • Handle: User has no floor with three valid taps
        • Handle: Floor has three valid taps but not all have data of target
        • Remove frontend tap count check etc
        • Show note about how tap selection works
    • Actions menu
      • Refresh
      • Fullscreen
    • Options Menu
      • Toggle tap positions on map
      • Heatmap intensity/blur etc controls
    • Re-do icons again. Keep them small, simple. Colors, shapes indicate type/status
  • Visualize on map
  • Handle empty results properly

BSSID location

  • On BSSID page, not SSId page. Too much going on on SSID page and mixing up channels, etc.
  • Only show when => 3 taps selected
    • Show info when less selected
  • Heatmap

Client location

  • Work with connected and disconnected clients

Disconnections

Documentation

  • General usage
    • Locations, Floors
    • Always per floor
    • Required numbers per tap
    • Only if at least three taps recorded signal, even if more are selected
  • In Practice
    • Tap placement
      • 4 taps per floor is a good minimum
      • High up
      • Very challenging in small spaces
    • Path loss exponent
    • Only detecting in confines of floorplan
@lennartkoopmann lennartkoopmann added this to the 2.0.0-alpha.6 milestone Nov 10, 2023
@lennartkoopmann lennartkoopmann self-assigned this Nov 10, 2023
@lennartkoopmann lennartkoopmann modified the milestones: 2.0.0-alpha.6, 2.0.0-alpha.7 Nov 23, 2023
@lennartkoopmann lennartkoopmann removed this from the 2.0.0-alpha.7 milestone Dec 9, 2023
@lennartkoopmann lennartkoopmann added this to the wifi-complete milestone Dec 24, 2023
lennartkoopmann added a commit that referenced this issue Jan 31, 2024
lennartkoopmann added a commit that referenced this issue Feb 2, 2024
lennartkoopmann added a commit that referenced this issue Feb 4, 2024
lennartkoopmann added a commit that referenced this issue Feb 6, 2024
lennartkoopmann added a commit that referenced this issue Feb 6, 2024
lennartkoopmann added a commit that referenced this issue Feb 6, 2024
lennartkoopmann added a commit that referenced this issue Feb 8, 2024
lennartkoopmann added a commit that referenced this issue Feb 10, 2024
lennartkoopmann added a commit that referenced this issue Feb 12, 2024
lennartkoopmann added a commit that referenced this issue Feb 13, 2024
lennartkoopmann added a commit that referenced this issue Feb 19, 2024
lennartkoopmann added a commit that referenced this issue Feb 19, 2024
lennartkoopmann added a commit that referenced this issue Feb 23, 2024
lennartkoopmann added a commit that referenced this issue Feb 29, 2024
lennartkoopmann added a commit that referenced this issue Feb 29, 2024
lennartkoopmann added a commit that referenced this issue Mar 6, 2024
lennartkoopmann added a commit that referenced this issue Mar 8, 2024
lennartkoopmann added a commit that referenced this issue Mar 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant