用途是附近人流量检测,本话题不谈人脸识别、热释、红外、光电、多普勒这类无法判断附近或动态人的方式,也不讨论没有开WIFI蓝牙、飞行状态或关机情况。不需要嗅探到具体的通讯内容,仅仅作为流量判断。
经搜索发现最火的是使用WIFI探针来统计人流量,这是最便宜的方案,目前使用8266类的开发板仅需十元左右即可实现。手机WIFI并不是一直在检测,网上查到某典型安卓手机大致如下:
1、 亮屏情况下,在Wifi settings界面,固定扫描,间隔为10s,(网络资料大多是5-15秒)
2、 亮屏情况下,非Wifi settings界面,二进制指数退避扫描,退避:interval*(2^n), 最小间隔min=20s, 最大间隔max=160s.
3、 灭屏情况下,有保存网络时,若已连接,不扫描,否则,PNO扫描,即只扫描已保存的网络。最小间隔min=20s,最大间隔max=20s*3=60s
4、 无保存网络情况下,固定扫描,间隔为5分钟,用于通知用户周围存在可用开放网络。
因最长时间为5分钟,但很担心会不会用户走过了都没检测到。
蓝牙探针貌似绝大多数都只能探到未连接设备的信号,据说连接后就无法扫描到了,既然手机可以同时连接一个以上的蓝牙设备,那么即使在连接状态理论上应该也是可以被扫描到的,网上有很多ble sniffer、bluetooth Scan一类文章,从淘宝购买20元钱的ESP32做了测试,在Arduino自带的 BLE Scan例程里却只能检测到其他蓝牙设备没检测到手机信号,手机用的是经典蓝牙而不是BLE。虽然淘宝蓝牙嗅探器六七十元可以买到,但看接口是USB的,莫非还要接电脑或数莓派才能用?知乎上甚至有段话说能检测到连接后设备的都上千,但明明几百元的手机都可以做到啊。
对于运营商的GSM、CDMA2000,WCDMA,TD-SCDMA,WiMAX来说,标准都那么多,应该会很注意安全,嗅探可能会很复杂吧?还没有查到对应scnner或者sniffer。是否可以通过检测对应频段信号强度,通过类似频率计一样检测手机辐射来完成?我记得在九几年曾经流行过几元一个的钥匙扣挂件能检测到手机振铃,当时还很想用这个功能来改成卡拉OK中的功放信号抑制器,但现在的标准那么多,手机的发射功率也不大,是否能检测到呢?
综上疑问:
1、用WIFI探针时,手机真会延迟到五分钟才检测网络吗?
2、是否可以通过检测对应频段信号强度来实现?
3、用蓝牙Scan而不是sniffer能否扫到手机?
4、只检测有无手机,有没有其他更简单更方便的方法呢?
200字以内,仅用于支线交流,主线讨论请采用回复功能。