0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用RT-Thread和PSOC6实现一个温湿度报警系统

冬至子 来源:忧清aa 作者:忧清aa 2023-07-31 16:01 次阅读

简介

项目名称:温湿度传感报警系统

设计思路:项目使用RT-Thread系统和PSOC6开发板,实现一个温湿度报警系统。该系统通过wifi连接将数据上传至OneNET云,后经过前端开发,可以使数据清晰的展示。并且在温湿度高于或低于某一数值时,蜂鸣器就会报警。

项目的优势:利用简单的构建实现了对温湿度的实时监控,操作简单,成本较低。

流程图

1.jpg

硬件部分

软件部分

软件包配置

1.jpg

.onenet_upload_entry代码

static void onenet_upload_entry(void *parameter)
{
rt_pin_mode(deep, PIN_MODE_OUTPUT);
float t_l=10,t_h=40;//温度下限10上限40
float hu_l=20,hu_h=65;//湿度下限20上限65
float hum,temp;
aht10_device_t dev;
const char *i2c_bus_name="i2c3";
rt_thread_mdelay(2000);
dev=aht10_init(i2c_bus_name);
if(dev==RT_NULL)
{
rt_kprintf("The sensor initializes failure");
}
rt_pin_write(deep, PIN_HIGH);
temp=aht10_read_temperature(dev);
hum=aht10_read_humidity(dev);
rt_thread_mdelay(1000);
while (1)
{
hum=aht10_read_humidity(dev);
rt_kprintf("humidity : %d.%d %%n",(int)hum,(int)(hum*10)%10);
temp=aht10_read_temperature(dev);
rt_kprintf("temperature: %d.%d C nn",(int)temp,(int)(temp*10)%10);
rt_thread_mdelay(1000);
/*蜂鸣器报警*/
if((int)tempt_h)
{
beep2();
}
else if ((int)humhu_h)
{
beep2();
}
/*上传数据*/
onenet_mqtt_upload_digit("temperature", temp);
rt_thread_mdelay(1000);
onenet_mqtt_upload_digit("humidity", hum);
if (onenet_mqtt_upload_digit("temperature", temp) ||onenet_mqtt_upload_digit("humidity", hum) < 0)
{
LOG_E("upload has an error, stop uploading");
break;
}
else
{
LOG_D("buffer : {"temperature":%f C},{"humidity":%f%%}", temp,hum);
}
rt_thread_delay(rt_tick_from_millisecond(5 * 1000));
}
}

前端开发

定时器代码

setInterval(
//设置定时器,7s更新一次
function () {
if (!getData())
return;
updateTemperature();
updateHumidity();
updateTH();
},
7000
);

定时器主要完成四个功能:

getData():获取最新数据,并加入到数据数组中
updateTemperature():更新温度刻度盘
updateHumidity():更新湿度刻度盘
updateTH():更新温湿度面积堆叠图

updateTemperature()、updateHumidity()、updateTH()代码

function updateHumidity() {
option = {
tooltip: {
formatter: "{a}
{b} : {c}℃",
},
toolbox: {
feature: {
restore: {},
saveAsImage: {},
},
},
series: [
{
name: "当前湿度",
type: "gauge",
min: 0,
max: 100,
detail: { formatter: "{value}%" },
data: [{ value: ydata_hum[ydata_hum.length - 1], name: "湿度" }],
axisLine: {
lineStyle: {
color: [
[0.5, "#ff6b6b"],
[0.65, "#ffa94d"],
[0.8, "#69db7c"],
[1, "#4dabf7"],
],
},
},
},
],
};
mCharts2.setOption(option);
}
获取最新温湿度数据

function getData() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
}
};
xmlhttp.open("GET", "http://api.heclouds.com/devices/product_id/datastreams", true);
xmlhttp.setRequestHeader("api-key", "your API Key");
xmlhttp.send();
...
}

项目功能

数据页面展示

1.jpg

该项目实现了对温湿度的实时监控,通过ATH10获取温湿度数据,利用rw007将数据上传到onenet云端,通过前端开发将数据可视化。可以设定温湿度上下限,当温湿度不在范围内时,蜂鸣器工作,进行报警。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 定时器
    +关注

    关注

    23

    文章

    3148

    浏览量

    112059
  • 蜂鸣器
    +关注

    关注

    12

    文章

    850

    浏览量

    45323
  • 温湿度传感器

    关注

    5

    文章

    549

    浏览量

    35251
  • RT-Thread
    +关注

    关注

    31

    文章

    1150

    浏览量

    38911
  • OneNET
    +关注

    关注

    1

    文章

    44

    浏览量

    12577
