毕业设计 | Ruff开发板 + 华为云IoT物联网平台,实现家中温度、湿度、二氧化碳、PM2.5、甲醛监控分析...

news2024/11/27 8:33:16

8a314c5a04a6e363d92d4039646ccb6f.gif

基于温湿度、空气质量传感器实现温度、湿度、二氧化碳、PM2.5、甲醛环境数据实时监测。

硬件清单

我们采用 Ruff 开发板,串口连接温湿度传感器 DHT11 和空气质量传感器 SDS011,每5分钟采集一次数据,通过MQTT协议发送到华为云 IoT 物联网平台,并基于数据分析服务实时计算出整个家庭的平均温度值。

本项目硬件清单如下:

5028a4f0a757311e4be5d5279d2c1993.png

技术架构

传感器通过Ruff板接入华为云IoT平台,数据流转分析服务,实时监控家庭环境数据变化。

285fb454e7220513b3b6d0412cef1c08.png

华为云IoT开发

华为云物联网平台设备接入云服务(IoTDA)提供海量设备的接入和管理能力,将物理设备联接到云,支撑设备数据采集上云和云端下发命令给设备进行远程控制,配合华为云其他产品,帮助您快速构筑物联网解决方案。

使用物联网平台构建一个完整的物联网解决方案主要包括3部分:物联网平台、业务应用和设备。

  • 物联网平台作为连接业务应用和设备的中间层,屏蔽了各种复杂的设备接口,实现设备的快速接入;同时提供强大的开放能力,支撑行业用户构建各种物联网解决方案。

  • 设备可以通过固网、2G/3G/4G/5G、NB-IoT、Wifi等多种网络接入物联网平台,并使用LWM2M/CoAP、MQTT、HTTPS等主流协议或行业协议将业务数据上报到平台,平台也可以将控制命令下发给设备。

  • 业务应用通过调用物联网平台提供的API,实现设备数据采集、命令下发、设备管理等业务场景。

82c9401f55189a206464a01c0b22f4f4.png

a60d71ad1fd6920b9bc6ff8b1a4c340b.png

产品模型(Product Model),也称物模型,用于描述设备具备的能力和特性。开发者通过定义产品模型,在物联网平台构建一款设备的抽象模型,使平台理解该款设备支持的服务、属性、命令等信息。

eff855ed2861e9a7cb5abefcd2d6cdf4.png

设备注册

  1. 进入到设备管理的设备注册页面,点击右上角的创建按钮。

  2. 在弹出框里选择产品模型,输入设备识别码,点击确定按钮。

  3. 创建成功,系统会自动生成秘钥。

ef159a6a5fd65011b7106cf3744f8c10.png

176339bbdf34be2853e812cb4142b68c.png

硬件端开发

1cd8f879e9b91b4d19138624f6b4b0ee.jpeg

Ruff 是一个支持 JavaScript 开发应用的物联网操作系统,为软件开发者提供开放、高效、敏捷的物联网应用开发平台,让 IoT 应用开发更简单。

整个 Ruff 开发体系包括 Ruff OS、Ruff SDK、Ruff 软件仓库、Ruff Kit 开发套件。只要您有JavaScript开发经验,就可以用 Ruff 开发硬件应用。

传感器驱动程序

bae362c8708afa679d753eb7b035c7b9.png

传感器硬件接线

1fd22869c2f63d42ddca4d51ff42847b.png

设备端程序结构

d960de78f530618eb1e864c42f979587.png

读取温湿度和空气质量传感器数据:

// 空气质量数据
$('#air').on('aqi', function(error, pm25, pm10) {
    if (error) return;
    
    reported.pm25 = pm25;
    reported.pm10 = pm10;
});
// 温度数据
$('#dht').getTemperature(function(error, temperature) {
 
 
    if (!error) {
        reported.temperature = temperature;
    }
});
// 湿度数据
$('#dht').getRelativeHumidity(function(error, humidity) {
    if (!error) {
        reported.humidity = humidity;
    }
});

上报数据到 /huawei/v1/devices/{deviceId}/data/json

