MCPcopy Index your code
hub / github.com/cuiods/WIFIProbe

github.com/cuiods/WIFIProbe @v1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1 ↗ · + Follow
945 symbols 2,093 edges 262 files 254 documented · 27%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

WIFIProbe

查看演示文档

项目文档位于./doc文件夹下,项目展示参考4.Get Started

1. Introduction

利用智能设备商WIFI模块所发出的无线广播信号进行设备感知,我们可以记录用户的线下行为轨迹。通过采集用户的MAC地址等数据,我们分析了商业环境中门店的门前人流量、进店客流量、进入跳出量、新老顾客数量及新增量、在店平均时长,客流情况等内容。

2. Architecture

framework2

2.1 Abstract View

framework

  • Receiver: 探针将数据发给负载均衡器的虚拟IP,负载均衡器将请求转发给接收服务器,接收服务器发起新线程将数据加入同步缓存,每隔20分钟清空缓存,将合并的大文件传输给HDFS文件系统接口
  • HDFS & Hadoop计算集群:Hadoop计算集群从HDFS文件系统读取数据,循环进行MapReduce操作,将所有的统计结果还保存到文件系统
  • Web:Web服务器定时从HDFS文件系统读取统计结果,将统计结果分类保存到MySQL数据库,提供Restful接口响应HTTP请求,返回要求查看的统计结果以及预测数据
  • MySQL:数据库保存整点信息

3. Features

3.1 Frameworks

  • SpringBoot1.5.2.RELEASE:简化新Spring应用的初始搭建以及开发过程。
  • Swagger2.0:前后端分离契约
  • Hadoop2.7.1: 充分利用集群的威力进行高速运算和存储
  • Dva: React + Redux 最佳实践
  • Spring1.5.2.RELEASE: Spring Security 权限控制 + Spring Data JPA持久层框架
  • JavaFX: Java客户端探针管理工具

3.2 Algorithm

3.2.1 Hadoop MapReduce过程说明

algorithm pic

  • 第一次 map-reduce
    所有探针数据按照用户MAC地址分类,并按照时间排序,存入HDFS临时文件夹中。
  • 第二次 map-reduce
    我们会对每个用户(mac地址)已排序好的探针数据,统计探针数据在时间轴上的出现密度,由此得出用用户在店内的时间段,继而得出根据单个用户数据统计出来的客户流量,新老客户,回访周期,入店时长这几个统计数据。

3.2.2 预测算法:指数平滑法

algorithm pic

3.3 Test

  • Junit 单元测试套件
  • Selenium web功能自动化测试
  • Jmeter 性能测试(1000并发测试)

selenium Jmeter

  • 测试环境搭建: test env

4. Get Started

4.1 Steps

  1. (Optional)将WIFI探针的上传路径指向:http://118.89.208.120/api/v1/receive
  2. 访问http://106.15.91.25:8989/#/ 查看数据分析结果
  3. 输入用户名;manager 输入密码:manager

4.2 Develop Requirements

  • Java 1.8+
  • Maven 3.3.3+
  • JavaScript Language Version: React JSX
  • MySQL 5.6+

5. Screenshots

require_u1 require_u2 require_u3 require_u4

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 577
Class 177
Function 163
Interface 24
Enum 4

Languages

Java83%
TypeScript17%

Modules by API surface

Server/src/main/java/com/codingfairy/data/entity/FlowEntity.java31 symbols
Server/src/main/java/com/codingfairy/data/entity/VisitCircleEntity.java29 symbols
Server/src/main/java/com/codingfairy/data/entity/StoreHoursEntity.java29 symbols
StatDisplay/src/models/app.js24 symbols
Server/src/main/java/com/codingfairy/data/entity/ActivenessEntity.java17 symbols
StatDisplay/src/models/customerFlow/customerFlowInfo.js15 symbols
monitor/client/src/main/java/com/codingfairy/monitor/bean/Process.java14 symbols
Server/src/main/java/com/codingfairy/data/entity/NewOldEntity.java13 symbols
Server/src/main/java/com/codingfairy/bl/serviceImpl/PredictServiceImpl.java12 symbols
monitor/client/src/main/java/com/codingfairy/monitor/bean/ProbeStatus.java11 symbols
Server/src/main/java/com/codingfairy/data/entity/UserEntity.java11 symbols
mapreduce/common/src/main/java/com/codingfairy/tool/HDFSTool.java10 symbols

Datastores touched

(mysql)Database · 1 repos
probeDatabase · 1 repos

For agents

$ claude mcp add WIFIProbe \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page