收藏 人收藏

    评论

    相关推荐

    怎么设计一种基于Psoc6的家庭温湿度检测系统

    该项目旨在设计和构建一个基于家庭物联网的温湿度检测系统,以提供家庭环境的温湿度监测和警报功能。
    发表于 07-31 14:41 298次阅读
    怎么设计一种基于<b class='flag-5'>Psoc6</b>的家庭<b class='flag-5'>温湿度</b>检测<b class='flag-5'>系统</b>?

    使用RT-Thread和CPK-RA2L1采集DHT11温湿度

    本篇文章主要介绍使用RT-Thread Studio 和瑞萨 CPK-RA2L1评估板,使用大佬的轮子采集温湿度
    的头像 发表于 10-11 11:34 1209次阅读
    使用<b class='flag-5'>RT-Thread</b>和CPK-RA2L1采集DHT11<b class='flag-5'>温湿度</b>

    基于RT-Thread操作系统玩溜GD32303E-EVAL开发板教程

    本系列文章由misonyo所由,从 GD32303E-EVAL的RT-Thread BSP开始,逐步实现GPS传感器数据读取、温湿度传 感器数据读取、文件系统保存数据四
    发表于 05-09 14:25

    采用数字温湿度传感器的多点温湿度报警系统设计

    构成  1.1 系统原理  实验室多点温湿度报警系统原理框图如图1所示,由低性价比单片机对数字温湿度传感器控制,通过模拟温度传感器通讯时序,
    发表于 11-13 10:53

    库房无线温湿度监控方案 无线温湿度监控系统 仓储物流无线温湿度

    中心服务端两部分构成。数据采集终端负责温湿度数据的采集和发送。监测中心服务端由GPRS无线模块作为接收端,将接收到的数据传给监测中心机,通过上位机软件分析处理,实现数据采集终端监测
    发表于 03-01 10:15

    RT-Thread作品秀】精选作品集,来看看大佬是怎么玩转RT-Thread

    仓库温湿度数据的采集、上传和本地存储并在数据异常时发出警报,上位机用于实时显示本地终端上传的数据。上位机和本地终端间的数据传递通过云服务器完成。4、基于RT-Thread的室内温湿度检测器这是基于
    发表于 05-26 16:46

    怎样去搭建种基于rt-thread操作系统的迷你时钟

    本文中作者基于rt-thread操作系统搭建了迷你时钟,用来显示时间和温湿度rt-thread
    发表于 08-03 06:28

    如何去实现种基于STM32和DHT11的温湿度测量和报警系统

    DHT11数字温湿度传感器的特点是什么?如何去实现种基于STM32和DHT11的温湿度测量和报警系统
    发表于 09-29 07:31

    如何去实现基于单片机温湿度检测显示报警控制系统设计

    【资源下载】下载地址:点击下载(580)百度网盘本设计是基于单片机的温湿度检测及控制,主要实现以下功能:可实现温湿度采集可实现
    发表于 11-19 06:34

    基于RT-Thread和N32G457的智慧家庭

    作品出处:RT-Thread作者:此生何用声声叹本项目是基于国民芯片N32G457,和RT-thread操作系统开发的智慧家庭。由于万物互联深入人心,于是便有了把自己的家庭也做成
    发表于 04-18 15:21

    基于RT-Thread+RA6M4的家庭环境监测系统设计资料介绍

    1、基于RT-Thread+RA6M4的家庭环境监测系统设计本项目是基于瑞萨芯片RA6M4,和RT-thread操作系统开发的智慧家庭。由于
    发表于 08-16 14:57

    基于嵌入式系统级芯片PSoC温湿度测控系统

    介绍了基于嵌入式系统级芯片 PSoC温湿度测控系统的设计思想和实现过程。系统以嵌入式
    发表于 08-23 16:21 65次下载
    基于嵌入式<b class='flag-5'>系统</b>级芯片<b class='flag-5'>PSoC</b>的<b class='flag-5'>温湿度</b>测控<b class='flag-5'>系统</b>

    基于RT-Thread + MicroLab,零基础做温湿度监控上位机

    GND board上带在DHT11温湿度传感器,RT-Thread有相应的软件包,直接利用简单快捷。在RT-Thread studio添加DHT11的软件包。
    的头像 发表于 08-03 15:41 3254次阅读

    基于RT-Thread的家庭智能家居系统的控制平台设计

    这个系统是在英飞凌Psoc6-evaluationkit-062S2开发板的基础上,充分利用了RT-Thread实时操作系统强大的功能及丰富的软件生态,驱动ESP8266、OLED屏幕
    发表于 07-18 16:23 664次阅读
    基于<b class='flag-5'>RT-Thread</b>的家庭智能家居<b class='flag-5'>系统</b>的控制平台设计

    基于RT-threadPsoc6实现的多线程mpu6050读取及显示

    这次RT-thread官方主办的一个大学生夏令营活动,我们组使用的是Psoc6开发板,这个板子的主控是英飞凌,这个板子的的介绍在RTT的官方文档里面有。
    的头像 发表于 07-31 15:42 679次阅读
    基于<b class='flag-5'>RT-thread</b>和<b class='flag-5'>Psoc6</b><b class='flag-5'>实现</b>的多线程mpu6050读取及显示