当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]现代办公空间充满活动、设备和人员,容易出现环境问题、噪音、光线不足以及空气污浊等情况,这些因素会降低专注力、舒适度和整体情绪。然而,这些状况通常无法持续监控,团队往往对影响工作效率的环境条件缺乏感知。

1. 创意

现代办公空间充满活动、设备和人员,容易出现环境问题、噪音、光线不足以及空气污浊等情况,这些因素会降低专注力、舒适度和整体情绪。然而,这些状况通常无法持续监控,团队往往对影响工作效率的环境条件缺乏感知。

为解决这一问题,我们开发了一套基于物联网的办公环境情绪监测系统,可实时测量关键环境变量,并将其转化为一个直观统一的“办公环境情绪评分”。该评分能即时反映工作空间的“健康状况”,支持实时监控与历史趋势分析。

与静态或专有解决方案不同,我们的系统具备模块化、开源和可扩展性,可部署于多个工位或房间,适应不同空间大小,并在不重新设计架构的前提下集成更多传感器。通过实现环境状态的自动化感知,办公室无需依赖猜测或定期人工检查,即可维持舒适且高效的工作环境。

2. 项目概述

该系统通过一系列传感器实时监测办公室的舒适度,具体测量内容包括:

•声级:识别过量噪音

•照度:判断照明质量

•二氧化碳浓度:反映通风状况和空气清新度

•温度与湿度:体现热舒适性

•占用情况:检测办公桌使用状态及工作区域利用情况

数据通过 oneM2M ACME 平台进行采集和汇总,提供实时与历史可视化信息。

为实现即时本地反馈,每个 ESP32 节点均配备一个 RGB LED,具有双重功能:

- 显示当前工作场所情绪评分(从绿色到红色的渐变色)

- 显示桌面占用状态(LED 点亮表示已占用 / LED 关闭表示未占用)

这种实时系统数据与简单本地指示相结合,帮助团队快速了解环境状况、工作区使用情况,以及这些因素对舒适度和工作效率的影响。

3. 目标

该系统通过持续监控,旨在提升办公环境的舒适度、专注力和工作效率。

主要目标包括:

•实时监测噪音、照明、二氧化碳浓度、温度、湿度及人员占用情况;

•将原始传感器数据转化为简洁舒适的评估指标,实现工作场所情绪评分;

•通过中央oneM2M平台(ACME CSE)传输数据;

•检测异常问题,例如噪音过高或通风不良。

4. 系统架构

工作场所情绪监测系统构建为一个端到端的物联网(IoT)管道,整合了桌面级传感、房间级传感、本地中间节点以及集中式数据采集与处理功能。该架构集成了一颗ESP32传感器节点和基于树莓派的MN-CSE(中间节点CSE),以全面捕捉工作场所的环境状况。

4.1 ESP32节点

ESP32负责采集桌面级别的测量数据:噪声、照度和人员占用情况,并通过REST协议将数据上传至MN-CSE(树莓派)。此外,ESP32还运行一个小型通知服务器,当其oneM2M属性更新时,可立即驱动RGB LED刷新显示。LED用于实时展示最新的情绪评分和人员占用状态。

引脚布局:

•组件功能 GPIO

•VEML7700 I2C SDA 8

•VEML7700 I2C SCL 9

•INMP441 I2S SCK (BCLK) 12

•INMP441 I2S WS (LRCLK) 11

•INMP441 I2S SD (DOUT) 10

•mmWave UART TX 17

•mmWave UART RX 18

•mmWave OT2 1

•NeoPixel DIN 38

4.2 房间级传感(树莓派MN-CSE)

树莓派作为中间节点CSE(MN-CSE),连接至房间级Switchbot二氧化碳传感器,用于测量温度、湿度和CO₂浓度。它将读取的数据以属性形式存储,并通过安全的 WireGuard VPN 连接,使用资源公告向 IN-CSE 发送所有更新。

4.3 中央处理(IN-CSE、摄取服务、情绪服务)

在中央 oneM2M 节点(IN-CSE)中,订阅机制会在新遥测数据到达时通知摄取服务。摄取服务:

•提取遥测数据

•标准化指标名称和值

•将结构化遥测数据写入 PostgreSQL

•将标准化的数据转发至情绪服务进行计算

情绪服务会根据所有环境变量(桌面级 + 房间级)计算出工作场所情绪得分。它将情绪状态以CIN形式发布到房间容器中的MN-CSE,并根据得分更新LED灯的颜色。

4.4 全流程概览

1. ESP32 收集桌面级测量

2. MN-CSE 收集房间级别的测量数据

3. ESP32 发布属性 → MN-CSE

