一个树莓派墨水屏台历

最近想准备一个礼物,于是准备用树莓派Zero+积木+4.2寸微雪三色墨水屏幕做一个台历。

GitHub?

硬件准备

  • 树莓派
  • 微雪4.2寸三色墨水屏
  • DHT11/22可选

已经实现功能

  • 爬取天气信息,可自定义城市 、 区
  • 显示一言或者纪念日信息
  • 黄色显示异常状态,如:高温、CPU异常、PM异常、UV异常等

待实现功能

  • 异常状况自动初始化墨水屏
  • 检测或自动更新功能
  • 通过U盘自动更新WIFI信息 :)

使用方法

  1. 安装 waveshare 官方所需依赖
  2. 安装程序所需依赖
sudo apt install python3-pip
sudo pip3 install requests lxml
sudo apt install git build-essential python3-dev
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo python3 ./setup.py install
  1. 运行程序
git clone https://github.com/uniartisan/epaper_clock_4.2.git
cd epaper_clock_4.2

在location.json文件并填入城市信息

python3 tianqi.py
python3 cpu_temperature.py
python3 weather_time_render.py
  1. 根据需求设置cron、开机自启动start脚本

成品预览

image.png

代码解析

虽然这么说自己写的代码真的是不好意思,但确实由于熬夜写这个和花了一整天搭积木头晕眼花导致代码很不好看。

代码主要分为: 硬件温度获取、天气爬虫、墨水屏操作三个部分。

主要就是考虑到送人后需要自动化运行所以墨水屏操作里面对一些异常情况有处理,:( 写界面和这种硬件调试真的很花费时间。

更新

替换新浪天气为 tianqi.com 数据,数据来源于中国天气网,新增PM和UV指数。

Last modification:August 19th, 2020 at 09:25 am
If you think my article is useful to you, please feel free to appreciate