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-aliyun-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

修改程序,将程序中使用的三元素信息替换成自己的:

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

productKey = "a1pwoLHW8Tl"
deviceName = "lubancat"
deviceSecret = "160cacffcba7b83f2eb896403688dac5"

执行如下命令运行程序:

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

2.2.5. c代码测试

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

修改程序,将程序中使用的三元素信息替换成自己的:

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

#define EXAMPLE_PRODUCT_KEY         "a1pwoLHW8Tl"
#define EXAMPLE_DEVICE_NAME         "lubancat"
#define EXAMPLE_DEVICE_SECRET       "160cacffcba7b83f2eb896403688dac5"

执行如下命令运行程序:

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

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