基于自制电子墨水屏的万年历
基于自制电子墨水屏的万年历 关注 作者 关注 作者 关注 作者 关注 作者 02/03 19:17Matrix 首页推荐 pgslot a5game.app nba比分 a5game.app
Matrix 是的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。
文章代表作者个人观点,仅对标题和排版略作修改。 电影小宝影院xiaobaotv.video
在之前的文章中,我介绍了自己花费近两年时间制作了一个电子墨水屏的经历。 pg a5game.app
系统架构介绍
针对没有阅读过上一篇文章的读者,我再来介绍一下整个项目的软硬件构成,并且公开本项目的开源地址(GitHub|Gitee)。 slotdemo a5game.app pragmatic a5game.app tigrinho gratis a5game.app
硬件结构
整个方案的硬件部分由四部分构成,分别是: 爱壹帆寻秦记yfsp.app
- esp32 主控:整个系统的大脑,接收数据、处理数据、发送显示数据。这里我使用的是 esp32s3,内存大一些才能创建 400x300 的缓存区。
- 电子墨水屏驱动板:连接开发板和墨水屏之间的桥梁,在淘宝上购买的,搜索「兼容微雪电子墨水屏驱动」。
- 400X300 电子墨水屏:用于最终内容呈现的屏幕,在淘宝上购买的超市退役的杂牌墨水屏,只要兼容微雪电子墨水屏驱动就可以,咸鱼上还可以买到类似的屏幕。
- 3D 打印外壳:把乱糟糟的走线,放在一个 3D 打印外壳里,更像一个标准化的产品。
- 若干杜邦线:用来连接以上的硬件模块。
软件系统
- 软件系统,依然采用的是我熟悉的 MicroPython 来开发,构成也比较简单:
- main.py 文件:项目主入口,可以在这里修改墨水屏的运行模式
- wifi.py 文件:Wi-Fi 联网和时间同步模块,用户根据配置的网络信息连接互联网,并且同步系统时间。
- wificonfig.json 文件:用来存放 Wi-Fi 名称和密码,手动更新模式下,还可以通过同一个网页来更新 wifi 名称和密码。
- ink_calendar.py 文件:全自动更新模式的万年历程序。
- ink_websocket.py 文件:被动更新模式和手动更新模式,需要的 esp32 创建服务器的程序。
- ink_display.py 文件:一个通用的将信息显示在墨水屏上的程序。
- epaper4in2.py 文件:墨水屏的驱动程序。
- ink_index.html 文件:手动更新时,需要使用到的本地 HTML 文件。
第一篇文章发出后,很多读者反馈是否可以开源,后续我也发现这个项目有很多可以改进的地方,所以近期又花时间做了一轮升级迭代。 ifuntvyfsp.app 爱壹帆国际版 yfsp.app 一帆视频yfsp.app
升级之后,这个墨水屏可以使用多种方式来进行更新,比如:
1、自动更新模式:每天早上 8 点,自动更新今天的万年历信息; fortunetigerbônusgrátissemdepósito a5game.app 小寶影院电影xiaobaotv.video 小宝影院电影xiaobaotv.video pgslotgacor a5game.app
2、被动更新模式:收到短信后,通过 iPhone 快捷指令自动同步信息到墨水屏; 免费在线影院xiaobaotv.video fortunetigerbônusgrátissemdepósito a5game.app
3、手动更新模式:在一个网页上,输入文字或上传图片进行更新。 plataformademográtis a5game.app 爱亦凡yfsp.app 爱壹帆在线yfsp.app
接下来,我就依次介绍这三种模式: iyifanyfsp.app a5game a5game.app 爱壹帆yfsp.app
自动更新模式:万年历
效果展示

原理
前一天,服务端(现在其实就是在我的电脑上)会自动根据当前日期请求相关接口,获取次日的万年历信息,并进一步绘制在一个图片上。如下图: ifun yfsp.app 足球比分 a5game.app iyftvyfsp.app

服务端会继续处理这张图片为墨水屏可读取的数据,并上传到一个公开的 OSS 地址上,每个客户端(也就是墨水屏设备)会在每天早上八点,根据当前日期请求对应的 OSS 地址,获取图片数据后,渲染显示在墨水屏上。 xiaobao xiaobaotv.video 海外华人视频网xiaobaotv.video sweetbonanza1000demo a5game.app 爱壹帆电影 yfsp.app
在此模式下,生成图片的过程是在服务端进行(不论有多少客户端服务端只生成一次),客户端只需要联网后,定时请求对应地址即可实现墨水屏的更新。 小宝影院xiaobaotv.video
动更新模式:收到短信自动同步到墨水屏
效果展示


