Linux

树莓派 X 墨水屏 :高逼格的电子时钟 添加百度统计功能

很久之前就看到了有位大佬利用树莓派和墨水屏做出了个电子时钟,逼格比液晶屏不知道高到哪里去了,反观我……,于是决定模仿一波,以提高自己的姿势水平。为了保证不两眼一摸黑,在买之前先仔细学习了两位大佬的文章、产品文档、串口的使用方法……,确认能够上手后才买了下来。

以下是参考的大佬的两篇文章:

好,开工吧!

准备

需要准备的有树莓派和墨水屏,TF卡一张(不包括树莓派上用的TF卡,因为墨水屏只识别Fat32格式,所以容量不要太大,8G就够了)。

墨水屏我使用的是微雪的4.3寸墨水屏,分辨率为800×600,在淘宝或京东上搜索关键词即可(淘宝上卖的更便宜)。上图:

说实话,这块墨水屏的质量实在不敢恭维,比Kindle差远了,不支持局部刷新。不过好在这不是重点。

准备TF卡

按照原作者在Github上给出的教程和文件,将TF卡格式化为Fat32格式,然后将文件全部复制到TF卡中。最后将TF卡插入墨水屏上的卡槽中。(附Github链接:emptyhua/epaper_clock

树莓派的设置

这儿可以参考原作者在Github上的教程。(下文来自https://github.com/emptyhua/epaper_clock)

树莓派3的串口BUG

在释放串口之前,我们要先解决一下树莓派3的BUG(如果用1,2代请忽略这一步)树莓派3的硬件串口被分配分配给了蓝牙模块,而GPIO14和GPIO15的串口是由内核模拟的,不稳定(可以说基本不能用),所以首先要把GPIO14和GPIO15改成硬件驱动

第一步 确保SD卡刷了最新的raspbian jessie镜像

第二步 系统启动,并连接了网络

第三步 执行

第四步 编辑 /boot/config.txt 添加一行

最后 禁用自带蓝牙

释放串口

编辑 /boot/cmdline.txt,默认是下面这样

或者这样

console=ttyAMA0,console=serial0,kgdboc=***这两个参数删掉 变成下面这样

之后sudo reboot重启系统 串口就可以正常使用了

开始使用

既然用了人家的东西,自己也要做点贡献,于是乎自己动手添加了百度统计的功能,从百度统计API中获取网站统计数据,在屏幕上显示出来。效果如图:

python代码已放在了Github上:https://github.com/OGRLEAF/epaper_clock

其中,百度统计API是用的官方提供的SDK,暂时还没找到Python版本的。原SDK存在一些问题,我自己修改了下,针对实际情况做了些调整(均已在代码中注明)。

获取百度统计API

1.首先要获取百度统计的API,登录百度统计->管理->其它设置->数据导出服务,启用数据导出功能,启用后你会获得一个TOKEN: image

2.编辑/tongjiapi/Config.inc.php,将其中的TOKEN、登录百度统计用的账号密码改为你自己的:

3.安装环境 因为个人水平有限,而百度统计只提供了php的SDK,所以…………需要先安装php环境

4.尝试获取统计数据

如果输出类似下面的结果,说明获取成功:

开始运行吧

执行以下命令:

其它

github里添加了crontab的配置:

统计数据设置为1分钟刷新一次(百度统计API有请求次数限制,每周的配额2000~50000,注意配额的使用)

另外附上独立的在墨水屏上显示统计数据的代码:

(顺便说下,这是我写出的第一个完整的Python (。・`ω´・))

(4)

本文由 橙叶博客 作者:FrankGreg 发表,转载请注明来源!

关键词:

热评文章

评论:

4 条评论,访客:4 条,博主:0 条
  1. 夜幕下的尖椒
    夜幕下的尖椒发布于: 

    博主我的墨水屏连上机器后,输出文字没有任何反应,求指导啊。。

    • FrankGreg
      FrankGreg发布于: 

      可能是这几个问题:
      连接的针脚不对。
      串口没有配置好(参见文章前半部分)。
      看看Python代码执行后有没有报错,给墨水屏通电时有没有刷新动作。

  2. 夜幕下的尖椒
    夜幕下的尖椒发布于: 

    我也是看到了大佬的这个帖子 想做一个一样的东西 ,但是初入python 很多不懂 ,麻烦大神指点一下

发表评论

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