网站建设价格网站建设公司哪个好

新城区爱民开锁服务部 2026/09/09 19:27:54

1.概述

使用文件系统存储传感器的数据。

2.步骤

  1. 挂载SD卡
  2. 获取温湿度数据
  3. 在创建SD卡中创建文件,保存数据
  4. 将异常温湿度数据保存到SD文件中

3.关键步骤

1.SD卡热插拔处理

void FlieSystem_entry(void *parameter) { static rt_err_t result; rt_device_t dev; while(1) { dev = rt_device_find("sd0"); if (dev != RT_NULL) { if (dfs_mount("sd0", "/", "elm", 0, 0) == RT_EOK) { rt_kprintf("SD mount to / success
"); break; } else { rt_kprintf("SD mount to / failed
"); } } rt_thread_mdelay(500); } } static int FileSystemInit(void) { //创建sd线程 rt_thread_t thread_filesystem = rt_thread_create("file_sys", FlieSystem_entry, RT_NULL, 1024, 18, 20); if (thread_filesystem != RT_NULL) { rt_thread_startup(thread_filesystem); } } INIT_ENV_EXPORT(FileSystemInit);

2.传感器数据发送

使用邮箱或者消息队列

3.文件读写

//保存数据到SD void Sensor_DataTo_SD(char* buff) { /* 以创建和读写模式打开 /text.txt 文件,如果该文件不存在则创建该文件 */ FILE *recvdata_p0; recvdata_p0 = fopen("/Sensor_Data.cav", "a+"); if (recvdata_p0 != RT_NULL) { fputs(buff, recvdata_p0); fputs("
", recvdata_p0); fclose(recvdata_p0); } } //从SD读取信息 void Data_ReadFSD(void) { FILE *fp; char buffer[120]; fp = fopen("/Sensor_Data.cav", "r"); if (fp != RT_NULL) { fread(buffer, sizeof(char), sizeof(buffer), fp); rt_kprintf("%s", buffer); fclose(fp); } } void Save_Data_TOSD(float data1, float data2) { if(data1 >= HIGHT_TEMPVALUE) { detect_logic.T_Count_Alarm++; } else { detect_logic.T_Count_Alarm--; if(detect_logic.T_Count_Alarm <= 0) detect_logic.T_Count_Alarm = 0; } if(detect_logic.T_Count_Alarm >= MAX_COUNTER) { detect_logic.T_Count_Alarm = MAX_COUNTER; rt_kprintf("温度超过标准!%d
",detect_logic.T_Count_Alarm); sprintf((char*)detect_logic.Alarm_buff, "Temp:%.2f,humi:%.2f", data1, data2); //拼接到温度数组里 //保存异常数据到SD卡 Sensor_DataTo_SD((char*)detect_logic.Alarm_buff); } // if(data2 >= HIGHT_HUMIVALUE) { detect_logic.H_Count_Alarm++; } else { detect_logic.H_Count_Alarm--; if(detect_logic.H_Count_Alarm <= 0) detect_logic.H_Count_Alarm = 0; } if(detect_logic.H_Count_Alarm >= MAX_COUNTER) { detect_logic.H_Count_Alarm = MAX_COUNTER; rt_kprintf("湿度超过标准!%d
",detect_logic.H_Count_Alarm); sprintf((char*)detect_logic.Alarm_buff, "Temp:%.2f,humi:%.2f", data1, data2); //拼接到温度数组里 //保存异常数据到SD卡 Sensor_DataTo_SD((char*)detect_logic.Alarm_buff); } }

4.温度监控线程

温度异常时,会存储到SD卡中

static void Publish_th(void *pram) { //传感器数据结构体 Sensor_msg sensor_msg; static rt_uint32_t e; static char r_buff[64]; while(1) { if (rt_event_recv(Sensor_event, EVENT_ADC_FLAG, RT_EVENT_FLAG_AND | RT_EVENT_FLAG_CLEAR, RT_WAITING_FOREVER, &e) != RT_EOK) continue; //2000ms超时接收 --- if (rt_event_recv(Sensor_event, EVENT_TH_FLAG, RT_EVENT_FLAG_AND | RT_EVENT_FLAG_CLEAR, rt_tick_from_millisecond(2000), &e) == RT_EOK) { //永久等待接收邮件 if(rt_mb_recv(Sensor_msg_mb, (rt_ubase_t*)&sensor_msg, RT_WAITING_FOREVER) == RT_EOK) { sprintf((char*)r_buff, "Temp:%.2f,humi:%.2f", (float)sensor_msg->temp, (float)sensor_msg->hum); //拼接到温度数组里 } rt_kputs((char*)r_buff); rt_kputs("
"); //阈值判断逻辑 Save_Data_TOSD((float)sensor_msg->temp, (float)sensor_msg->hum); //释放内存块 rt_mp_free(sensor_msg); sensor_msg = RT_NULL; continue; } //1s超时直接存数据 //阈值判断逻辑 rt_kputs("@1s接收事件超时--存储数据
"); Sensor_DataTo_SD((char*)r_buff); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

中山网站建设哈尔滨网站建设

IDE评估重置工具使用指南【免费下载链接】IDE评估重置工具ide-eval-resetter-2.3.5.jar欢迎使用ide-eval-resetter-2.3.5.jar,这是一款

2026/06/30 14:02:38

晋江网站建设网站建设案例

快速体验打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容:创建一个Java环境方案生成器,支持:1. 传统

2026/06/30 12:30:02

马鞍山网站建设网站建设需要

OneDragon自动化工具终极指南:从零开始掌握绝区零全自动玩法【免费下载链接】ZenlessZoneZero-OneDragon绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日

2026/06/30 12:57:34

石家庄网站建设网站建设新闻

摘要:本文聚焦于数据分析能力在开源AI智能名片链动2+1模式多商户商城小程序中的应用价值。通过分析该模式的特点与运营需求,深入探讨如何入门数据分析、掌握有效方法以及

2026/06/30 13:53:37

北京高端网站建设山东省建设厅网站

犀牛Rhino汤锅建模教程:曲面重建详解在工业设计领域,一个看似简单的厨房汤锅,其实藏着不少建模“玄机”。尤其是手柄与锅体之间的过渡区域,稍不注

2026/06/30 13:35:36

大型门户网站建设龙华网站建设

如何掌握数字取证终极利器:Autopsy完全实战指南【免费下载链接】数字取证工具Autopsy的下载安装与学习指南本资源文件旨在提供关于数字取证工具Autopsy的详细下载、安装及学习使

2026/06/30 13:39:06

湖南营销型网站建设甘肃网站建设

Unsloth框架介绍1.1 Unsloth概览Unsloth是一款专为大语言模型微调与强化学习设计的开源框架,致力于以更高的效率和更低的资源成本推动人工智能技术的普及。用户可在本地环境

2026/06/30 11:40:57

苏州网站建设乐清网站建设

快速体验打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容:展示如何通过DIFY在1小时内快速开发一个AI应用原型。选择一个具体的应用场

2026/06/30 13:07:04

网站如何建设网站建设需求

遇到一个很诡异的问题,我在启动多个配置相同zookeeper的Dubbo项目时,其他项目都是正常启动,唯独有一个项目在启动过程中,Dubbo注册

2026/06/30 13:38:36