『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 25584|回复: 12

攀藤PMS5003ST+Nodemcu自制三合一(pm2.5,甲醛、温湿度)传感器

[复制链接]

46

主题

641

帖子

4411

积分

元老级技术达人

积分
4411
金钱
3740
HASS币
120
发表于 2021-1-14 16:52:05 | 显示全部楼层 |阅读模式
本帖最后由 evantalk 于 2021-1-14 18:47 编辑

看到论坛有人提到“攀藤G5003ST ”模块,支持采集pm2.5、甲醛、温湿度,支持串口输出数据,可以通过ESPHome接入HA,果断买了一个。
最基础的颗粒物检测只要60多,加上甲醛检测需要多加100


该设备在ESPHome中的类型为 pmsx003 ,通过uart协议读取数据:https://esphome.io/components/sensor/pmsx003.html其实从 Nodemcu接三根
线就能轻松秒杀,(5V、GND给模块供电,rx接模块的tx)。 代码如下:
uart:
  rx_pin: GPIO03
  baud_rate: 9600

sensor:
  - platform: pmsx003
    type: PMS5003ST
    temperature:
      name: "temperature"
      id: tmp
    pm_2_5:
      name: "pm25"
      id: p25
    humidity:
      name: "humidity"
      id: hmd
    formaldehyde:
      name: "hcho"
      id: hh
4e168d5653bbf820cb0f61beba21056105a36e4e.png
打开ESPHome自带的web页面
image-2-1536x864.png
HA能自动发现esphome的设备
image-4.png
基础教程到处结束
=======================================================================
以下是进阶教程
显示屏
想想成品的设备都有一个小屏幕可以查看数据,我也来弄一个ssd1306的屏幕,反正手头有存货。设计了2个页面,start_page为开机页面,state_page为数据显示页面。增加代码如下:
i2c:
  sda: GPIO4
  scl: GPIO2
  
display:
  - platform: ssd1306_i2c
    model: "SSD1306 128x64"
    address: 0x3C
    pages: 
      - id: start_page
        lambda: |-
          it.line(64, 20, 64, 44);
          it.line(50, 32, 78, 32); 
      - id: state_page
        lambda: |-
          it.line(64, 20, 64, 44);
          it.line(50, 32, 78, 32);  
          it.printf(5, 23, id(font_S), TextAlign::BASELINE_LEFT, "%d µg", int(id(p25).state));
          it.printf(5, 60, id(font_S), TextAlign::BASELINE_LEFT,  "%d µg", int(id(hh).state));  
          it.printf(70, 23, id(font_S), TextAlign::BASELINE_LEFT,  "%.1f °C", id(tmp).state);
          it.printf(70, 60, id(font_S), TextAlign::BASELINE_LEFT,  "%.1f %%", id(hmd).state);   
为了屏幕拆装方便,还特定焊接了母座,屏幕可以插在上面,因为设备检测时需要良好得通风,所以懒得做外壳了,就这样裸着用。
微信图片_20210114164810.jpg
休眠
模块运行后,数据实时采集,频率还刷新频率还挺高得,其实家用纯属浪费,网页上设备的针脚定义如下:
image-3.png
看到有一个set脚,低电平可以休眠设备,受帖子 为攀藤PM2.5传感器延长寿命(ESP EASY专用)的启发,决定让设备没过10分钟运行1分钟,因为实时采集完全没有必要。
将模块的set脚飞一根线接入nodemcu的D1针脚,增加代码如下:
switch:
  - platform: gpio
    pin: GPIO5
    name: "en_switch"
    id: relay
    on_turn_on:
      - display.page.show: state_page
      - delay: 60s
      - switch.turn_off: relay
    
time:
  - platform: homeassistant
    on_time:
      # Every 10 minutes
      - seconds: 0
        minutes: /10
        then:
          - switch.turn_on: relay
给nodemcu的gpio5口定义成一个开关,再通过定义time去控制这个开关,每隔10分钟打开一下。开关打开后,on_turn_on中的逻辑,显示数据页面,延时一分钟后,关闭自己。
当然,也可以在HA中手动打开和关闭这个开光,决定模块是否休眠。
image-5.png

