gericandmorty/AirBnbrrr_raspi
GitHub: gericandmorty/AirBnbrrr_raspi
一个基于 Raspberry Pi 和 FastAPI 的窗式空调 IoT 监控与主动故障检测系统,通过机器学习、规则引擎与 LLM 相结合的混合诊断流水线在设备失效前发出预警。
Stars: 1 | Forks: 0
# AirBnBrrr:AI 驱动的 HVAC IoT 监控系统
AirBnBrrr 是一个专为窗式空调设计的端到端 IoT 监控和主动故障检测系统。它通过 Raspberry Pi 传感器阵列采集实时遥测数据,并经由 FastAPI 后端进行处理,以检测异常、生成可解释的报告并发送自动 SMS 警报。
## 核心功能
* **IoT 遥测数据采集**:从定制的 Raspberry Pi 传感器套件接收实时数据,包括温度、湿度、振动、功耗、电压和粉尘水平。
* **混合诊断流水线**:一种稳健的三层异常检测方法:
1. **机器学习 (Isolation Forest)**:分析历史数据,检测传感器读数中的统计异常值。
2. **确定性规则引擎**:一个基于物理规则评估的系统,将实时数据与硬编码的工程阈值(例如压缩机过载、欠压)进行对比,以提供可验证、一致的检测结果。
3. **生成式 AI (LLM)**:使用 **`zai-glm-4.7`** 模型(可通过 Web UI 自定义)查询超快的 **Cerebras Inference API**,以生成上下文诊断和预测。后端包含一个稳健的清理层,可从 LLM 输出中清理 Markdown 代码块(```json ... ```),从而实现可靠的 JSON 解析。
* **自动化 SMS 警报**:集成 Traccar SMS Gateway,在检测到严重故障时立即通知维护人员。
* **响应式 Web Dashboard**:一个使用 Tailwind CSS 构建的简洁、用户友好的界面,用于可视化遥测数据、并排查看详细的异常报告以及管理系统联系人。
## 技术栈
* **后端**:Python、FastAPI
* **数据库**:PostgreSQL (Supabase)
* **机器学习**:scikit-learn (Isolation Forest)
* **前端**:HTML、Vanilla JavaScript、Tailwind CSS、Lucide Icons
* **集成**:Traccar SMS Gateway、生成式 AI API
## 安装与设置
### 前置条件
* Python 3.9+
* PostgreSQL 数据库(或 Supabase 项目)
### 环境配置
在根目录下创建一个包含以下变量的 `.env` 文件:
```
SUPABASE_URL=postgresql://[user]:[password]@[host]:[port]/[db_name]
# 在此添加 Generative AI 服务所需的任何 API 密钥
```
### 设置步骤
1. **克隆仓库并进入目录**:
git clone https://github.com/gericandmorty/AirBnbrrr.git
cd AirBnbrrr
2. **创建并激活虚拟环境**:
* Windows:
python -m venv venv
venv\Scripts\activate
* macOS/Linux:
python -m venv venv
source venv/bin/activate
3. **安装依赖**:
pip install -r requirements.txt
4. **运行数据库迁移**:
确保您的数据库具有所需的 schema 并初始化了自增序列。如有必要,请运行提供的迁移脚本:
python fix_telemetry_id.py
python fix_alerts_id.py
python fix_contacts_id.py
## 运行应用
使用 Uvicorn 启动 FastAPI 服务器:
```
uvicorn main:app --reload --host 127.0.0.1 --port 8000
```
Web Dashboard 将在 `http://127.0.0.1:8000` 上可用。
## 架构概述
1. **Raspberry Pi** 采集传感器数据,并向 `/telemetry` 发送 POST 请求。
2. 后端存储原始数据并触发 **Isolation Forest** 模型。
3. 如果检测到异常,数据将被传递给 **规则引擎** 以进行基于物理规则的阈值验证。
4. 系统随后查询 **LLM** 以获取额外的上下文分析。
5. 系统会保存合并后的 JSON 报告,并向授权联系人发送包含摘要和详细报告链接的 **SMS 警报**。
标签:Apex, AV绕过, FastAPI, 后端开发, 异常检测, 故障预测, 机器学习, 测试用例, 物联网, 设备监控, 逆向工具