综合档案管理系统库房环境监控零门槛落地实操全指南

一、前期准备

1. 硬件清单

  • 树莓派Zero W(配16G以上TF卡、5V电源)
  • DHT11温湿度传感器模块
  • MQ-2烟雾浓度传感器模块
  • 接触式漏水检测传感器
  • 杜邦线5根、迷你面包板1块

2. 软件工具准备

直接点击以下链接下载对应工具,无需额外找资源:

  • 树莓派Lite系统镜像:https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2021-05-28/2021-05-07-raspios-buster-armhf-lite.zip
  • TF卡烧录工具Rufus:https://github.com/rufus-rufus/rufus/releases/download/v3.22/rufus-3.22.exe

二、硬件接线实操

本文采用树莓派BCM引脚编号,严格按照以下对应关系接线,避免烧坏模块:

  • DHT11 VCC → 树莓派4号引脚(5V)
  • DHT11 GND → 树莓派6号引脚(GND)
  • DHT11 DATA → 树莓派11号引脚(GPIO17)
  • MQ-2 VCC → 树莓派4号引脚(5V)
  • MQ-2 GND → 树莓派9号引脚(GND)
  • MQ-2 AO → 树莓派12号引脚(GPIO18)
  • 漏水传感器VCC → 树莓派4号引脚(5V)
  • 漏水传感器GND → 树莓派14号引脚(GND)
  • 漏水传感器DO → 树莓派15号引脚(GPIO22)

接线完成后通电,观察所有模块指示灯正常亮起,即可进入下一步。

三、软件环境配置与代码开发

1. 系统烧录与基础配置

  • 打开下载好的Rufus,选择你的TF卡,选择下载好的树莓派镜像,点击「开始」烧录,等待完成
  • 烧录完成后,在TF卡根目录新建一个名为ssh的空文件(无后缀名),这个步骤用来启用远程ssh连接,新手容易遗漏
  • 将TF卡插入树莓派,连接路由器网线,通电开机,在路由器后台查看树莓派的局域网IP
  • 打开电脑终端,执行命令 ssh pi@[你的树莓派IP],默认密码为 raspberry,登录成功即为配置完成

登录成功后,依次执行以下命令安装所有依赖,直接复制整条命令粘贴即可:

``` sudo apt update && sudo apt upgrade -y sudo apt install python3-pip python3-rpi.gpio -y pip3 install adafruit-dht requests ```

2. 编写监控对接代码

在树莓派终端执行 nano env_monitor.py 新建文件,复制以下完整代码,修改配置项后保存即可:

```python import Adafruit_DHT import RPi.GPIO as GPIO import time import requests --可修改配置项-- DHT_PIN = 17 DHT11数据引脚,无需修改 MQ_PIN = 18 MQ-2输出引脚,无需修改 LEAK_PIN = 22 漏水传感器输出引脚,无需修改 国家档案库房标准阈值,可根据需求调整 TEMP_MIN = 14 最低温度(℃) TEMP_MAX = 24 最高温度(℃) HUMI_MIN = 45 最低湿度(%) HUMI_MAX = 60 最高湿度(%) SMOKE_THRESHOLD = 200 烟雾浓度报警阈值 替换为你自己的综合档案管理系统数据接收接口 ARCHIVE_SYSTEM_API = "http://your-archive-system.com/api/upload_env" - GPIO.setmode(GPIO.BCM) GPIO.setup(MQ_PIN, GPIO.IN) GPIO.setup(LEAK_PIN, GPIO.IN) dht_sensor = Adafruit_DHT.DHT11 def get_sensor_data(): humidity, temperature = Adafruit_DHT.read_retry(dht_sensor, DHT_PIN) smoke_level = GPIO.input(MQ_PIN) leak_status = GPIO.input(LEAK_PIN) 转换报警状态:1=异常,0=正常 is_temp_abnormal = 1 if temperature < TEMP_MIN or temperature > TEMP_MAX else 0 is_humi_abnormal = 1 if humidity < HUMI_MIN or humidity > HUMI_MAX else 0 is_smoke_abnormal = 1 if smoke_level > SMOKE_THRESHOLD else 0 is_leak_abnormal = 1 if leak_status == 0 else 0 漏水传感器输出0代表检测到漏水 return { "temperature": round(temperature, 1), "humidity": round(humidity, 1), "is_temp_abnormal": is_temp_abnormal, "is_humi_abnormal": is_humi_abnormal, "is_smoke_abnormal": is_smoke_abnormal, "is_leak_abnormal": is_leak_abnormal, "report_time": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) } if __name__ == "__main__": try: sensor_data = get_sensor_data() resp = requests.post(ARCHIVE_SYSTEM_API, json=sensor_data, timeout=10) print("数据上报成功:", resp.text) GPIO.cleanup() except Exception as e: print("数据上报失败:", str(e)) GPIO.cleanup() ```

Ctrl+O保存,按Ctrl+X退出编辑器即可。

3. 配置定时采集任务

综合档案管理系统库房环境监控零门槛落地实操全指南

设置每5分钟采集上报一次数据,操作步骤:

  • 终端输入命令 crontab -e,第一次打开输入1选择nano编辑器即可
  • 在文件末尾添加以下内容,保存退出即可完成配置:
``` /5 /usr/bin/python3 /home/pi/env_monitor.py >> /home/pi/monitor_log.log 2>&1 ```

该配置会自动记录运行日志,出现问题可直接查看日志排错。

四、对接综合档案管理系统

如果你的综合档案管理系统已经预留了环境监控数据接收接口,只需要确认接口支持POST JSON格式,参数和本文代码中的返回字段对应即可完成对接。

如果现有系统没有预留接口,可以直接在系统数据库中添加如下环境监控数据表:

字段名数据类型说明
idint主键自增
temperaturedecimal(4,1)温度值
humiditydecimal(4,1)湿度值
is_temp_abnormaltinyint温度是否异常 1=是 0=否
is_humi_abnormaltinyint湿度是否异常 1=是 0=否
is_smoke_abnormaltinyint烟雾是否异常 1=是 0=否
is_leak_abnormaltinyint是否漏水 1=是 0=否
report_timedatetime上报时间

在综合档案管理系统的库房管理页面添加数据展示模块,对异常状态配置弹窗报警即可。

五、功能验证

完成所有配置后,执行以下步骤验证功能:

  • 手动运行代码:执行 python3 /home/pi/env_monitor.py,终端输出「数据上报成功」即为网络正常
  • 模拟温湿度异常:对着DHT11哈气,查看系统是否收到异常报警
  • 模拟漏水:将漏水传感器探头接触少量水,查看系统是否触发漏水报警

所有测试通过后,整个综合档案管理系统库房环境监控就搭建完成了,全程无需复杂开发,零门槛即可落地。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统