翻车记录
一开始用D8(gpio15)作为switch开关的引脚,发现安装了以后,nodemcu无法启动;但是nodemcu先启动后,再接攀藤模块可以正常使用。这个问题搞了很长时间,一度还接受可这个缺陷。
后来换了一个针脚到D1,一切正常了。

评分

参与人数 3金钱 +56 HASS币 +20 收起 理由
windgo + 16 感谢楼主分享!
+ 20 + 20 厉害了word楼主!
neroxps + 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

2

主题

18

帖子

60

积分

注册会员

Rank: 2

积分
60
金钱
42
HASS币
0
发表于 2021-1-15 20:44:38 | 显示全部楼层
感谢楼主分享!
回复

使用道具 举报

0

主题

80

帖子

670

积分

高级会员

Rank: 4

积分
670
金钱
590
HASS币
0
发表于 2021-1-19 15:05:12 | 显示全部楼层
这个厉害了!
回复

使用道具 举报

0

主题

28

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
金钱
327
HASS币
0
发表于 2021-1-19 22:26:12 | 显示全部楼层
这个好,可以有,准不准?
回复

使用道具 举报

0

主题

37

帖子

430

积分

中级会员

Rank: 3Rank: 3

积分
430
金钱
393
HASS币
0
发表于 2021-1-20 00:30:57 | 显示全部楼层
做了个银行卡大小的并HOMEKIT接入
IMG_7778.JPG
回复

使用道具 举报

46

主题

641

帖子

4411

积分

元老级技术达人

积分
4411
金钱
3740
HASS币
120
 楼主| 发表于 2021-1-20 08:57:37 | 显示全部楼层
cella 发表于 2021-1-20 00:30
做了个银行卡大小的并HOMEKIT接入

不错,不错,还带电池
回复

使用道具 举报

12

主题

179

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
金钱
1123
HASS币
20
发表于 2021-1-20 17:00:33 | 显示全部楼层
本帖最后由 mildrabbit 于 2021-1-20 17:29 编辑

楼主NB。。。我买 了3个传感器,实验都 成功了,苦于没有好的外壳,就没有往后实施,后来偶然的机会,找到了一个M1.。。。完美了。。。这么便宜的矿渣还要什么自行车哦。。
再来气下楼主,我的3个5003ST 才30块一个。。。后悔只买了3个,应该把那200个全扛了。。

回复

使用道具 举报

46

主题

641

帖子

4411

积分

元老级技术达人

积分
4411
金钱
3740
HASS币
120
 楼主| 发表于 2021-1-21 09:01:20 | 显示全部楼层
mildrabbit 发表于 2021-1-20 17:00
楼主NB。。。我买 了3个传感器,实验都 成功了,苦于没有好的外壳,就没有往后实施,后来偶然的机会,找到 ...

看来下次买东西要先翻翻某鱼了
回复

使用道具 举报

12

主题

179

帖子

1307

积分

金牌会员

Rank: 6Rank: 6

积分
1307
金钱
1123
HASS币
20
发表于 2021-1-21 09:11:55 | 显示全部楼层
evantalk 发表于 2021-1-21 09:01
看来下次买东西要先翻翻某鱼了

看到心怡的东西不要急,某宝,某鱼,某转,拼夕夕先逛一圈下来,再下手不迟,这是我这个垃圾佬这几年捡垃圾的心得体会。。
回复

使用道具 举报

1

主题

13

帖子

44

积分

新手上路

Rank: 1

积分
44
金钱
31
HASS币
0
发表于 2021-1-21 23:51:55 | 显示全部楼层
mildrabbit 发表于 2021-1-21 09:11
看到心怡的东西不要急,某宝,某鱼,某转,拼夕夕先逛一圈下来,再下手不迟,这是我这个垃圾佬这几年捡垃 ...

太专业了,让我茅塞顿开,如遇甘霖
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-27 17:41 , Processed in 0.099847 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表