首页 > 技术 > 内容

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

时间:2025-11-29  作者:Diven  阅读:0

简介

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

设计思路:项目使用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云端,通过前端开发将数据可视化。可以设定温湿度上下限,当温湿度不在范围内时,蜂鸣器工作,进行报警。

猜您喜欢


光敏电阻作为重要的光电传感器件,其性能直接影响着各种光电设备的精度与稳定性。台庆(TAI-TECH),作为业内知名的电子元器件制造商,其生产的光敏电阻很好的性能...
2015-09-04 22:23:30
品牌的地域归属问题常常引起消费者的关注。四川永星薄膜电阻作为业界知名的电阻产品制造商,其品牌归属国一直是人们热议的话题。本文将详细解析四川永星薄膜电阻品牌的国家...
2024-02-26 03:12:59
SOT-223-3是广泛应用于电子元件中的封装形式,因其小巧的体积和良好的散热性能而受到青睐。无论是在消费电子、工业设备还是汽车电子中,SOT-223-3都展示...
2025-02-21 10:38:31
保险丝作为重要的保护元件,起着保障电路安全的关键作用。驭舵保险丝作为市场上受到关注的品牌,优良的性能和可靠的品质赢得了众多用户的青睐。市场上存在多种品牌的驭舵保...
2022-07-15 16:07:30
得益于日益成熟的技术,MEMS传感器在各类电子产品上快速普及,我们身边的智能手机、平板电脑等几乎所有电子设备无不包含,然而大部分人对MEMS技术还是比较陌生的。...
2023-08-21 17:23:00
电位器作为调节电压、电流的重要元件,其性能直接影响到整个电子系统的稳定性和精准度。ROHM(罗姆)作为知名的半导体和电子元器件制造商,其电位器因品质优良、参数稳...
2013-09-02 10:11:30
SCT595-5是新型的高性能传感器,应用于工业自动化、智能制造和物联网等领域。优越的性能和稳定性,受到众多企业的青睐。本文将对SCT595-5进行详细的介绍,...
2025-04-19 21:00:35
现代电子设备中,连接端子的选择对设备的性能和稳定性非常重要。TERMINAL_15.24X10.1MM_TM作为高效的连接端子,因其独特的设计和优良的性能而受到...
2025-04-26 20:01:11
雪崩二极管(Avalanche Diode)是特殊类型的半导体二极管,因其在反向偏置状态下能够承受较高的电压并在特定条件下发生雪崩击穿而得名。应用于各种电子设备...
2025-04-06 19:01:08
音箱/音响在我们的生活中是重要的配件。是音乐欣赏的最佳伴侣。无论是在家中、办公室还是户外,高质量的音箱能够将音乐的细节和情感完美呈现,让我们沉浸在音符的海洋中。...
2025-06-06 00:00:00