技术宅硬核跨年,DIY墨水屏日历:自动刷新位置、天气,随机播放2000多条「毒鸡汤」| 开源...
贾浩楠 鱼羊 发自 凹非寺
量子位 报道 | 公众号 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多条「毒鸡汤」| 开源...相关推荐
- 【20210108期AI简报】技术宅硬核跨年,开源DIY墨水屏日历!
导读:本期为 AI 简报20210108期,将为您带来 9 条相关新闻,新年新气象,恭祝大家牛年大吉~ 1. 技术宅硬核跨年,DIY墨水屏日历:自动刷新位置.天气,随机播放2000多条「毒鸡汤」| 开 ...
- CORE-ESP32C3|eink|墨水屏日历+时间日期+温度显示|I2C软件模拟| LuatOS-SOC接口|官方demo|学习(14):墨水屏动态日历+oled日期显示+ AHT10测温模组
目录 参考博文 源于网友oled+eink+aht10项目 源代码修改及复现说明 主要修改 显示效果 编辑硬件准备 软件版本 日志及soc下载工具 软件使用 接线说明 天气显示屏 硬件接线 温度采集 ...
- 【N32G457】基于RT-Thread和N32G457的墨水屏日历
本文是RT-Thread用户@xusiwei1236 原创发布,是用于参加RT-Thread与国民技术联手推出N32G457 RT-Thread设计大赛,原文:https://club.rt-thre ...
- 这块DIY墨水屏手表火了!外观可盐可甜,无线蓝牙计步闹钟一应俱全 | 开源
月石一 发自 凹非寺 量子位 报道 | 公众号 QbitAI 还记得Pebble和索尼的墨水屏手表吗? △图源:Wikipedia/SONY 现在,开源的墨水屏智能手表Watchy来了! 先来一睹为快 ...
- CORE-ESP32C3|eink|墨水屏日历|天气API|LuatOS公共接口|气象要素数据V1|collectgarbage|LuatOS-SOC接口|官方demo|学习(13):墨水屏动态日历
目录 参考博文 项目官方地址 显示效果: 硬件准备 软件版本 日志及soc下载工具 软件使用 接线示意图 硬件接线 一.Elink驱动管脚适配 二.天气信息获取 API使用方式: 接口格式(注意需不需 ...
- android webview全屏时自动切换横屏,安卓 webview播放视频及横屏
问题描述: 在项目中,会有在webview嵌入的网页中播放视频的需求,本来以为Android的WebView应该是默认支持视频播放的,不会有太大的问题,但是经过测试后,发现两个大问题: 有些手机无法正 ...
- 如何DIY一台墨水屏笔记本电脑?
梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 墨水屏的电子书.平板等产品早已见怪不怪,但墨水屏的笔记本电脑你是否见过? 近日,一位名叫Alexander Soto(下文简称Alex)的网 ...
- 硬核!我的导师手写129页毕业论文,堪比打印!
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文来源:浙江大学.中国青年报 "闲来无事翻了一下导师的毕 ...
- 2.9寸墨水屏制作互联网时钟填坑手记
制作要求:显示公历日期/农历日期/天气/风向/温度/节日/提醒(屏幕较小,先显示这么多).派加电即可显示,派正常关机屏幕白 屏(休眠)以保护墨水屏,天气相关信息每12小时更新一次.天气信息来源于 ...
最新文章
- 哈希表(等概率下)平均查找长度(转)
- 2021-04-09 随机模拟—蒙特卡洛方法 Matlab代码实现
- 【2012百度之星/初赛下】C:度度熊的礼物
- CCF201403-1 相反数
- Intel 64/x86_64/IA-32/x86处理器 - 指令格式(4) - 8086/16位指令操作码字节
- GCC和TCC编译TCC
- linux下c语言scanf,C语言输入scanf
- VC遍历窗口上的控件
- Win10之选择文件右击时卡死问题(转圈圈)
- 安全扫描利器-xscan3.3中文版
- bootstrap批量删除操作!
- ESP8266+安信可微信智能配网
- Animation之闪烁的星星
- 没有PPT,一文带你了解元宇宙
- 【linux】利用ssh、sshpass和rsync命令,实现免密同步文件,指定非22端口
- android 高德地图录制视频,《高德地图》录制导航录音包方法教程
- 汇金增持:救市还是抄底? FT中文网特约撰稿人 陈宁远
- CSS三种样式表:行内样式表、内部样式表、外部样式表
- 蓝牙三国q 1.92 java,【蓝牙三国】蓝牙三国 kill HD 1.6下载_安卓(android)软件下载-魅族溜...
- win10笔记本玩游戏总是很卡怎么办
热门文章
- 使用jQuery更改图片来源
- 使用curl从HTTP POST仅获取响应标头
- CentOS 7 快速部署 ELK
- Tensorflow之调试(Debug) tf.py_func()
- 支付系统整体架构详解
- MapGuide应用开发系列(四)---- 如何运行第一个.net实例代码
- android NDK 二、编译方法
- 【转】三天学好ADO
- Flutter framework在线上构建时的包大小优化
- SpringMVC框架 学习DAY_01:框架概括 / 简易应用 / 核心执行流程图 /在框架下显示HTML模板页面/ 接受请求