Sentinel Home AI - 家庭多模态智能监控系统
多模型并行 + 交互式命名 + AI 对话的家庭监控系统。
架构概览
| 节点 |
角色 |
服务 |
| Synology NAS |
FAM-Core + FAM-UI + 数据库 |
Flask (8000), Streamlit (8501), MariaDB (3306) |
| Oracle Cloud |
FAM-Edge |
Flask (5000), Ollama (11434), FFmpeg |
| 家庭网络 |
用户入口 |
浏览器访问 FAM-UI |
目录结构
技术栈
- 后端: Python 3.10+, Flask, Gunicorn
- 数据库: MariaDB (MySQL 兼容)
- AI 模型: Ollama (llava-phi3), Gemini 1.5 Flash
- 视频处理: FFmpeg, OpenCV
- 前端: Streamlit
快速开始
- 数据库初始化:
python scripts/init_db.py
- 启动 FAM-Core:
cd fam-core && gunicorn -w 1 -b 0.0.0.0:8000 src.app:app
- 启动 FAM-Edge:
cd fam-edge && gunicorn -w 1 -b 0.0.0.0:5000 src.app:app
- 启动 FAM-UI:
cd fam-ui && streamlit run src/app.py
服务器访问信息
Synology NAS (FAM-Core + FAM-UI + MariaDB)
| 项目 |
值 |
| IP |
192.168.50.64 |
| SSH 端口 |
2222 |
| SSH 用户 |
ericwyuan |
| SSH 密码 |
iLoveJava5 |
| 系统 |
Synology DS220+ (Geminilake), DSM 7 |
| Tailscale IP |
100.70.234.39 |
| 登录命令 |
ssh -p 2222 ericwyuan@192.168.50.64 |
MariaDB 数据库 (NAS)
| 项目 |
值 |
| 版本 |
MariaDB 10.11.11 |
| 端口 |
3306 |
| Socket |
/run/mysqld/mysqld10.sock |
| Root 密码 |
iLoveJava5! |
| 数据库名 |
sentinel_home_ai |
| 连接命令 |
/usr/local/mariadb10/bin/mysql -S /run/mysqld/mysqld10.sock -u root -p |
| mysql 路径 |
/usr/local/mariadb10/bin/mysql |
Oracle Cloud (FAM-Edge + Ollama + FFmpeg)
| 项目 |
值 |
| 公网 IP |
129.146.203.203 |
| SSH 端口 |
22 |
| SSH 用户 |
ubuntu |
| 认证方式 |
RSA 私钥 |
| 私钥文件 |
~/.ssh/oracle_sentinel |
| 系统 |
aarch64 (ARM Ampere A1 2C12G), Ubuntu 20.04 LTS |
| Tailscale |
已安装,待认证 |
| 登录命令 |
ssh -i ~/.ssh/oracle_sentinel ubuntu@129.146.203.203 |
Gitea 代码仓库
Gemini API Key (Google AI Studio)
调用示例:
代码仓库
- Gitea:
http://192.168.50.64:3000/ericwyuan/sentinel-home-ai