自制一个电子墨水屏日历,需要几步?
是能自动刷新位置、天气情况,还能随机播放2000多条毒鸡汤的那种。
↑↑↑就像这样:如果我的人生是一部电影,那你就是一个弹出来的广告。每10分钟会刷新一条。
配上相框,相比于网购平台上售价299元的这一款,你觉得能打几分?
这样的一款新“产品”,来自微博博主@张欣 | Kenn。
并且,他还把制作方法开源了。
不妨一起来看个究竟~
硬件准备
@张欣 | Kenn决定制作这样一款电子墨水屏,缘起是看到了网络购物平台上出售的类似产品。
产品挺有意思,但想要点毒鸡汤那个味儿,还是得自己动手DIY一下。
直接来看方案。
屏幕,231元
首先是是屏幕。类似手机、智慧屏这类的硬件中,屏幕一般是最贵的部分。
张欣参考了网售产品的方案,选择了单价不太高的微雪电子5.83寸黑白电子墨水屏。
这款屏幕型号叫e-paper,648×480分辨率,SPI接口,售价231元。
同时,这款屏幕也采用了当下比较流行的串口形式。与并口连接相比,串口屏只需要2根线链接通信,且控制程序简单,比并口屏少90%。
有的串口屏甚至不再需要MCU,可以直接控制。
对于DIY电子产品来说,串口屏比较合适。
如果你打算用树莓派或者其他Arduino设备来驱动,可以选择带有适配板的套装,价格为283.5元。
此外,类似型号电子屏还有彩色版本,不过成本也更高。
假如你真的采用了彩色屏,可能需要修改原作者的代码才能适用。
计算单元,78.75元
张欣采用了乐鑫的ESP32芯片。
ESP32芯片自带2.4G无线网络和蓝牙,有充足的引脚。
并且,当前市场上能买到很多成熟的ESP32开发板。
当然,要是够硬核,可以自己买基于ESP32的模组,然后整合到板子里。
要注意的是,这两种方式都需要买屏幕时顺便买适配板,好将屏幕的软排线转换为SPI接口。
作者为了快速做出成品,选用微雪自带软排线接口、基于ESP32的墨水屏开发板,价格78.75元。
电源,50元以内
其实,在开发时,可以通过电脑上的USB接口用micro USB线直接供电,同时进行调试工作。
但如果要在实际使用中摆脱电源线的话,可以直接购买一块自带micro USB充放接口的锂电池。
电池的容量不同价格也不一样,不过一般都在50元以下。
最后计算一下,DIY相同墨水屏的成本最多为231+78.75+50=359.75元。
咋还比网购平台上的贵了呢。(手动狗头)
其实很好理解,所有部件按零售价购买,自然比厂家进货价贵。
但技术宅享受的,不就是自己动手的乐趣吗?
软件方案
准备好了硬件,软件部分又要如何实现?
框架部分,张欣选择了Arduino,因为里面有大量现成的第三方库可以使用。
开发工具方面,他则推荐使用Visual Studio Code。
具体而言,该项目的代码主要实现了以下几个功能。
首先,规划屏幕布局,并且每10分钟刷新一次屏幕,实时更换毒鸡汤的口味。
△图源:微博博主@张欣 | Kenn
现成的毒鸡汤,一共有2000+款,像是:
……
完整内容,在该项目的toxicsoul.h文件中可以看到。
日期使用的是ESP32系统自带的时钟。
位置则通过查询当前设备的IP地址来获得。
△部分代码
实时天气信息,来自和风天气开发平台的服务。在具体实现的时候,需要自己注册账号,获取应用程序Key。
const String QWEATHER_API_KEY = “**“;
其中涉及的第三方库主要包括:
- Adafruit GFX:图像图形引擎,实现显示输出
- GxEPD2:基于Adafruit_GFX库驱动各种电子墨水屏
- U8g2 for Adafruit GFX:显示文字
- u8g2_fontmaker:一个用于生成u8g2字体源代码的一键懒人脚本工具,同样出自项目作者之手
- ArduinoJSON:处理JSON字符串
一切准备就绪,把程序烧录到开发板里,再用热熔胶等DIY必备工具组装一番,接上电源,毒鸡汤电子墨水屏日历就诞生了。
网友:搞起来
这个毒鸡汤电子墨水屏日历在元旦当天初步完成施工,就收获了网友们热烈的点赞。
不少网友当场表示,奈斯啊,搞起来。
还有网友当场提起了新需求(手动狗头):
有关续航方面的信息,作者也在评论区做出了解答:
关于作者
张欣,本科就读于北京化工大学计算机系,硕士在中国科学院大学就读。
曾供职微软高级产品顾问,一直从事与微软平台下的项目开发,对于.NET平台、数据库、多层架构设计有着丰富经验,参与并主导过多个大型应用系统的架构设计以及研发、实施工作。
他还是微软的MVP(微软最有价值专家)。
以上,传送完毕。看完这些,你是否也有一丝心动?
那么,动手搞起来?毕竟——
(手动狗头)
项目地址:
https://github.com/breakstring/eInkCalendarOfToxicSoul
— 完 —
“