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

 找回密码
 立即注册
查看: 10869|回复: 16

[经验分享] 利用M1传感器DIY空气检测仪(二)

[复制链接]

5

主题

31

帖子

129

积分

论坛DIY达人

积分
129
金钱
98
HASS币
0
发表于 2019-5-27 23:12:26 | 显示全部楼层 |阅读模式
本帖最后由 qgyhd1234 于 2019-5-29 11:00 编辑

第一帖地址:https://bbs.hassbian.com/thread-7307-1-1.html
之前的帖子讲到要用 RTL8710 进行开发,RTL8710 有一个缺点,就是下载需要使用串口,速度慢,每次下载都需要按开发板上的 flash 按纽和 rst 按纽,十分不方便。考虑到以后自己画板子,做成模块后,不可能像开发时一样,一直串口连着电脑,如果想升级相关功能,再次用串口烧录就非常反人类了。所以在固件中加入了 ota 升级功能。

在我自己的群晖上装上 Web Station 套件后,直接将要升级的固件丢到群晖的 web 文件夹下即可,要 ota 升级了,直接将文件下载下来升级即可 。

测试效果良好,效果如下所示:
下载固件

download.png

固件校验,搬运,跳转

ota.png

--------------------------分割线-------------------------------------
ze08 对接完成后,接下来要进行的就是攀藤的 PMS7003 的对接了,PMS7003 和 M1 主板的连接线用的是软排线,软排线飞线不好飞。测试期间,直接将 PMS7003 模块上粘的转接板拿下来,传感器上有一个 1.27mm 2*5P 的端子,将杜邦线飞到排母上,然后再将排母插到 PMS7003 用于调试。
飞线后如下所示:
pt.jpg

PMS7003 的供电必须是 5V,因为需要驱动里面的电机,但是通信管脚需要是 3.3V。测试时 5V 应该单独供,不能从 RTL8710 模块中取电。PMS7003  的金属外壳与内部电源地导通,调试时要小心不能和其他外部板组电路短接。PMS7003 接口定义如下图所示:
interface.png
PMS7003 和 ze08 一样有两种输出状态,分别是主动输出和被动输出两种。本次开发将会和 ze08 一样,使用被动输出的模式。PMS7003 的波特率为 9600bps,无校验位,1 位停止位。在使用 PMS7003 时要注意从待机模式回到正常模式后,传感器的数据需要在 30s 后才是准确的。

需要用到的命令和数据结构体如下所示:
const char pms7003_cmd_initiative_upload_mode[] = {0x42, 0x4D, 0xE1, 0x00, 0x01, 0x01, 0x71};
const char pms7003_cmd_question_answer_mode[]   = {0x42, 0x4D, 0xE1, 0x00, 0x00, 0x01, 0x70};
const char pms7003_cmd_standby_mode[]           = {0x42, 0x4D, 0xE4, 0x00, 0x00, 0x01, 0x73};
const char pms7003_cmd_normal_mode[]            = {0x42, 0x4D, 0xE4, 0x00, 0x01, 0x01, 0x74};
const char pms7003_cmd_read_data[]              = {0x42, 0x4D, 0xE2, 0x00, 0x00, 0x01, 0x71};
struct pms7003_data_format
{
    volatile uint8_t start1;
    volatile uint8_t start2;

    volatile uint8_t len_h;
    volatile uint8_t len_l;

    volatile uint8_t data1_h;
    volatile uint8_t data1_l;

    volatile uint8_t data2_h;
    volatile uint8_t data2_l;

    volatile uint8_t data3_h;
    volatile uint8_t data3_l;

    volatile uint8_t data4_h;
    volatile uint8_t data4_l;

    volatile uint8_t data5_h;
    volatile uint8_t data5_l;

    volatile uint8_t data6_h;
    volatile uint8_t data6_l;

    volatile uint8_t data7_h;
    volatile uint8_t data7_l;

    volatile uint8_t data8_h;
    volatile uint8_t data8_l;

