VIBE CODING 📸 实现基于NAS的每日相册
每日相册功能及实现原理如下:
✨ 功能:每天早上从本地局域网NAS的文件夹中请求一张图片(通过WebDAV或SMB协议📂),并自动更新显示。
🛠️ 硬件配置:
- 一块5.83英寸四色墨水屏(红黄黑白)🎨,带24pin排线;
- 一块NodeMCU开发板(esp8266)🧠和一块墨水屏驱动板(本来可以直接买集成的墨水屏控制板,但我发现集成板深度休眠有问题,所以选择分开);
- 电源模块⚡:3.3V或5V都可以为esp8266供电,但我个人更偏好18650电池🔋,感觉更可靠,所以没用更轻薄的软包锂电池。
- 相框🖼️:本模型提供了一套3D打印方案。
🔌 接线:
- 连接电源线 🔌
- ESP8266与控制板之间8根线(我自己焊了一下为了节省空间,不过用杜邦线直连也是可以的)
- 控制板到屏幕排线
💻 软件部分:
- 软件分为esp8266运行程序 🧩 和 NAS运行程序 🗂️ 两部分,都由Deepseek🤖协助编写;
- NAS运行程序用Python脚本实现,每天凌晨4点通过cron定时任务⏰自动运行。主要功能:扫描指定相册文件夹中的图片文件,如有更新则自动处理为墨水屏可显示的二进制bin文件,并从所有图片中选一张作为当天显示图片(today.bin);
- esp8266运行程序主要负责:早上5点定时唤醒⏳,从WebDAV服务器获取today.bin,显示到墨水屏上,然后自动进入深度休眠💤;由于esp8266内存有限,下载大图时可能内存不足,这里特别提醒Deepseek采用了流式下载方式(感谢AI给出的方案,具体技术细节我也没完全搞懂哈哈🤯)。
- 如需相关代码,后续整理后再分享出来(用AI写代码真的很方便👏)。
🖨️ 3D打印模型说明:
- 默认配置适用于内嵌5.83英寸墨水屏,下方预留屏幕排线弯折凹槽,背部通过挡板与卡槽固定屏幕,并预留充足空间放置墨水屏控制器及电源。
- 在实物照片基础上,打印文件V2版及可编辑模型中调整了背部固定板宽度,增加了上下边框卡槽,方便后续加装背部挡板。
用户可根据需要自定义墨水屏尺寸,参数定义如下:
inner_width、inner_height:屏幕有效显示区域的宽度和高度;
outer_width、outer_height:墨水屏外边缘最大宽度和高度;
bottom_height:考虑到墨水屏下巴较宽,单独定义下巴高度,确保显示内容正面居中。
该项目灵感来自【老戴】我用 AI 分析了500G照片库,做了一个“会自己选图”的电子相框:让沉睡的记忆重新被看见,可以进一步参考其思路在NAS服务器增加AI选图与文案功能。
为我助力如有帮助,感谢支持~