2. 综合实验五 - 综合环境监测

2.1. 实验介绍

2.1.1. 实验物料清单

名称

数量

备注

野火BMP280气压计

1

野火光敏电阻模块

1

野火热敏电阻模块

1

野火ADS1115 ADC模块

1

野火MQ135空气检测模块

1

DHT11温湿度传感器

1

扩展板板载

2.1.2. 实验现象介绍

程序通过MQTT协议,将各传感器数据发布上云。

2.1.3. 实验接线

野火BMP280气压计模块接线:

BMP280气压计模块

扩展板SPI接口丝印

3V3

3V3

GND

GND

CS

P13

DO

DO

DI

DI

CLK

CLK

其中CS使用扩展GPIO的P1_3。

光敏电阻模块和热敏电阻模块接线:

光敏电阻模块

GPIO扩展

热敏电阻模块

GPIO扩展

AO

AO

DO

P1_0

DO

P1_1

GND

GND

GND

GND

VCC

3.3v

VCC

3.3v

野火ADS1115 ADC模块接线,将模块插入扩展板的I2C接口:

../../_images/show-board-ads1115.png

MQ135空气检测模块接线,其中AO脚与ADS1115的A0脚相连:

MQ135

AO

A0(ADS1115)

5V

5V

GND

GND

2.2. 实验操作

2.2.1. 开启插件

本次实验以鲁班猫1为例,执行如下命令并开启相关插件:

1
sudo vi /boot/uEnv/uEnv.txt
../../_images/show-dtbo15.png

2.2.2. 涂鸦智能平台添加自定义功能

本节测试需要将BMP280的大气压值、DHT11的温湿度值、光敏状态值、热敏状态值、MQ135空气质量值上传到平台。 我们将在上一章创建的产品下添加自定义功能。最终的自定义功能如下: 注意标识符和数据类型要与下图一致。

../../_images/show-operation-tuya-model.png

2.2.3. 获取程序

综合实验五程序位于lubancat_rk_code_storage/expansion_board/experiment/experiment_5_environmental-monitoring, 将experiment_5_environmental-monitoring整个文件夹拷贝到板卡。

本实验要用到的外设配置已经在配置文件configuration.json中定义,运行程序前可按实际情况修改。

2.2.4. python代码测试

python测试代码为:python/main.py

将程序中使用的DeviceID和deviceSecret替换成自己的:

1
2
cd python
vi main.py
1
2
3
4
''' main.py '''

DeviceID = '2632d4478100fda674lxlu'         # 替换成自己的DeviceID
DeviceSecret = 'qxZS1LhriSGzzqiE'           # 替换成自己的DeviceSecret

执行如下命令运行程序:

1
2
# 运行程序
sudo python main.py
../../_images/show-operation-runcode-python.png

手机智能生活APP查看数据:

../../_images/show-operation-tuya-python.png

2.2.5. c代码测试

c测试代码为:c/main.c

将程序中使用的DeviceID和deviceSecret替换成自己的:

1
2
cd c
vi main.c
1
2
3
4
// main.c

#define TUYA_DEVICE_ID        "2632d4478100fda674lxlu"      // 替换成自己的DeviceID
#define TUYA_DEVICE_SECRET    "qxZS1LhriSGzzqiE"            // 替换成自己的DeviceSecret

执行如下命令运行程序:

1
2
3
4
5
# 编译程序
sudo make

# 运行程序
sudo ./main
../../_images/show-operation-runcode-c.png
../../_images/show-operation-tuya-c.png