    volatile uint8_t data9_h;
    volatile uint8_t data9_l;

    volatile uint8_t data10_h;
    volatile uint8_t data10_l;

    volatile uint8_t data11_h;
    volatile uint8_t data11_l;

    volatile uint8_t data12_h;
    volatile uint8_t data12_l;

    volatile uint8_t data13_h;
    volatile uint8_t data13_l;

    volatile uint8_t verify_h;
    volatile uint8_t verify_l;
}


RTL8710 读取  PMS7003 数据截图如下所示:

pm2.5.png

HA 数据显示:
pm2.5.png

PMS7003 数据手册:
PMS7003颗粒物传感器中文说明书 V2.2 .pdf (757.38 KB, 下载次数: 20)










回复

使用道具 举报

8

主题

2073

帖子

6053

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
6053
金钱
3980
HASS币
145

灌水之王

发表于 2019-5-28 07:40:39 | 显示全部楼层
这是啥 M1里面做一个RTL8710 ?
回复

使用道具 举报

39

主题

749

帖子

4833

积分

论坛元老

Freddy.

Rank: 8Rank: 8

积分
4833
金钱
4059
HASS币
0

最佳新人卓越贡献

发表于 2019-5-28 08:51:44 | 显示全部楼层
动手能力极强,,但是不如买个悟空 好看又省事~~
回复

使用道具 举报

5

主题

31

帖子

129

积分

论坛DIY达人

积分
129
金钱
98
HASS币
0
 楼主| 发表于 2019-5-28 09:21:53 | 显示全部楼层
xieahui 发表于 2019-5-28 07:40
这是啥 M1里面做一个RTL8710 ?

M1 配不上网,把里面传感器拿出来,再做一个M1
回复

使用道具 举报

5

主题

31

帖子

129

积分

论坛DIY达人

积分
129
金钱
98
HASS币
0
 楼主| 发表于 2019-5-28 09:25:32 | 显示全部楼层
南柯醉一梦丶 发表于 2019-5-28 08:51
动手能力极强,,但是不如买个悟空 好看又省事~~

配不上网,没法用
回复

使用道具 举报

8

主题

382

帖子

1779

积分

金牌会员

Rank: 6Rank: 6

积分
1779
金钱
1397
HASS币
0
发表于 2019-5-28 09:54:35 | 显示全部楼层
qgyhd1234 发表于 2019-5-28 09:25
配不上网,没法用

用官方的APP可以配网啊,就是只能配网用,没数据,完了直接M1插件就可以了 傲游截图20190528095355.png
回复

使用道具 举报

5

主题

31

帖子

129

积分

论坛DIY达人

积分
129
金钱
98
HASS币
0
 楼主| 发表于 2019-5-28 10:40:06 | 显示全部楼层
peter5858 发表于 2019-5-28 09:54
用官方的APP可以配网啊,就是只能配网用,没数据,完了直接M1插件就可以了
...

我的用官方 app 折腾了好久,死活配不上网
回复

使用道具 举报

39

主题

749

帖子

4833

积分

论坛元老

Freddy.

Rank: 8Rank: 8

积分
4833
金钱
4059
HASS币
0

最佳新人卓越贡献

发表于 2019-5-28 10:55:57 | 显示全部楼层
qgyhd1234 发表于 2019-5-28 09:25
配不上网,没法用

论坛有人破解了啊  改用mqtt了
回复

使用道具 举报

5

主题

31

帖子

129

积分

论坛DIY达人

积分
129
金钱
98
HASS币
0
 楼主| 发表于 2019-5-28 13:46:11 | 显示全部楼层
南柯醉一梦丶 发表于 2019-5-28 10:55
论坛有人破解了啊  改用mqtt了

我的板子在 bootloader 里一直打印 error,刷不进去
回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16410
金钱
11664
HASS币
45
发表于 2019-5-28 23:03:00 | 显示全部楼层
灰常的强大!等待更新ing
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-25 17:24 , Processed in 0.122502 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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