AI让个性化定制更便捷——桌面闹钟升级计划
我想要说有一种东西男人对它的痴迷让女人不理解的话,钟表肯定是其中之一了,要不然任天堂也不至于一个闹钟还有卖99刀的勇气。

而一个专业极客(宅男)的桌面上是必须要放一个座钟在上面的。
网上搜图 于是乎,本中年宅决定也废物利用搞一个提升一下生活质量
,翻出了N年前的原道平板(知道这个牌子的年轻人应该已经不多了吧?)装上极简闹钟之后也是可以一战的。如下图:

我的桌面比较乱就不给大家秀整体了单独秀一下效果吧。功能比较实用,就是日期和时间。可惜这个平板年事已高,电池也不经用了,得接上一个电源线才能保持工作。于是这个小痛点隔三差五的就会让人隐隐作痛不管是改电池还是改充电器都不是一个好办法。于是如何让续航更持久呢?那自然是换设备。家里的树莓派要是只用来显示时间那耗电量跟这个平板也差不了哪去。忽然在抖音上刷到一个神器:

esp32的开发板,抖音上好多用这个小东西开发各种小工具,最重要的是这个神器竟然还支持wifi蓝牙!我的天啊,那岂不是还能把联网的功能也做到钟表里面?例如校时和天气。于是一顿操作下来搞定了一个esp32开发板和ssd1306的显示屏(其他的显示屏也有更便宜的,但是我看网上的资料基本上都是这个适配的多一些也容易驱动)。
支持python固件,让我这个二把刀的编程新手省去了学C语言的时间,大大压缩了开发时间,还有一部分时间花在了寻找免费的json格式的天气预报数据上了,好多要么是限制总量要么是数据不全。我选择了高德api接口。然后就是对着网上的代码段一点一点完成功能代码。
第一步,刷入mircopython固件,让esp32主板编程环境变成python。
第二步,放入ssd1306驱动固件,测试点亮这个屏幕。
第三步,完成主要功能:1.主板通过wifi联网,然后获取ntp服务器的当前时间,然后显示到屏幕上。
第四步,时间显示测试通过以后,就再测试从api接口把需要的数据获取出来,因为屏幕大小限制的问题,我只需要实时的温度、风力、风向、天气就可以了。当然因为是实时天气,肯定是定时更新才有效果,我设置的是1小时更新。
第五步,因为esp32的存储空间比较小,是没有办法直接显示汉字的,所以需要把天气显示的汉字全都一个一个的转成点阵符存到esp32里方便程序调用。

这个就是最终成型的成品了,后来我思考如果一个闹钟,它不能闹起来那还是有缺陷啊?!于是右下角我又增加了闹铃功能(时:分) 后面那个i是闹铃开关的符号i是关o是开,又在网上看了看按键中断的写法加上了三个按钮。

贴一段自己手搓的一段代码,可以看出相当的业余了,为了让程序一直运行直接就是一个while1
。这么粗犷的代码自然效率也不是很高,因为有时候读秒时候会直接跳过1.2.3.5.6.7……不过只是看个时间而已不用精确到秒级别。
说到了现在是不是纳闷这跟AI也没什么关系啊?马上就来了。
一直看着这程序忽然想试试传说中的AI要是写会怎么写,当时直接找了chatgpt把自己的代码全复制过去之后直接震惊我了:

这是AI给我调整完的,也是现在正在用着的。切不说功能正常跑通,而且各种函数写的也是又简洁又易懂。不过也是有很多小细节方面需要更改,例如缩进、例如每小时一更新它把列表的位置弄错了。但这已经是超过我的这个初学者的水平了!
现在一个充电宝充满电可以三四天时间,而且充电非常方便。顺便也感受了一下AI带来的震撼。这些小的功能在ai的加持下完全可以把自己的小需求实现出来!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

西域野马222
校验提示文案
西域野马222
校验提示文案