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

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

3天内不再提示

一种温湿度传感器的记录数据保存方法

张功勤 来源: Tony908441519 作者: Tony908441519 2023-07-05 10:55 次阅读

一种温湿度传感器的记录数据保存方法

最原始的数据记录都是依靠人工去完成的,每隔一段时间记录一次数据。在科学实验室里,科技人员经常拿着笔和纸记录当时观察的数据,这种工作既单调又枯燥,还不能及时。于是人们想到一种办法,让机器来定时采集和记录,然后将采集的数据保存到FLASH中。当我们需要的时候,再从FLASH中读出来,供我们使用。可见,机器记录数据既保证了实时性和效率,还节省了人工成本。

我们先回顾一下人工记录的方法:先在一张空白的纸上制作一个表格,里面有:序号,内容,时间,签字人姓名,核验时间。同理、机器记录也需要首先要有一个空白的数据记录区,而且掉电再上电还要保证数据继续存在。于是我们会很快想到FLASH存储器,FLASH通常有两种:I2C通讯的EEPROM和SPI通讯的FLASH。EEPROM最大的分区为页,限制了EEPROM的容量扩展;其次跨页写入时,EEPROM需要发送重启条件;再次I2C抗干扰能力差。SPI通讯的FLASH支持扇区读、写和擦除,同时支持块擦除,容量大,性价比高。因此,SPI通讯的FLASH是我们的首选。

W25Q128容量为16M字节,共计4096个扇区,每个扇区为4*1024个字节,地址为24位。扇区擦除后,里面的数据全部是0xFF。

1、保存对象

温度1(float型),温度2(float型),湿度1(u8型),湿度2(u8型),状态数据(u8型)

1、数据保存周期

规定每5分钟保存一次。这样,每天保存的信息数量为:24*60/5=288条。

2、消息格式

1)、时间:

用秒表示,32位数值,使用16进制的ASCii码表示,需要占用8个字节。

若用0表示2000年1月1日00:00:00,则:

全为平年,最大年数为0x100000000/3600/24/365=4294967296=136.19年

全为闰年,最大年数为0x100000000/3600/24/366=4294967296=135.82年

从2023年算起,还可以支持112年,这个时间数值够用了。

2)、u32和单精度浮点数:

单精度浮点数为32位数值,使用16进制的ASCii码表示,需要占用8个字节。

3)、整型数:

u16型数值,使用16进制的ASCii码表示,需要占用4个字节,用D表示。

u8型数值,使用16进制的ASCii码表示,需要占用2个字节,用d表示。

4)、校验码:

校验码为u8型数值,使用16进制的ASCii码表示,需要占用2个字节。

5)、起始符号和结束符号:

起始符号’(’,使用ASCii码表示,需要占用1个字节。

结束符号’)’,使用ASCii码表示,需要占用1个字节。

6)、上传状态:

0xFF表示没有上传,需要执行断网续传;字符’Y’表示已上传,无需续传。需要占用1个字节。

7)、消息格式:(上传状态/时间/f1/f2/d1/d2/d3/校验码)

每条信息为3*8+3*2+5=35个字节。

1个时间数据,3个浮点数,3个u8型数值。

举例:

(Y000000003F0000003F0000004B4B00XX)

Y表示该信息已经上传

时间:00000000通过换算得到时间为2000-01-01 00:00:00

温度1为浮点字符串数值3F000000,合为十进制数为0.5度

温度2为浮点字符串数值3F000000,合为十进制数为0.5度

湿度1为u8型字符串数值4B,合为十进制数为75

湿度2为u8型字符串数值4B,合为十进制数为75

温度1,温度2,湿度1和湿度2状态值为u8型字符串数值00,合为十进制数为0。

3、扇区规划

1)、每个扇区的前两个字节,用来记录扇区的状态:

分别用SectorXByte[0]和SectorXByte[1]表示,其中-1

SectorXByte[0]=0xFF且SectorXByte[1]=0xFF表示该扇区为空白扇区;

SectorXByte[0]=’1’且SectorXByte[1]=0xFF表示该扇区可以继续保存信息;

SectorXByte[0]=’1’且SectorXByte[1]=’1’表示该扇区满,不能再保存信息;

SectorXByte[0]=0xFF且SectorXByte[1]=’1’表示该扇区损坏了,不能保存信息;

这么规定的目的,可以告诉我们当前写到哪个扇区了,同时,可以避免将数据写入坏扇区。

举例:

Sector0Byte[0]=0xFF且Sector0Byte[1]=0xFF表示扇区0为空白扇区;

Sector0Byte[0]=’1’且Sector0Byte[1]=0xFF表示扇区0可以继续保存信息;

Sector0Byte[0]=’1’且Sector0Byte[1]=’1’表示扇区0满,不能再保存信息;

Sector0Byte[0]=0xFF且Sector0Byte[1]=’1’表示扇区0损坏了,不能保存信息;

2)、每个扇区的信息数量

(4096-2)/35=116.9条,按照116条/扇区计算,损失34个字节。

3)、规定信息写入,不得跨越扇区。因此最后34个字节为0xFF,不使用。这么设计的目的,就是为了保证扇区前两个字节用作记录扇区的状态,不被改变,同时,也是为了扇区具有可读性。

4、W25Q64JV(8M容量的FLASH)

1)、最大信息数量

116*2048=237568条数据

2)、最多天数

237568/288=824天,因此8M的FLASH可以保存2.2年的数据。

