今夏推出

水墨屏智能闹钟

开放 · 高效 · 创新

简介

100%基于Python开发

在保证运行速度的同时极大的简化了开发难度。系统UI完全由PIL模块渲染,赋予了程序极大的自由度,开发者不仅可以调用 framwork.lib 中已有的控件,也可以自己编写控件,只须返回图片,一切轻松搞定

系统展示

树莓派Zero W

主控采用树莓派Zero W,这为python的运行提供了可能,也大大增加了这个智能硬件的可玩性。甚至允许你把这个闹钟变为一个网页服务器。

板载的蓝牙和WIFI芯片为连接提供了方便,该闹钟将支持在线配置,只须在同一局域网下就能用手机对其进行设置,稍后我们也将实现蓝牙配网功能。

微雪 2.9寸 触控水墨屏

采用水墨屏实现更自然的显示。相比一般diy玩家所能购买到的lcd屏幕和oled屏幕,它具有更好的外观和显示效果。

这块屏幕全局刷新比较慢,需要1.5s。但是同时它支持更快局部刷新,提供更好的使用体验。

接口方面,该屏幕使用spi接口来刷新屏幕,iic接口来扫描触控,并且用驱动板整合到40pin接口与树莓派相连,也方便了我从这块屏幕的40pin母座上引出连接拓展板的借口,避免直接对树莓派动刀。

可惜的是这块屏幕不支持灰度显示,抖动算法使大部分的字体显示会有毛刺(现已解决)

自制震动引擎

为了实现“触摸反馈”“震动提醒”等功能,我自己绘制了拓展版,将iPhone 6s上的线性马达移植到这款智能闹钟上,贴合在屏幕背部。

这块拓展版使用mos管作为“继电器”,使用树莓派的GPIO的PWM调频对马达进行控制。通过设置空占比和频率就能完全控制马达的震动力度和频率。

被魔改的Taptic Engine

Web分支

区别于前面的介绍,web分支由@xuanzhi33开发,采用python与web混合开发。

得益于web强大的可移植性,你可以在各个设备上试用智能闹钟的系统。访问该分支来获取更多信息

关于 Web分支

web分支与Master分支都可以直接在树莓派zero w上运行,但有所不同。虽然主程序仍然使用Python编写,但是在UI层面采用了HTML+js开发,所以采用了chromium内核。原本以为树莓派zero w跑不动chromium,但是尝试了之后感觉体验还挺好,就开了个新分支。因为使用HTML+js开发界面比纯python写要简单(反正我是这么认为的),而且可以直接在电脑浏览器上调试,所以开发效率和调试效率都大大提升了。不足之处也是显而易见的,那就是开机会有点慢(与master分支相比慢了约13s),占用内存会有一点大,但是还是可以接受的。

更多

追踪进度?

通过访问gitee开源仓库即可看到我们的实时动向。

同时你可以clone仓库到本地通过@xuanzhi33 开发的水墨屏模拟器来试用(目前python版本的模拟器只能在macOS上运行)

敬请期待!

加入我们

目前开发团队仅有两人,我们来自宁波市兴宁中学高中部(所以基本只在假期施工~)。

如果你擅长编程、建模或设计,你可以通过我的gitee账号下的联系方式找到我们,与我们共同开发!

致谢

感谢你能看到这里,如果觉得这个项目有趣不妨将其分享到朋友圈或QQ空间,让更多的人看到这个项目。如果你有什么好的建议或建议,也欢迎在评论区留言~

特别感谢我的父亲,没有他的全力支持就不会有现在的我与这个项目

留下评论

您的电子邮箱地址不会被公开。 必填项已用*标注