var topic = `/huawei/v1/devices/${options.deviceId}/data/json`
var postJson = {
    msgType: "deviceReq",
    data: [{
            serviceId: "postData",
            serviceData: {
                model: 'Ruff',
                sdk: '0.02',
                Node_Version: 8,
               temperature:  sensor.temperature,
               humidity:sensor.humidity,
               co2: sensor.co2,
               hcho: sensor.hcho,
               pm25: sensor.pm25,
               pm10: sensorpm10.
            }
        }


    ]
}
client.publish(topic, JSON.stringify(postJson))

查看传感器上云实时数据

036493243de733cf0170c20270c2dcaa.png

IoT 数据分析

配置数据源

921f8a4df3e0021150945021b1e3a13e.png

实测点数据绑定传感器

2415416c1c10c7937708566141b2758c.png

配置虚测点为多个房间温度的平均温度

49c83ca96d8c4a35635b095bce9dc6cd.png

正式发布后,我们就可以实时监控各个房间的环境传感器数据变化和平均值了。

f3fff6b06cb72d7d059c0d70a8e71b3f.gif

如有需求,请联系小编:  beacon0418

c33ba5a01ad31c0de7d058192c68fcde.png

往期推荐

‍☞‍ 高德地图: 红绿灯倒计时大揭秘

☞ Arduino 开源 ESP32 智能手表

☞ 源码交付 IoT智慧水务、污水处理

☞ 强制引入北斗定位,开启亿级IoT市场

☞ 这苦逼的IoT物联网我竟坚持了十年

☞ 打工人上班摸鱼, AI 监控老板行踪

2b3e5d48b66dde56b879a586c273aaf3.png

f93ca369e22fac4836257f819fe2f950.png

58bd8edd29ce462d7c3cd24fa2c07675.gif

5eaec6c27f7767aceeadddd5b3040155.gif

245c3538df8832c6f8de78a44bf3178e.gif

2ff29f61bd68150adfe7c811b21c355c.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2201634.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QRTCN区间预测 | Matlab实现QRTCN时间卷积神经网络分位数回归区间预测

区间预测 | Matlab实现QRTCN时间卷积神经网络分位数回归区间预测 目录 区间预测 | Matlab实现QRTCN时间卷积神经网络分位数回归区间预测预测效果基本介绍模型特性程序设计参考资料预测效果 基本介绍 Matlab实现QRTCN时间卷积神经网络分位数回归区间预测 QRTCN(Quantile Regres…

Java数据类型常量

目录 一、数据类型 1.1分类 1.2关键字&内存占用&范围 1.3包装类 1.4说明 1.5类型转换 1.6类型提升 二、常量 2.1java中的常量 2.2定义常量 2.3分类 一、数据类型 1.1分类 1.2关键字&内存占用&范围 数据类型关键字内存占用范围字节型byte1字节-128…

【学术会议征稿】2024年信号处理与神经网络应用国际学术会议(SPNNA 2024)

2024年信号处理与神经网络应用国际学术会议(SPNNA 2024) 2024 International Conference on Signal Processing and Neural Network Applications 2024年信号处理与神经网络应用国际学术会议(SPNNA 2024)将于2024年12月13日至15…

scratch星际穿越 2024年9月中国电子学会图形化编程 少儿编程 scratch编程等级考试一级真题和答案解析

目录 scratch星际穿越 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、 推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 5、…

DevExpress WinForms中文教程:Data Grid - 如何完成数据输入验证?

本教程介绍DevExpress WinForm的Data Grid控件是如何利用网格组件完成数据输入验证的。 P.S:DevExpress WinForms拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序…

Python酷库之旅-第三方库Pandas(140)

目录 一、用法精讲 631、pandas.Timestamp类 631-1、语法 631-2、参数 631-3、功能 631-4、返回值 631-5、说明 631-6、用法 631-6-1、数据准备 631-6-2、代码示例 631-6-3、结果输出 632、pandas.Timestamp.asm8属性 632-1、语法 632-2、参数 632-3、功能 632…

java类和对象_成员变量方法修饰符局部变量this关键字-cnblog

java类和对象 成员变量 权限修饰符 变量类型 变量名; 成员变量可以是任意类型,整个类是成员变量的作用范围 成员变量 成员方法 权限修饰符 返回值类型 方法名() 成员方法可以有参数,也可以有返回值,用return声明 权限修饰符 private 只能在本类…

IDEA必装的插件:Spring Boot Helper的使用与功能特点

在IntelliJ IDEA中,Spring Boot Helper插件是一个非常实用的工具,可以帮助我们更快速地创建和管理Spring Boot项目。以下是Spring Boot Helper插件的详细介绍和使用方法: 激活码地址: 点击获取 一、安装Spring Boot Helper插件 1 打开Intell…

如何设计三极管放大电路?

设计放大电路 分压式串联负反馈放大电路 可以看下面这个视频 , 讲得更加详细 366-单管放大电路偏置电阻的计算,看完自己也会设计一个_哔哩哔哩_bilibili 计算流过电阻Rb2的电流过程中,工程当中常发现Rb2上的电流是Ib的5倍 , 因此由基尔霍夫电流定律也能知道流过R…

Java的基础概念和常识(二)

什么是字节码?采用字节码的好处是什么? 字节码(Byte-code)是一种中间形式的代码,是源代码编译后生成的一种低级表示,通常是在编译阶段生成的。在 Java 中,JVM 可以理解的代码就叫做字节码&…

K8s(学习笔记)

swap分区是什么呀? 什么是ipvs呀? yaml是什么呀??? p20看不下去了!!!

ansible 流程控制

目录 1.流程控制 2.handlers触发器 2.1使用handlers案例 3.when 判断 3.1 案例1 用于给task设置条件 满足或者不满足运行对应模块 3.2 案例2 如果系统是centos则安装sl,cowsay 如果是unbantu则安装cmatrix 4.循环 4.1案例 1.流程控制 hand…

飞腾CPU技术发展分析

飞腾CPU剖析 CPU:信创根基,国之重器 国产CPU市场呈现三大领军阵营:x86、ARM以及其他创新架构。鲲鹏与飞腾在ARM阵营中引领风潮,依托ARM技术授权研发高性能处理器;海光与兆芯则以x86架构为基石,深入挖掘其潜…

图论day56|广度优先搜索理论基础 、bfs与dfs的对比(思维导图)、 99.岛屿数量(卡码网)、100.岛屿的最大面积(卡码网)

图论day56|广度优先搜索理论基础 、bfs与dfs的对比(思维导图)、 99.岛屿数量(卡码网)、100.岛屿的最大面积(卡码网)) 广度优先搜索理论基础bfs与dfs的对比(思维导图)&…

