feat: 新增 reTerminal E1002(800×480 六色 E Ink)目标设备支持
- 新增 renderer_e1002.py:E1002Renderer 继承 DashboardRenderer,以 k=2 整数倍缩放复用全部组件,重排为 800×480 四段版式(时钟/天气、Claude Usage、今日实时、六色测试色条) - DashboardRenderer 改造为支持 k 缩放系数(字体按 k 倍创建,组件像素常量随 k 缩放),k=1 保持 400×300 原版不变 - main.py 新增 --target e1002 参数:渲染 800×480 六色图 + 固定尺寸 index.html 到 output/e1002/,供 SenseCraft HMI 的 HTML 控件云端周期性抓取(不推送) - config.py 新增 E1002 画布尺寸与输出路径常量 - README.md / CLAUDE.md 补充新设备的架构说明与用法
This commit is contained in:
13
main.py
13
main.py
@@ -6,6 +6,8 @@
|
||||
用法:
|
||||
python3 main.py # 渲染并推送(设备 host 取自 .env 的 EPD_HOST)
|
||||
python3 main.py --render-only # 只渲染生成图片,不推送(output/dashboard.png)
|
||||
python3 main.py --target e1002 # reTerminal E1002:渲染 800x480 六色图 + 固定尺寸 index.html 到 output/e1002/,
|
||||
# 不推送(由 SenseCraft HMI 的 HTML 控件从公网地址周期性抓取)
|
||||
|
||||
配置统一从同目录 .env 读取(见 .env.example),真实环境变量优先。
|
||||
"""
|
||||
@@ -19,9 +21,20 @@ from renderer import DashboardRenderer
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="墨水屏仪表盘:渲染并推送")
|
||||
parser.add_argument("--render-only", action="store_true", help="只渲染,不推送")
|
||||
parser.add_argument("--target", choices=("miao", "e1002"), default="miao",
|
||||
help="miao=喵喵固件 400x300 三色屏(默认,局域网推送);e1002=reTerminal E1002 800x480 六色(产出 HTML 页)")
|
||||
args = parser.parse_args()
|
||||
|
||||
data = get_dashboard_data()
|
||||
|
||||
if args.target == "e1002":
|
||||
from renderer_e1002 import E1002Renderer, write_page
|
||||
png = E1002Renderer().render_to_file(data, config.E1002_PNG_PATH)
|
||||
html = write_page(config.E1002_HTML_PATH, png)
|
||||
print(f"[渲染] 已生成 {png}")
|
||||
print(f"[页面] 已生成 {html}(部署到公网 HTTPS 后填入 SenseCraft HMI 的 HTML 控件)")
|
||||
return
|
||||
|
||||
path = DashboardRenderer().render_to_file(data, config.OUTPUT_PATH)
|
||||
print(f"[渲染] 已生成 {path}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user