# ESPCAL
**Repository Path**: jamesshao8/ESPCAL
## Basic Information
- **Project Name**: ESPCAL
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-04-24
- **Last Updated**: 2026-04-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ESPCAL : ESP32 Collaborative Antenna Localization
# [[ENGLISH]](./README_EN.md)
**基于ESP32的WiFi CSI感知平台,实现信道状态信息采集、相位校准、阵列信号处理与角度估计,为室内定位、无线感知等研究提供轻量级开源验证平台。**
---
## 🌟 欢迎关注我们的研究工作
1. **WiCAL: Accurate Wi-Fi-based 3D localization enabled by collaborative antenna arrays**
Fuhai Wang, Zhe Li, Rujing Xiong, Tiebin Mi, Robert Caiming Qiu
*IEEE Journal on Selected Areas in Communications (JSAC)*, 2025, Vol.43, No.11, pp.3752-3765
---
> [!TIP]
> 此分支为早期验证性实验,搭建了完整硬件平台与数据获取框架、应用实例。
## 目录
- [展示](#展示)
- [硬件](#硬件)
- [软件](#软件)
- [环境](#环境)
- [快速开始](#快速开始)
## 展示
## 硬件
此项目硬件使用嘉立创EDA设计绘制,并在立创开源广场进行完全开源:[硬件开源](https://oshwhub.com/greentor/project_ytsbudsf/)
主控:ESP32-S3FH4R2
## 软件
drivers文件夹为ESP32S3的源代码,其中CSI_SLAVE为各天线控制芯片的程序,CSI_MASTER为控制板上ESP32的程序
csi_system为上位机程序,用于接收硬件平台的数据并进行数据处理、算法应用。使用Python 3.11.4。
目录结构如下:
```
📁 csi_system/
├── 📁 algorithms/ 算法类实现目录
├── 📁 core/ 核心框架类
├── 📁 tabs/ 功能标签页类
├── 📁 older/ 旧版本代码
└── 📄 main_XXX.py 主程序
```
使用到的库:tkinter、socket、threading、numpy、scipy、numba等等
## 环境
| 距离 | 信号强度 | 精度 | 信噪 | 描述 |
|------|----------|--------|-------|----------------|
| < 2m | 强 | 高 | 大 | 推荐 |
| 2-5m | 中 | 中 | 中 | 推荐 |
| > 5m | 弱 | 低 | 小 | 难以精确估计DOA |
## 快速开始
1. 使用USB或DC口给设备5V供电,阵列耗电量较大,需要注意满足电源电流足够,确保所有芯片同时上电
2. 为每一个芯片烧录固件,天线单元的ESP32需要使用串口工具进行烧录,控制板内置串口芯片,上面的的ESP32可以直接使用USB接入进行烧录
3. 使用网线连接控制板和上位机,默认地址为192.168.2.10:8000
4. 运行main_XXX.py程序,点击连接设备
5. 连接成功后,点击校准模式,再点击开启校准WiFi。等待设备进行校准,当接收到30+个校准数据包后,关闭校准WiFi,点击应用校准
6. 校准完毕后,输入需要定位的信源MAC地址,点击普通模式,即可开始正常运行