查看: 4063|回复: 0

[项目] 树莓派3diy配备电子纸屏幕的抽纸盒

[复制链接]
  • TA的每日心情
    开心
    2013-12-17 13:39
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2017-10-10 10:49:14 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 ky123 于 2017-10-11 10:58 编辑

    用树莓派+电子纸屏做了一个时钟(这块时钟除了显示基本的日期时间,还可以显示天气和室内的温湿度),搭配一个抽纸盒作为外壳。
    TIM截图20171010102852.png

    内部构造,模块和跳线全部用热熔胶固定
    TIM截图20171010102919.png

    背面
    TIM截图20171010102928.png

    所用的硬件
    1、树莓派3
    2、微雪4.3寸串口电子墨水屏
    3、DHT22温湿度传感模块

    硬件连接
    屏幕\树莓派
    DIN\TX(GPIO14)
    DOUT\RX(GPIO15)
    GND\GND
    VCC\3V

    DHT22\树莓派
    DOUT\1-Wire(BCM4)
    GND\GND
    VCC\V

    DHT22 DOUT引脚也可以接到其他gpio脚上,不过要相应的修改home_air_sensor.py中read_retry第二个参数

    准备软件环境
    树莓派的串口默认是用于linux串口终端登录用的,如果要通过串口控制屏幕,就需要把它解放出来。

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

    第一步 确保SD卡刷了最新的raspbian jessie镜像
    第二步 系统启动,并连接了网络
    第三步 执行
    1. sudo apt-get update
    2. sudo apt-get upgrade
    复制代码
    第四步 编辑 /boot/config.txt 添加一行
    1. dtoverlay=pi3-miniuart-bt
    复制代码
    最后 禁用自带蓝牙
    1. sudo systemctl disable hciuart
    复制代码
    释放串口
    编辑 /boot/cmdline.txt,默认是下面这样
    1. dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
    复制代码
    或者这样
    1. dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 kgdboc=serial0,115200 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
    复制代码
    把console=ttyAMA0,console=serial0,kgdboc=***这两个参数删掉 变成下面这样
    1. dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
    复制代码
    之后sudo reboot重启系统 串口就可以正常使用了

    安装软件依赖
    1. sudo apt-get install python-requests python-lxml python-serial git build-essential python-dev
    2. git clone https://github.com/adafruit/Adafruit_Python_DHT.git
    3. cd Adafruit_Python_DHT
    4. sudo python ./setup.py install
    复制代码
    准备串口屏幕的图片和字体资源
    这个串口屏是通过TF卡加载字体和图片资源的(好坑爹的设计。。),所以你需要准备一张TF卡,格式化为 FAT32 文件系统,分配单元大小选择 4096 字节,然后把tf_card文件夹中的文件全部copy到TF卡根目录,并把TF卡查到屏幕的卡槽里。

    然后就可以运行了~

    在运行之前先编辑一下weather_time_render.py,找到下面2行,把注释取消掉,运行时会把屏幕TF卡中的文件加载到屏幕自带的NandFlash中,之后就不需要插TF卡了。
    1. # screen.load_pic()
    2. # time.sleep(5)
    复制代码
    运行脚本
    1. sudo ./home_air_sensor.py
    2. ./weather_fetcher.py
    3. ./weather_time_render.py
    复制代码
    没有特殊情况,屏幕将和成品显示同样的画面,第一次运行之后就可以把加载图片的2句代码再次注释掉了。

    欢迎大家加入树莓派交流群:138540551
    树莓派qq群.png
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 02:46 , Processed in 0.116552 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.