FIND3项目中的被动追踪技术详解
引言:什么是被动追踪
被动追踪是FIND3项目中的一项核心技术,它通过接收设备发出的WiFi广播数据包来实现位置识别,而无需被追踪设备安装任何应用程序或连接到特定WiFi网络。这种技术特别适合需要大规模、非侵入式位置追踪的场景。
被动追踪的工作原理
被动追踪系统通常由以下几个组件构成:
- 扫描节点:通常是配备特定WiFi适配器的树莓派设备
- 中央服务器:收集并处理来自各节点的数据
- FIND3服务器:执行机器学习算法进行位置分类
系统工作时,扫描节点会接收周围设备发出的WiFi广播包,这些包中包含了设备的MAC地址和信号强度等信息。这些数据被发送到中央服务器处理后,FIND3服务器就能根据预先学习的位置特征,判断设备当前所处的位置。
设备广播频率分析
被动追踪的时间分辨率取决于被追踪设备的WiFi广播频率。以下是常见设备的广播特性:
已连接WiFi网络的设备
- Ubuntu笔记本电脑:约每2.1±0.4分钟广播一次
- 台式电脑(Ubuntu 17):约每2.0±0.4分钟广播一次
- Google Home:约每6.5±3.5分钟广播一次
- Pixel2手机(运行扫描应用):约每2.1±0.8分钟广播一次
- 三星手机(无主动扫描):仅在屏幕解锁时广播,约每2.0±0.1分钟一次
未连接WiFi网络的设备
这部分数据仍在收集中,但通常广播频率会低于已连接网络的设备。
系统搭建指南
硬件准备
-
扫描计算机:推荐使用树莓派系列
- 树莓派Zero W
- 树莓派3
-
WiFi适配器:需要支持监控模式的USB WiFi适配器,推荐芯片组:
- Atheros AR9271
- Ralink RT3070
- Ralink RT3572
- Ralink RT5572
软件安装
首先需要安装必要的工具:
sudo python3 -m pip install httpie
然后按照命令行扫描器文档安装FIND3命令行扫描工具。
配置扫描节点
每个扫描节点需要以下配置参数:
- 家族名称(FAMILY):所有扫描节点使用相同的名称
- 设备名称(DEVICE):每个扫描节点使用唯一名称
- WiFi接口(wlan0):支持混杂模式的接口
启动被动扫描的基本命令:
sudo ./find3-cli-scanner -i wlan0 -device DEVICE -family FAMILY \
-server https://cloud.internalpositioning.com \
-scantime 40 -forever -passive
高级配置选项
- 永久启用监控模式(适用于双网卡配置):
sudo ./find3-cli-scanner -i wlan0 -monitor-mode
- 禁止修改接口模式:
sudo ./find3-cli-scanner -i wlan0 -device DEVICE -family FAMILY \
-server https://cloud.internalpositioning.com \
-scantime 40 -forever -passive -no-modify
位置学习流程
被动追踪的学习过程与主动扫描不同,需要明确指定要学习的设备:
- 获取设备的MAC地址
- 设备名称格式为"wifi-<MAC地址>"
- 向服务器发送学习请求:
http POST https://cloud.internalpositioning.com/api/v1/settings/passive \
family=FAMILY device=wifi-60:57:18:3d:b8:14 location="living room"
- 保持设备在该位置约30分钟以收集足够数据
- 停止学习:
http POST https://cloud.internalpositioning.com/api/v1/settings/passive \
family=FAMILY device=wifi-60:57:18:3d:b8:14
系统优化与定制
扫描时间调整
- 修改节点扫描时间:使用
-scantime
参数 - 调整服务器数据收集时间窗口:
http POST https://cloud.internalpositioning.com/api/v1/settings/passive \
family=FAMILY window:=X
最小数据点设置
确保处理的数据包含足够多的扫描节点信息:
http POST https://cloud.internalpositioning.com/api/v1/settings/passive \
family=FAMILY minimum_passive:=2
注意事项
- 法律合规性:在某些地区,接收网络MAC地址可能涉及法律问题,特别是非自有网络
- iOS设备限制:仅当WiFi已连接网络时才能追踪
- 学习时间:每个位置建议学习30分钟以上以获得良好效果
被动追踪技术为室内定位提供了强大的解决方案,特别适合需要大规模部署且对用户干扰要求最低的场景。通过合理配置和优化,可以实现高精度的位置服务。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考