V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mingl0280
V2EX  ›  Raspberry Pi

基于雅虎天气, ST7735/7735S 和 DHT11 的树莓派的实时温度屏

  •  
  •   mingl0280 · 2017-01-02 16:42:48 +08:00 · 4915 次点击
    这是一个创建于 2867 天前的主题,其中的信息可能已经有所发展或是发生改变。

    几个月之前搞了个这玩意儿,可以实时显示当前的气温(来自雅虎天气)和室内的气温与湿度。

    代码: https://github.com/mingl0280/WpiWeather

    代码写得有点乱……


    需要的库有:

    wiringPi, tft_st7735, curl, xml2, ssl, png, pthread


    接线:

    ST7735/ST7735S

    LCD, VCC 3.3v

    SCK(SCL) GPIO 19 串行时钟信号

    SDA GPIO 13 数据

    AO(RS) GPIO 17 数据或命令切换

    RESET(RST) GPIO 27 复位

    CS GPIO 23 片选

    GND 任意接地口 接地

    DHT11

    VCC 任意 5v 口

    DATA 任意 GPIO 口(可在代码中修改)

    备注:需用 4.7K (官方手册 5.1K ,实际上大于 3K 都够……注意线路长度不要太长)上拉电阻连接到 VCC 
    

    GND 任意接地口


    参考了 Mango Love Carrot 的树莓派各种教程( http://blog.mangolovecarrot.net/categories/%E6%A0%91%E8%8E%93%E6%B4%BE/)

    10 条回复    2017-01-23 17:17:53 +08:00
    xmoiduts
        1
    xmoiduts  
       2017-01-02 17:06:52 +08:00 via Android
    dht11 精度太低了,或许需要对数据进行(滤波?)
    emric
        2
    emric  
       2017-01-02 17:40:08 +08:00
    推荐 BMP280 , 0.5° 误差、 0.01° 精度, 7 块钱(没有气压)。
    springmarker
        3
    springmarker  
       2017-01-02 20:23:28 +08:00 via Android
    dht11 错误率高, dht22 应该好点😭我的 dht22 还没正式用就烧了
    deyu260
        4
    deyu260  
       2017-01-02 20:30:37 +08:00
    mark
    mingl0280
        5
    mingl0280  
    OP
       2017-01-03 04:24:32 +08:00 via Android
    @xmoiduts 我这里倒是有个代码是自适应数据过滤的但是效果并不好(阈值效果比较好,大概一百次里面出错 5 次?没检查过),不过反正出错就重读……这玩意儿也不要求特别精确的时间对吧……
    mingl0280
        6
    mingl0280  
    OP
       2017-01-03 04:27:50 +08:00 via Android
    @emric 感觉没必要搞那么高精度 23333
    xmoiduts
        7
    xmoiduts  
       2017-01-03 08:17:54 +08:00 via Android
    @mingl0280 不是出错问题。如果你绘制过图表就会发现,温度曲线仿佛 pwm 信号一样上下跳动。实际使用其实没什么。
    mingl0280
        8
    mingl0280  
    OP
       2017-01-23 09:54:56 +08:00 via Android
    @xmoiduts 我猜是因为 dht11 不能连续读数据的问题,官方文档要求至少两次读之间有 5s 的间隔,否则读出来的数据就不对……
    xmoiduts
        9
    xmoiduts  
       2017-01-23 13:10:19 +08:00 via Android
    @mingl0280 我记得最小间隔是 2s 啊。另外上下跳动的范围在 1 度以内
    mingl0280
        10
    mingl0280  
    OP
       2017-01-23 17:17:53 +08:00
    @xmoiduts 5s ,这个是 DHT11/22 文档里写的。估计跳动也是这个原因……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   914 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:45 · PVG 05:45 · LAX 13:45 · JFK 16:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.