原理
电子墨水屏的 esp32 主控启动服务器模式,准备接收和处理 HTTP 或 Websocket 请求。然后在 iPhone 上创建一个快捷指令,用于将传入快捷指令的信息发送到 esp32 主控服务器上。 jogodotigrinhodemo a5game.app

然后我们在 iPhone 上继续创建一个快捷指令的自动化:收到短信之后,自动通过上一步的快捷指令发送到 esp32 主控服务器上。 Cassinos a5game.app demo a5game.app fortuneoxdemográtis a5game.app demotigrinho a5game.app
由于 esp32 的性能很差并不具备图片处理能力,所以 esp32 会将收到的数据发给一个云端的「函数计算」服务,该服务会将收到的数据处理为图片数据返回给 esp32,最终显示在墨水屏上。 slots a5game.app 爱壹帆免费版yfsp.app 小宝影院在线视频xiaobaotv.video pgslotgacor a5game.app
此模式还有更广的使用场景,比如把 iPhone 上的待办自动同步到墨水屏、把收到的邮件信息同步等,凡是快捷指令可以获取到的信息,都可以进行同步。 sugarrush1000demo a5game.app 电影爱壹帆yfsp.app demo a5game.app
但此模式也有不足之处:由于在手机端发送的不是图片数据,esp32 主控也没有图片处理能力,所以需要一个实时在线的服务端来做这个事情,虽然这个服务端的函数计算成本还算低廉,但是毕竟还是多了额外的成本。 iyf yfsp.app 一帆yfsp.app
手动更新模式:输入文字或上传图片进行更新
效果展示


原理
在思考如何更好解决「服务端生成图片数据」问题时,有一天灵光闪现:其实现在手机的性能都很强了,为什么不在手机端生成图片数据后再发送呢? JogodoTigrinho a5game.app pglucky88 a5game.app 爱壹帆影视yfsp.app 小寶影院xiaobaotv.video Caça-níqueis a5game.app
同样的,在电子墨水屏的 esp32 主控上启动服务器模式,准备接收和处理 HTTP 或 Websocket 请求。客户端这边打开一个网页(也可以叫单页应用),在这个网页上可以通过局域网连接墨水屏系统,输入文字生成图片并投屏,或者上传图片进行合适截取后并投屏。 华人影视xiaobaotv.video aiyifan yfsp.app

在这个投屏的过程中,前端网页已经使用 JS 的能力对文字和图片做了处理,将图片数据通过 Websocket 的方式传递给 esp32 主控。esp32 主控在收到图片数据之后,会将其保存为本地目录的一个文件,然后系统重新加载本地目录里的图片数据进行显示。 plataformademo a5game.app 爱一帆 yfsp.app demo a5game.app
此模式不需要额外的云端服务,但也有不足之处:因为我没有解决 HTTPS 环境下,请求 HTTP 本地资源的问题,所以没有办法将这个单页应用发布为一个在线服务。使用者需要下载一个 HTML 文件打开使用,安卓设备在文件系统里直接打开,iPhone 用户还需要另外安装一个软件(如:HTML Viewer),才能打开本地 HTML 文件。 爱一番yfsp.app
结语
这个墨水屏项目前前后后延续了很长时间,每当把这个项目放下,在其他方面学习到一些新东西之后,又会回来反哺这个项目并继续迭代改进。在这个过程中,我也体验到了非常强的成就感。 slotsdemo a5game.app jogosdemopg a5game.app
目前整个项目还有很多可以优化的点,但是由于我并不会把他做成一个真正的「产品」,所以可能会以目前的进度结束这个项目了。 爱壹帆电影yfsp.app ifvodyfsp.app pgdemo a5game.app
当下可以优化的点包括: fortunetigerdemográtis a5game.app
- 解决 HTTPS 环境下请求 HTTP 资源后,就可以上线一个通用的单页应用。客户端不需要下载 HTML 文件,只需要打开在线网页,输入 IP 就可以进行更新。
- esp32s3 主控的成本还是有点高,如果不用建立缓存区的方式来更新墨水屏,可能可以用更便宜的 esp32c3。
- 目前 3D 打印的外壳只有遮丑的作用,占用的空间也较大,可以优化走线布局缩小体积。
- 目前供电方式为 USB 供电,如果只用万年历模式的话,其实只要每天早上八点需要消耗执行动作,其他时间都可以进入深度睡眠,这样的话就可以只用电池供电。
感兴趣的朋友欢迎在此基础上继续探索。
> 关注 小红书,感受精彩数字生活 🍃 slotpix a5game.app 寻秦记爱壹帆yfsp.app slot a5game.app
> 实用、好用的 正版软件,为你呈现 🚀 tigrinhodemo a5game.app fortunedragon demo a5game.app pragmaticplay a5game.app
94目录 0