87 lines
2.1 KiB
Markdown
87 lines
2.1 KiB
Markdown
# 太阳公公监控
|
||
|
||
监控局域网设备上线,配合 AI 生成个性化早安邮件。
|
||
|
||
## 功能
|
||
|
||
- **Ping 监控**:监控指定局域网 IP 是否在线
|
||
- **首次上线通知**:目标设备首次上线时,发送"太阳公公出来了"邮件,包含具体上线时间
|
||
- **未到提醒**:每天 8:15 前目标仍未上线,发送"太阳公公还在睡觉"邮件
|
||
- **AI 早安文案**:三段式早安邮件
|
||
- 第一段:太阳公公状态(AI 单独生成)
|
||
- 第二段:今日天气(AI 生成,自然衔接)
|
||
- 第三段:今日热搜(AI 找关联,像说相声一样串联成自然段落)
|
||
- **每日重置**:状态文件每日自动重置,避免重复发送
|
||
|
||
## 运行时间
|
||
|
||
每天凌晨 2:00 至晚上 22:00 自动监控
|
||
|
||
## 文件结构
|
||
|
||
```
|
||
TaiYangGongGong/
|
||
├── ping_monitor.py # 主脚本(常驻运行)
|
||
├── test_ping.py # 测试脚本(单次测试)
|
||
├── config.py # 敏感配置(API密钥、邮件账号等)- 不上传
|
||
└── .ping_state/ # 状态文件目录 - 不上传
|
||
├── state.json
|
||
├── weather_cache.json
|
||
└── news_cache.json
|
||
```
|
||
|
||
## 首次使用
|
||
|
||
1. 复制配置模板并填入你的信息:
|
||
|
||
```bash
|
||
cp config.py config.py.bak
|
||
# 然后编辑 config.py,填入你的 API 密钥和邮件配置
|
||
```
|
||
|
||
2. 配置 `config.py`:
|
||
|
||
```python
|
||
# DeepSeek API
|
||
DEEPSEEK_API_KEY = "your_api_key"
|
||
|
||
# 邮件配置
|
||
SMTP_SERVER = "smtp.qq.com"
|
||
SMTP_PORT = 587
|
||
SMTP_USER = "your_email@qq.com"
|
||
SMTP_PASSWORD = "your授权码"
|
||
FROM_NAME = "月亮姐姐"
|
||
TO_EMAILS = ["target_email@example.com"]
|
||
```
|
||
|
||
3. 设置系统时区(邮件时间戳用系统时间):
|
||
|
||
```bash
|
||
sudo timedatectl set-timezone Asia/Shanghai
|
||
sudo ntpdate ntp.aliyun.com # 同步网络时间
|
||
```
|
||
|
||
4. 安装依赖并运行:
|
||
|
||
```bash
|
||
pip install requests
|
||
python test_ping.py # 测试
|
||
python ping_monitor.py # 正式运行
|
||
```
|
||
|
||
## 部署
|
||
|
||
```bash
|
||
# 添加到 crontab,每天凌晨2点自动启动
|
||
crontab -e
|
||
|
||
# 添加:
|
||
0 2 * * * cd /home/lhr/storage/TaiYangGongGong && python ping_monitor.py >> ping.log 2>&1 &
|
||
```
|
||
|
||
## 依赖
|
||
|
||
```bash
|
||
pip install requests
|
||
```
|