Spring Boot Starter Parent介绍

引言 spring-boot-starter-parent 是一个特殊的项目,为基于 Spring Boot 的应用程序提供默认配置和默认依赖。 在本 Spring Boot 教程中,我们将深入了解所有 Spring Boot 项目内部使用的 spring-boot-starter-parent 依赖项。我们将探讨此依赖项所提供…

基于jmeter+perfmon的稳定性测试记录

1. 引子 最近承接了项目中一些性能测试的任务,因此决定记录一下,将测试的过程和一些心得收录下来。 说起来性能测试算是软件测试行业内,有些特殊的部分。这部分的测试活动,与传统的测试任务差别是比较大的,也比较依赖…

用Python实现运筹学——Day 12: 线性规划在物流优化中的应用

一、学习内容 线性规划在物流优化中可以用于解决诸如配送路径优化、货物运输调度等问题。配送中心的路径优化问题本质上是寻找一条最优路径,在满足需求点的需求条件下,最小化配送的总运输成本或时间。常见的物流优化问题包括: 配送中心的货…

集师知识付费小程序:打造培训机构在线教育的金字招牌 集师知识付费系统 集师知识付费小程序 集师知识服务系统 集师线上培训系统 集师线上卖课小程序

在数字化浪潮的推动下,在线教育已成为教育领域的热门话题。而在众多在线教育平台中,集师知识付费小程序凭借其独特的定位和创新的模式,成功为培训机构打造了一张闪亮的在线教育金字招牌。 集师知识付费小程序,是一个集课程展示、…

Python 如何使用 Matplotlib 和 Seaborn 可视化数据

Python 如何使用 Matplotlib 和 Seaborn 可视化数据 一、简介 数据可视化是数据分析过程中非常重要的步骤。通过可视化,复杂的数据变得更直观,数据中的模式、趋势和异常可以更容易被识别。Python 提供了多个强大的库来进行数据可视化,其中最…