5、W25Q128JV(16M容量的FLASH)

1)、最大信息数量

116*4096=475136条数据

2)、最多天数

475136/288=1649天,因此16M的FLASH可以保存4.5年的数据。

6、总结

通过上述对FLASH得规划,实现数据记录就很容易实现了。

审核编辑 黄宇

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

    关注

    2526

    文章

    48093

    浏览量

    740062
  • FlaSh
    +关注

    关注

    10

    文章

    1550

    浏览量

    146646
  • EEPROM
    +关注

    关注

    9

    文章

    927

    浏览量

    80314
  • ASCII
    +关注

    关注

    4

    文章

    169

    浏览量

    34529
收藏 人收藏

    评论

    相关推荐

    【原创】DHT11传感器温湿度监测系统毕设,论文、代码、原理图和仿真介绍

    使用。但从成本考虑,DHT11价格便宜,其应用更为广泛。 系统概述 本文设计了一种基于51单片机和DHT11传感器温湿度监测系统,能够实现对当前环境温湿度数据的采集、处理、显示和报警
    发表于 03-13 00:53

    温湿度传感器工作原理 温湿度传感器的接线方法

    温湿度传感器一种用于测量环境温度和相对湿度的装置。它通常用于工业、农业、气象、室内空调等领域。本文将详细介绍温湿度
    的头像 发表于 02-14 18:00 4107次阅读

    温湿度传感器接线端子T是什么意思

    温湿度传感器一种用于测量周围环境温度和湿度的设备,广泛应用于工业控制、气象观测、智能家居等领域。而温湿度
    的头像 发表于 01-16 09:16 500次阅读

    4G远程温湿度传感器在养殖场中的应用

    在养殖业中,温湿度是影响动植物生长和健康的关键因素之一。而温湿度传感器则可以实时监测和记录这些数据,帮助养殖户及时发现和解决问题,提高生产效
    的头像 发表于 01-09 16:02 171次阅读
    4G远程<b class='flag-5'>温湿度</b><b class='flag-5'>传感器</b>在养殖场中的应用

    4G远程温湿度传感器在仓库中的应用—蜂窝物联

    。为了更好的观测和掌握温湿度的变化,仓库需要安装温湿度传感器实时监测温湿度状态,确保适宜货物储存的温湿度环境。 蜂窝物联仓库存储环境远程监控
    的头像 发表于 01-02 09:36 161次阅读

    【ELF 1开发板试用】板载资源测试4:体验温湿度传感器

    飞凌嵌入式ELF1开发板(以下简称为“开发板”)将温湿度传感器AHT20集成在了底板上,此次依旧做最基础的测试,以下是测试过程记录、实
    发表于 12-18 11:09

    温湿度传感器怎么布线

    温湿度传感器一种用于测量环境温度和湿度的设备,广泛应用于各种工业领域、农业、气象、建筑等领域。布线是安装传感器的一个必要步骤,决定了
    的头像 发表于 12-08 14:00 933次阅读

    基于51单片机和AHT10温湿度传感器温湿度计源码

    款基于51单片机和AHT10温湿度传感器温湿度计源码。
    发表于 10-09 08:39

    数据中心温湿度监控系统解决方案之以太网温湿度传感器

    成为数据中心运维中不可忽视的问题。为了解决这一难题,H-THRJ45以太网温湿度传感器应运而生。 H-THRJ45以太网温湿度传感器的工作原
    的头像 发表于 08-02 09:52 800次阅读
    大<b class='flag-5'>数据</b>中心<b class='flag-5'>温湿度</b>监控系统解决方案之以太网<b class='flag-5'>温湿度</b><b class='flag-5'>传感器</b>

    温湿度传感器怎么选择,温湿度传感器选型的注意事项

    温湿度传感器作为一种测量大气中温度和相对湿度的仪器,广泛应用于各种领域。其工作原理是基于热电偶和电容式两种不同的技术。本文将详细介绍如何选择温湿度
    的头像 发表于 07-25 10:25 1882次阅读

    温湿度传感器大有用处

    在如今数字化、智能化的时代,环境监测变得越来越重要。无论是居住空间、办公场所还是制造业工厂,温湿度是影响人们舒适度和生产效率的重要因素。而温湿度传感器作为环境监测的关键利器,不仅能准确测量温湿
    的头像 发表于 07-24 17:38 861次阅读

    ​什么是温湿度传感器

    温湿度传感器由于体积小,性能稳定等特点,被广泛应用在生产生活的各个领域。温湿度一体化传感器是采用数字集成传感器做探头,配以数字化处理电路,从
    的头像 发表于 07-07 16:50 723次阅读

    温湿度传感器校准原理及校准步骤

    温湿度传感器一种重要的设备,用于监测环境中的温度和湿度变化。然而,由于环境和时间的影响,温湿度传感器
    的头像 发表于 06-29 16:30 5035次阅读

    温湿度传感器的类型及技术比较

    温湿度传感器一种广泛应用于气象观测、室内环境监测、农业、工业等领域的重要传感器。它可以测量和监测环境中的温度和湿度变化,提供关键的环境
    的头像 发表于 06-26 18:00 2381次阅读

    如何选择温湿度传感器

    温湿度传感器在各种领域中起着至关重要的作用,无论是室内环境监测还是工业自动化控制,然而市场上存在各种类型和品牌的温湿度传感器,如何选择适合自己需求的
    的头像 发表于 06-18 11:06 972次阅读