一个自动生成天气图片并推送到墨水屏的系统,支持多种显示风格和 AI 生成模式。
在线演示: https://blog.lazyyoun.xyz/notellm/
功能特点:
┌─────────────────────────────────────────────────────────────┐ │ WeatherPush System │ ├─────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐│ │ │ 和风天气 │───▶│ AI文本 │───▶│ AI生图 │───▶│ 墨水屏 ││ │ │ API │ │ 百炼LLM │ │ 万象API │ │ 推送 ││ │ └──────────┘ └──────────┘ └──────────┘ └────────┘│ │ │ │ ┌─────────────────────────────────────────────────────────┐│ │ │ EXECUTION FLOW ││ │ │ 获取天气 → 生成文本 → 生成提示词 → 渲染图片 → 推送设备 ││ │ └─────────────────────────────────────────────────────────┘│ │ │ └─────────────────────────────────────────────────────────────┘
bashGET /api/weather
响应示例:
json{
"data": {
"daily": [
{
"fxDate": "2026-03-29",
"tempMax": "25",
"tempMin": "15",
"textDay": "多云",
"textNight": "中雨"
}
]
}
}
bashPOST /api/node/ai-text
bashPOST /api/generate/html # HTML 渲染模式
POST /api/generate/ai # AI 生图模式
bashPOST /api/push Content-Type: multipart/form-data image: <binary> deviceUrl: http://device-ip/upload
| 组件 | 技术 |
|---|---|
| 后端 | Flask (Python 3.11) |
| 前端 | 原生 JS + html2canvas |
| 天气 API | 和风天气 (JWT 认证) |
| AI 文本 | 百炼 qwen3.5-plus |
| AI 生图 | 万象 wan2.6-t2i |
| 部署 | Docker + nginx |
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 彩色 | 全彩色显示 | 调试、预览 |
| 灰白 | 灰度显示 | 电子墨水屏 |
| 黑白 | 纯黑白显示 | 低功耗墨水屏 |
bashbash test_api.sh
======================================== 测试结果: ✅ 10 通过, ❌ 0 失败 ======================================== 🎉 所有测试通过!
/Users/lazyyoun/Documents/weatherpush/最后更新: 2026-03-29
本文作者:lazyyoun
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!