贾浩楠 鱼羊 发自 凹非寺
量子位 报道 | 公众号 QbitAI

自制一个电子墨水屏日历,需要几步?

是能自动刷新位置、天气情况,还能随机播放2000多条毒鸡汤的那种。

↑↑↑就像这样:如果我的人生是一部电影,那你就是一个弹出来的广告。每10分钟会刷新一条。

配上相框,相比于网购平台上售价299元的这一款,你觉得能打几分?

这样的一款新“产品”,来自微博博主@张欣 | Kenn。

并且,他还把制作方法开源了。

不妨一起来看个究竟~

硬件准备

@张欣 | Kenn决定制作这样一款电子墨水屏,缘起是看到了网络购物平台上出售的类似产品。

产品挺有意思,但想要点毒鸡汤那个味儿,还是得自己动手DIY一下。

直接来看方案。

屏幕,231元

首先是是屏幕。类似手机、智慧屏这类的硬件中,屏幕一般是最贵的部分。

张欣参考了网售产品的方案,选择了单价不太高的微雪电子5.38寸黑白电子墨水屏。

这款屏幕型号叫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必备工具组装一番,接上电源,毒鸡汤电子墨水屏日历就诞生了。

网友:搞起来

这个毒鸡汤电子墨水屏日历在元旦当天初步完成施工,就收获了网友们热烈的点赞。

不少网友当场表示,奈斯啊,搞起来。

还有网友当场提起了新需求(手动狗头):

想把前一天的日报统计显示出来。

有关续航方面的信息,作者也在评论区做出了解答:

还没有时间或者说条件测功率消耗,其实代码优化点,刷新后就把屏幕和ESP32休眠,刷新时间间隔拉长,耗电量会很低很低……

关于作者

张欣,本科就读于北京化工大学计算机系,硕士在中国科学院大学就读。

曾供职微软高级产品顾问,一直从事与微软平台下的项目开发,对于.NET平台、数据库、多层架构设计有着丰富经验,参与并主导过多个大型应用系统的架构设计以及研发、实施工作。

他还是微软的MVP(微软最有价值专家)。

张欣现在是专注无人机的创业公司新蜂智能合伙人、产品主管。

以上,传送完毕。看完这些,你是否也有一丝心动?

那么,动手搞起来?毕竟——

只要我肯努力,没什么事情是我搞不砸的。

(手动狗头)

项目地址
https://github.com/breakstring/eInkCalendarOfToxicSoul

—  —

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

AI落地最佳参考!

2020中国人工智能年度评选结果揭晓

12月16日,量子位MEET 2021智能未来大会现场,50大领航企业、10大明星创业公司、30大商业领军人物、10大最佳产品、10大最佳解决方案、5大社会责任榜样、5大最佳技术社区等年度奖项悉数颁出。

点击图片查看完整榜单:

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~

