zoukankan      html  css  js  c++  java
  • 树莓派 zero w 添加微雪墨水屏 显示天气

    初始化树莓派 zero

    树莓派历史版本(http://downloads.raspberrypi.org/raspbian/images/ 或者 http://downloads.raspberrypi.org/raspbian_lite/images/)网站下载树莓派系统,我这里下载的是 raspbian-2019-04-09 对应 Debian 9 的系统,再往后的版本都是以 Debian 10 作为基础的系统了。
    这里建议下载该版本,因为这个版本的 python 是 3.5 的版本,微雪的电子屏驱动 demo 要求 python 3.6 以下(应该是这样,我对这方面不是很了解)所以这个版本好弄一点。
    下载后通过 Raspberry Pi Image 这个程序烧录到 SD 卡里面即可。Raspberry Pi Image 官网下载就好。

    联网

    树莓派 zero w 没有有线网接口,但是有 wifi 和蓝牙,所以让其开机自动连接 wifi,然后通过 ssh 连接即可。

    1.在树莓派 zero w 的 /boot 目录下新建 ssh 文件。名字就是 ssh,不需要填写任何内容
    2.新建 wpa_supplicant.conf 文件,写入以下内容:

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    country=CN
    network={
      ssid="wifi名称"
      psk="wifi密码"
    }
    
    network={
      ssid="第二个wifi名称"
      psk="第二个wifi密码"
    }
    

    初始化配置

    0.ssh登录
    树莓派启动后,我们通过连接的路由器找到树莓派的 IP 地址,然后 ssh 连接上去。(或者安装 bonjure 后,raspberrypi.local 即为树莓派的 ip 地址)
    初始账号是:pi raspberry

    1.更换国内源

    修改 /etc/apt/sources.list
    deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
    deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
    
    修改 /etc/apt/sources.list.d/raspi.list
    deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
    deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
    
    
    sudo apt-get update && upgrade
    
    

    运行微雪 demo

    我这里使用的是微雪2.13英寸的墨水屏,分辨率是 122x250 支持局部刷新,官方教程地址:https://www.waveshare.net/wiki/2.13inch_e-Paper_HAT

    1.开启SPI接口

    sudo raspi-config
    选择Interfacing Options -> SPI -> Yes 开启SPI接口
    
    sudo reboot
    

    2.安装库
    安装BCM2835

    wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.68.tar.gz
    tar zxvf bcm2835-1.68.tar.gz 
    cd bcm2835-1.68/
    sudo ./configure && sudo make && sudo make check && sudo make install
    

    安装wiringPi

    sudo apt-get install wiringpi
    gpio -v  ## 显示 2.50
    

    2019年5月之后的系统,需要 2.52 的 gpio,使用 apt-get 无法获取,需要手动升级。

    wget https://project-downloads.drogon.net/wiringpi-latest.deb
    sudo dpkg -i wiringpi-latest.deb
    

    安装Python函数库

    sudo apt-get update
    sudo apt-get install python3-pip
    sudo apt-get install python3-pil
    sudo apt-get install python3-numpy
    sudo pip3 install RPi.GPIO
    sudo pip3 install spidev
    

    这里我花费了很久才解决 python 库的安装,踩了如下坑:
    1.python3-numpy 只支持 python3.6 以下版本,我第一次安装了树莓派最新的 os,python 是 3.7 的,无法安装这个库,使用 pip 安装后 demo 程序报各种缺少依赖,无奈放弃。安装了 raspbian-2019-04-09 版本的 os,python 是 3.5 的。
    2.使用了 raspbian-2019-04-09 的 os 后 python3-pip 无法安装,缺少依赖,于是手动到官网下载了 pip3。
    3.spidev 安装失败,缺少依赖。先安装 python3-dev(sudo apt-get install python3-dev) 后安装成功。
    由于我是一个 Java 开发者,对 python 不是很熟悉,上面的几个坑懂 python 的应该不会遇到。

    下载官方 demo

    sudo git clone https://github.com/waveshare/e-Paper
    cd e-Paper/RaspberryPi_JetsonNano/
    

    运行测试程序

    cd ~/e-Paper/RaspberryPi_JetsonNano/python/examples
    python3 epd_2in13_V2_test.py
    

    我购买的是微雪2.13inch e-Paper HAT V2 的版本,所以运行这个测试案例即可。

    开发程序

    稍微在官网的 demo 上修改下就可以开发自己想要的程序了,说白了就是画图嘛,源码放在 github 上了。

    定时刷新

    定时让屏幕刷新,我使用的是系统的 cron。

    service cron start
    vim /etc/rsyslog.conf ## 取消 cron.* 的注释,开启 cron 日志
    crontab -e
    0 * * * *  cd ~/e-Paper/RaspberryPi_JetsonNano/python/examples && python3 weather.py >> /home/pi/cron.log 2>&1
    
    

    我得程序名称为 weather.py 每小时执行一次,并把执行日志记录在 /home/pi/cron.log 文件中。

    参考资料:
    https://zhuanlan.zhihu.com/p/58719487
    https://www.linuxprobe.com/linux-crontab.html
    https://blog.csdn.net/slz0813/article/details/82961906
    https://www.cnblogs.com/determined/p/11984203.html
    https://www.cnblogs.com/uestc-mm/p/11450570.html

  • 相关阅读:
    愚蠢的程序员...
    云计算优于终端计算和集中计算?
    REST资源合集
    龙芯软件开发:使用龙芯2e的模拟器GXemul
    The Origins of Complex Numbers
    net 3.5 Ms Chart 使用心得
    XPO 第三方控件学习(DevExpress Persistent Object )系列表间关系
    show your data
    缩略数据
    单片机试题
  • 原文地址:https://www.cnblogs.com/manastudent/p/14228262.html
Copyright © 2011-2022 走看看