4. MN-CSE 通过 WireGuard VPN 将传感器资源转发至 IN-CSE

5. IN-CSE 触发订阅 → 吸入服务

6. 摄入:归一化 → 存入 PostgreSQL → 转发至情绪服务

7. 情绪服务:计算得分 → 存入PostgreSQL → 将情绪CIN发布到房间容器内的MN-CSE,并更新LED灯的颜色属性。

8. ESP32 通过其自带的小型本地通知服务器即时接收 LED 更新。

9. Grafana 及应用程序通过 PostgreSQL 可视化遥测数据和情绪状态

5. 实施

工作场所情绪监测系统采用模块化、端到端的物联网管道实现,整合边缘设备、本地节点和云端节点以及分析服务。

5.1 台面级(ESP32 传感器节点)

硬件:

•ESP32-S3-DevKitC-1 配备 VEML7700(光线传感器)、INMP441(麦克风)、S3KM1110(人体占用传感器)和 WS2812 RGB LED。

功能:

•在 MN-CSE 中创建传感器资源树。

•每 10 秒读取一次光照、噪音和占用状态。

•通过 REST 接口将测量数据发送至本地 MN-CSE。

运行一个小型通知服务器,当 RGB LED 的颜色或二进制开关资源更新时,可即时刷新其显示。该功能用于展示最新的情绪评分和占用状态。

软件:

•使用 PlatformIO / Arduino 开发。

5.2 房间级节点(Raspberry Pi MN-CSE)

硬件:

•树莓派4:读取SwitchBot CO2传感器的蓝牙信号,并解码温度、湿度和CO₂数据。

功能:

•创建用于MN-CSE功能所需的资源树,包含CO2传感器。

•聚合ESP32和SwitchBot传感器的数据。

•通过WireGuard VPN安全地将资源转发至云端IN-CSE。

软件:

•Python BLE扫描器(Bleak)、ACME MN-CSE Docker容器、WireGuard VPN。

5.3 云处理(IN-CSE、摄入服务、情绪服务)

IN-CSE:

•ACME基础设施节点,接收来自MN-CSE的CINs。

摄入服务(Flask):

•由IN-CSE的订阅通知触发。

•对遥测数据进行标准化(指标同义词、类型转换)。

•将结构化事实持久化存储在PostgreSQL中(fact_telemetry)。

•将标准化的数据转发至情绪服务。

情绪服务(FastAPI):

•基于启发式算法,结合CO₂、噪音、照度、温度、湿度和占用率计算工作场所情绪评分。

•将结果存储在fact_mood表中。

•向MN-CSE发布情绪CINs。

可选机器学习服务:

•实验性、只读,用于预测性情绪评分。

5.4 部署

•容器化:所有服务(MN-CSE、IN-CSE、摄入服务、情绪服务、PostgreSQL、Grafana)均使用Docker Compose进行编排。

•配置:通过 .env 文件存储的环境变量,用于IP地址、端口、传感器MAC地址和VPN信息。

•WireGuard VPN:安全地将分布式MN-CSE连接到云IN-CSE。

•监控:日志通过Docker检查,提供集成测试(verify_ingest.sh)。

5.5 注意事项

•MN-CSE负责房间级别的数据聚合,减轻云端负载。

•ESP32迷你通知服务器确保LED反馈即时响应。

•BLE传感器每60秒扫描一次,而ESP32传感器每10秒更新一次。

•系统完全模块化,支持多台工作台、多个房间以及额外传感器。

6. 可视化

职场情绪监测系统采用 Grafana 作为核心可视化平台,实时提供办公环境状况及计算出的职场情绪评分的历史与实时数据。所有遥测数据和情绪评分均存储在 PostgreSQL 数据库中,Grafana 通过查询该数据库生成仪表板,用户和管理者可即时访问。

仪表板设计直观且信息丰富。实时仪表显示关键环境指标,如二氧化碳浓度、噪音水平、光照强度、温度、湿度以及桌位占用情况。专用面板展示职场情绪评分,帮助团队快速判断工作环境是否有利于专注、处于中性状态或存在疲劳风险。

历史趋势通过时间序列图表呈现,便于分析环境参数的变化趋势及其与情绪评分之间的关联,覆盖数天或数周的时间范围。同时,也可查看原始遥测数据的表格,深入掌握传感器读数的详细信息。

Grafana 通过 Docker Compose 部署为容器化服务,预配置了仪表板和数据源,实现快速部署与无缝运行。通过集中可视化,Grafana使设施管理人员、团队负责人和研究人员能够同时监控多个工作台或房间,识别重复性问题,并基于数据做出决策,以优化工作环境的舒适度和生产力。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