技术宅硬核跨年,DIY墨水屏日历:自动刷新位置、天气,随机播放2000多条「毒鸡汤」| 开源...相关推荐

  1. 【20210108期AI简报】技术宅硬核跨年,开源DIY墨水屏日历!

    导读:本期为 AI 简报20210108期,将为您带来 9 条相关新闻,新年新气象,恭祝大家牛年大吉~ 1. 技术宅硬核跨年,DIY墨水屏日历:自动刷新位置.天气,随机播放2000多条「毒鸡汤」| 开 ...

  2. CORE-ESP32C3|eink|墨水屏日历+时间日期+温度显示|I2C软件模拟| LuatOS-SOC接口|官方demo|学习(14):墨水屏动态日历+oled日期显示+ AHT10测温模组

    目录 参考博文 源于网友oled+eink+aht10项目 源代码修改及复现说明 主要修改 显示效果 ​编辑硬件准备 软件版本 日志及soc下载工具 软件使用 接线说明 天气显示屏 硬件接线 温度采集 ...

  3. 【N32G457】基于RT-Thread和N32G457的墨水屏日历

    本文是RT-Thread用户@xusiwei1236 原创发布,是用于参加RT-Thread与国民技术联手推出N32G457 RT-Thread设计大赛,原文:https://club.rt-thre ...

  4. 这块DIY墨水屏手表火了!外观可盐可甜,无线蓝牙计步闹钟一应俱全 | 开源

    月石一 发自 凹非寺 量子位 报道 | 公众号 QbitAI 还记得Pebble和索尼的墨水屏手表吗? △图源:Wikipedia/SONY 现在,开源的墨水屏智能手表Watchy来了! 先来一睹为快 ...

  5. CORE-ESP32C3|eink|墨水屏日历|天气API|LuatOS公共接口|气象要素数据V1|collectgarbage|LuatOS-SOC接口|官方demo|学习(13):墨水屏动态日历

    目录 参考博文 项目官方地址 显示效果: 硬件准备 软件版本 日志及soc下载工具 软件使用 接线示意图 硬件接线 一.Elink驱动管脚适配 二.天气信息获取 API使用方式: 接口格式(注意需不需 ...

  6. android webview全屏时自动切换横屏,安卓 webview播放视频及横屏

    问题描述: 在项目中,会有在webview嵌入的网页中播放视频的需求,本来以为Android的WebView应该是默认支持视频播放的,不会有太大的问题,但是经过测试后,发现两个大问题: 有些手机无法正 ...

  7. 如何DIY一台墨水屏笔记本电脑?

    梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 墨水屏的电子书.平板等产品早已见怪不怪,但墨水屏的笔记本电脑你是否见过? 近日,一位名叫Alexander Soto(下文简称Alex)的网 ...

  8. 硬核!我的导师手写129页毕业论文,堪比打印!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文来源:浙江大学.中国青年报 "闲来无事翻了一下导师的毕 ...

  9. 2.9寸墨水屏制作互联网时钟填坑手记

    制作要求:显示公历日期/农历日期/天气/风向/温度/节日/提醒(屏幕较小,先显示这么多).派加电即可显示,派正常关机屏幕白    屏(休眠)以保护墨水屏,天气相关信息每12小时更新一次.天气信息来源于 ...

最新文章

  1. 哈希表(等概率下)平均查找长度(转)
  2. 2021-04-09 随机模拟—蒙特卡洛方法 Matlab代码实现
  3. 【2012百度之星/初赛下】C:度度熊的礼物
  4. CCF201403-1 相反数
  5. Intel 64/x86_64/IA-32/x86处理器 - 指令格式(4) - 8086/16位指令操作码字节
  6. GCC和TCC编译TCC
  7. linux下c语言scanf,C语言输入scanf
  8. VC遍历窗口上的控件
  9. Win10之选择文件右击时卡死问题(转圈圈)
  10. 安全扫描利器-xscan3.3中文版
  11. bootstrap批量删除操作!
  12. ESP8266+安信可微信智能配网
  13. Animation之闪烁的星星
  14. 没有PPT,一文带你了解元宇宙
  15. 【linux】利用ssh、sshpass和rsync命令,实现免密同步文件,指定非22端口
  16. android 高德地图录制视频,《高德地图》录制导航录音包方法教程
  17. 汇金增持:救市还是抄底? FT中文网特约撰稿人 陈宁远
  18. CSS三种样式表:行内样式表、内部样式表、外部样式表
  19. 蓝牙三国q 1.92 java,【蓝牙三国】蓝牙三国 kill HD 1.6下载_安卓(android)软件下载-魅族溜...
  20. win10笔记本玩游戏总是很卡怎么办

热门文章

  1. 使用jQuery更改图片来源
  2. 使用curl从HTTP POST仅获取响应标头
  3. CentOS 7 快速部署 ELK
  4. Tensorflow之调试(Debug) tf.py_func()
  5. 支付系统整体架构详解
  6. MapGuide应用开发系列(四)---- 如何运行第一个.net实例代码
  7. android NDK 二、编译方法
  8. 【转】三天学好ADO
  9. Flutter framework在线上构建时的包大小优化
  10. SpringMVC框架 学习DAY_01:框架概括 / 简易应用 / 核心执行流程图 /在框架下显示HTML模板页面/ 接受请求