注意:该服务端基于http.server,它仅仅实现了最基础的安全检查。绝对不要把这个服务暴露到公网上!
- python==3.8
- Pillow==10.0.1
- schedule==1.2.1
- Requests==2.31.0
- beautifulsoup4==4.12.2(可选,用于爬取most-famous-paintings.com的TOP1000作品)
- 请确保爬取图像时有合理的时间间隔
- 默认字体为文泉驿微米黑,已放置在
resource/wqy-microhei.ttc
- 需要修改在
server/config_demo.py中的内容,并重命名为server/config.py. - 假期日历由holiday-cn提供,使用前请提前下载对应年份的json文件并放置在
resource/holiday。年份是按照国务院文件标题年份而不是日期年份,12月份的日期可能会被下一年的文件影响,因此最好保证有今明两年的文件。- 另一个选择是使用
utils/get_holiday.py这个脚本从https://holiday-api.mooim.com/v1/获取,除节假日外还可以获取节气、传统节日等,不保证api的有效性。
- 另一个选择是使用
- 自定义纪念日放置在
resource/holiday/anniversary.json,格式与holiday-cn基本相同。其中date不包含年份。 - 修改
utils/get_vault_json.py中的路径并运行,生成vault.json文件
anniversary.json格式如下:
{
"days": [
{
"name": "test",
"date": "12-10",
"isOffDay": false
}
]
}python server.py服务器启动后,会响应以下页面:
http://[IP]:[Port]:上传图像,并且作为下一张日历的主图像http://[IP]:[Port]/next:手动更新日历图像并返回http://[IP]:[Port]/show:返回下一张日历图像http://[IP]:[Port]/hash:返回下一张日历图像的hash值,用于检查图像是否更新http://[IP]:[Port]/bytes:返回下一张日历图像的二进制流,用于ESP32更新http://[IP]:[Port]/[name].png:查看过去的日历图像