APP下载

基于物联网感知的个性化饮茶系统设计与实现

2021-03-25

软件导刊 2021年3期
关键词:茶品温度传感器饮茶

徐 儒

(长江师范学院计算机工程学院,重庆涪陵 408100)

0 引言

随着科技的进步和生活节奏的加快,人们由于各种压力或不良生活习惯,而出现身心健康问题。合理饮茶是保证人体健康、提高生活品质的一种途径和手段[1]。市面上茶叶种类繁多、品牌多样,不同类别茶品在营养和功效等方面千差万别,相同类别不同品牌的茶品在作用和口味等方面也不尽相同。相对而言,大多数饮茶用户仅仅停留在单一的饮用方面,对茶品的特征、营养、功效,茶叶的用量、水温、时间等缺乏关注,或者只关注自己熟知的茶叶,而对其它茶品知识知之甚少。大数据时代,充分利用数据挖掘和个性化推荐技术,根据用户偏好推荐茶品信息很有意义。

目前,大多茶饮相关研究需用户直接参与,且重点在口感或营养推荐上,而用户茶饮偏好自动获取相关研究较少。文献[2]运用电子鼻与电子舌联用技术对信阳毛尖茶茶叶挥发性气味和茶汤滋味的茶多酚、咖啡碱含量成分进行检测分析;文献[3]对茶叶色香味品质评价进行研究,从色泽、香气和滋味3 个方面归纳近年来茶叶品质评价新方法;文献[4]针对智能感官分析技术对茶叶品质检测进行研究;文献[5]设计茶饮味觉分析评价系统,通过检测各种味物质和人工脂膜之间的静电作用或疏水性相互作用产生的膜电势变化,实现对茶饮味道的评价;文献[6]设计一种利用茶饮机法自动识别茶包种类的系统,通过颜色、温度和流量等传感器分别检测茶包颜色、水温和水量等参数。本文利用物联网处理技术,提出一种新的个性化饮茶偏好知识获取方法,该方法主要从茶叶用量、水温、时间与次数等进行研究,通过物联网传感器技术采集用户饮茶数据,提取出个性化饮茶特征,利用数据动态分割法获取用户饮茶偏好上下文,从而建立准确的用户饮茶信息库,实现对用户信息呈现或茶品推荐等功能。

1 个性化饮茶偏好特征提取

用户饮茶偏好主要指用户在一定时间段内,对某样茶品或某类茶品的食用情况。根据已有文献可知,不同茶品在饮茶过程中的基本要求和方式手法虽有所不同,用户个性需求、行为特征和个人偏好也千差万别,但归纳起来,可以通过茶叶用量、水温、冲泡时间和次数这3 个关键参数加以反映。

1.1 茶叶用量特征提取

茶叶种类繁多,类别不同其用量也各异,泡一壶好茶,掌据茶叶用量是关键。每次茶叶用量多少并无统一的固定标准,主要受茶叶种类、茶具大小、年龄结构、饮茶历史以及饮用习惯等诸多因素影响。鉴于用户单次饮茶的茶叶用量不会太大,饮茶用量可以通过压力感应方式称重获取。先用茶勺从茶盒中提取待饮用的茶叶,然后将茶勺中的茶叶倒入器皿中,通过称重方式进行用量获取,或者将茶盒中的茶叶直接倒入器皿中进行用量称重。这两种方式虽然都实现了对茶叶用量的获取,但存在诸多弊端,主要表现在:

(1)忽略了用户饮茶体验。用户在整个取茶过程中,需分两步操作:①将准备饮用的茶叶放在器皿中进行称重;②将器皿中称重后的茶叶放入茶具冲泡饮用。第一步实际操作起来很不方便,在称重之前既要准备器皿,还要保证器皿在压力传感器端处于初始值的清零状态,既不符合用户饮茶习惯,也给用户带来较差的饮茶体验;

(2)对器皿清洁度要求高。茶叶属于直接食用食品,茶叶称重的器皿对清洁度要求颇高,稍不注意就容易引起食品污染。

为了充分考虑用户的饮茶习惯,系统采用在托盘底部布置压力传感器,在提取茶叶用量之前,通过压力传感器采集一次茶盒和茶叶的传感器数据,当用茶勺取出茶叶放入茶具后,再采集一次茶盒和茶叶的传感器数据,通过两次传感器数据的绝对差值,即可准确采集到本次用户的茶叶用量。通过对这些数据的分析处理,就可获取用户一次饮茶过程中对茶叶用量的食用情况。

考虑到压力传感器对压力十分敏感,在称重过程中难免出现偏移量误差,因此,系统在托盘底部均匀布置3 个压力传感器,采用单位时间内多个压力传感器采集数据求平均的方法,获取准确的茶叶用量。

用户饮茶偏好用量获取与处理算法思想可以表述为:

Step1:建立数组集合ArrayWeight={ArrayWeight1,Ar⁃rayWeight2,ArrayWeight3},用于存放各压力传感器采集的茶盒和茶叶数据,其中,ArrayWeighti表示第i压力传感器采集数据(1≤i≤3);

Step2:系统初始化ArrayWeight=Ф,初始化茶叶用量WeightNum=0,初始化压力测试监视哨newFlags=false,表示之前接收的传感器数据已作处理,将要从传感器接收新数据;

Step3:采集一次传感器数据;

Step4:初始化ArrayWeight=Ф,分别将3 个压力传感器采集到的数据存入ArrayWeight 集合中,即ArrayWeight[3]={第1 个压力传感器采集数据,第2 个压力传感器采集数据,第3 个压力传感器采集数据},并对各压力传感器数据求平均值,将其存入WeightNum 中,即:WeightNum=,同时修改压力测试监视哨状态newFlags=true;

Step5:判断newFlags 是否为真,若为真,则执行Step3,若为假则执行Step5;

Step6:输出WeightNum,同时修改压力测试监视哨状态newFlags=false;

Step7:结束。

1.2 泡茶水温特征提取

系统通过布置在茶具底部的不锈钢防水温度传感器,可以采集到用户泡茶过程中的水温传感器数据,对这些数据进行处理,可以获取用户一次泡茶过程中对水温的需求情况。由于受气候、季节、时辰等诸多因素影响,泡茶过程中的茶水温度并非恒定不变,其具有实时波动的动态变化特征,而温度传感器芯片对温度变化十分敏感,具体表现为温度感应器的输出数值在一定范围内上下波动,而最大温度值和最小温度值均不是泡茶水温的真实体现,这就要求在实时获取的传感器数据中,对上下波动的最值进行“噪点”去除处理。基本思路为:将传感器捕获到的数据存储于动态数组中,并按照时间段将动态数组划分成不同的段,每段对应一定时间内较为稳定的温度传感器数据,通过对每个段内的传感器数据求平均值,即可得到较为准确的温度传感器数据;通过计算相邻两个分段的均值差,可求出水温变化量。

1.3 冲泡时间与次数

在个性化饮茶偏好的时间特征提取过程中,主要通过闹钟定时方式获取茶叶冲泡的准确时间和合适次数。

2 系统设计与实现

2.1 系统总体设计

系统采用三层结构设计,实现对用户个性化饮茶偏好的知识获取,整体架构如图1 所示。

Fig.1 Design of the overall system architecture图1 系统整体架构设计

(1)物理层。主要负责传感器感知元器件设计与部署,压力传感器主要负责对用户饮茶用量的数据采集和特征提取。压力传感器的基本设计和部署为:在托盘底部布置3 个压力传感器,均匀分布在盘底四周,大致呈等三角形放置,以便托盘及盘上的物体重量能够均匀地被3 个传感器捕获,物体重量呈现为3 个压力传感器数值和的平均值;当压力传感器采集到数据后,将采集数据进行模数转换并提交给ZigBee 传感器节点处理单元;传感器节点处理单元主要负责对本身采集到的信息和其它节点转发给它的信息进行初步数据处理和信息融合,然后以相邻节点接力传送方式将数据传递到ZigBee 协调器节点;协调器节点主要协调网络建立和接收并处理,将各采集节点的数据通过RS232 串口通讯的方式传递到PC 端,完成ZigBee 协议的无线通信、交换控制消息和收发采集数据。压力传感器设计部署如图2 所示。

Fig.2 Design and deployment of pressure sensors图2 压力传感器设计部署

温度传感器主要负责水温的数据采集和特征提取,其基本原理与压力传感器设计部署类似。

(2)数据层。数据层主要对采集的原始数据进行分析,抽象出个性化饮茶偏好的特征信息并存入数据库,从而建立准确的用户饮茶信息库。

(3)应用层。应用层主要根据用户需求进行软件编程,实现特定功能。例如,对数据层数据经过数据规约、数据清理、数据变换、数据挖掘、模式评估、知识表示等环节和操作[7],从而挖掘出用户个性化饮茶偏好,并将数据挖掘所得到的分析信息以可视化的方式呈现给用户,或作为新的知识存放在知识库中,供其它应用程序参考、使用,实现茶品推荐等功能。

2.2 ZigBee 数据通信实现

2.2.1 数据通信发送

对数据进行校验和封装,封装方式是将数据分别装入元组中,然后在对目的源地址和元组字节进行校验。具体格式如表1 所示。

Table 1 Encapsulation protocol for sending data packets in ZigBee communication表1 ZigBee 协议数据通信发送数据包封装表

其中,将Data0 设置为起始标记,用于表示ZigBee 通讯有效数据的开始位置;Data1、Data2 分别表示用于双向数据通信的本地地址和服务器地址,用16 位二进制数表示;Data3-Data6 为温度传感器、压力传感器的实时数据,通过ZigBee 协议将温度和压力实时发送给服务器端,便于远程捕获终端的状态数据;Data7 表示校验标记位,用来对传输数据进行加密校验,确保传输数据准确可靠;Data8 用作结尾标记,表示数据传输完毕。

2.2.2 数据通信接收

对发送过来的数据请求进行解析,并进行相应的校验和处理。比如发送端与接收端的起始字节、目标地址及本地地址必须准确符合才能进一步接收数据,单片机接收了一帧数据后就将接收状态位清零,然后读取缓冲区内的数据到单片机内部,接着继续接收下一帧数据,直至缓冲区内的数据全部读完,最后启动中断程序。特别需要注意的是,每次读取缓冲区内的数据后都需要将接收状态位(RI)进行清零。

3 实验测试与结果分析

为了验证该系统设计方案对于个性化饮茶偏好知识获取的有效性,系统采用1 个托盘作为用户茶叶用量记录来源、1 个茶具作为泡茶水温记录来源,3 个Tekscan 压力传感器和1 个DS18B20 芯片温度传感器用于获取用户饮茶信息。同时,准备1 台精准度为0.001g 的蓉城高精度电子天平称,1 支精度为0.1、范围在0~100℃的高精密棒式水银温度计,以便与传统方法进行对比。

针对茶叶用量的特征提取测试,实验选取了20 份茶叶样本进行对比测验。为了便于称取重量,先将每份茶叶样本用保鲜膜封装好并按重量从小到大的顺序标明编号,假设茶盒的重量为0g,然后用天平工具对各编号样本分别称取重量,再分别将各编号样本按顺序放置在已经布置好的器皿中,启动系统,按顺序从器皿中取出样本,获取传感器数据并加以处理。20 个实验样本统计结果对比如表2所示。

Table 2 Statistical comparison of experimental sample results of tea consumption表2 茶叶用量实验样本统计结果对比

实验结果表明,本文系统对茶叶用量偏好特征提取整体识别度较高,能准确反映茶叶用量的真实情况。但实验中系统未能准确识别出重量为0.03g 的样本,对小于0.1g的样本识别度也不高,这主要由实验中压力传感器不稳定导致。

针对泡茶水温的特征提取测试,实验中将带有温度传感器的茶具添水加热,将水银温度计插入茶具合适位置,当水温读数到80℃开始计时,同步获取温度传感器和水银温度计上的数据,从而对二者进行较好对比。水温在不计能量流失状态下的温度变化呈线性关系且状态缓慢变化,温度传感器的数据在T 时间内并不会发生较大波动,因此设定温度传感器阈值为1℃,即温度传感器数据变化在阈值范围内,都视为温度没有变化。同时,实验条件为室内常温32℃环境,茶具容器为500mL,盛满清水,时间段T=5min,对T 时间段内每5s 采集一次传感器数据,共获取60个传感器数据。与水银温度计读数对比如图3 所示。

Fig.3 Temperature comparative analysis图3 温度实验对比分析

由实验结果可以看出,温度传感器数据在经过分段、去噪处理后,数据被分割成若干条近似水平的线段,每条线段代表着一个分割段区间,线段上的初始节点即为当前分割段区间的开始,尾部节点即为当前分割段区间的结束。实验结果表明,水银温度计的温度数据基本分布于温度传感器数据各分割段区间的中心位置,可近似理解为:水银温度计的数据曲线与温度传感器数据的分割段区间均值曲线的线条重合度较高,说明本系统设计的茶水温度偏好特征提取方案切实可行。

此外,实验中温度传感器不稳定等原因,导致传感器采集的起始数据和结束数据与实际温度并非完全吻合。

4 结语

本文针对当前大多现有茶饮系统都注重口味或营养,而用户饮茶偏好自动获取研究较少的现状,设计一套能实现个性化饮茶偏好提取的茶信息管理系统。从茶叶用量、水温、时间和次数等方面进行研究,通过物联网传感器技术采集用户饮茶数据,提取出个性化饮茶特征,利用数据动态分割法获取用户饮茶偏好上下文,从而建立准确的用户饮茶信息库,通过物联网传感器技术提取出个性化饮茶偏好,从而建立准确的用户饮茶信息库,为用户实现信息呈现或茶品推荐等功能提供帮助。与现有成果相比,本文提出的方法具有用户体验强、感知准确、适用范围广、用户直接参与少等特点,较好地实现了对个性化饮茶偏好的特征提取和知识获取。实验结果证明,该方案具有一定的可行性和有效性。

猜你喜欢

茶品温度传感器饮茶
上万类茶品“飘香”第7届山西茶博会
饮茶养生De四季区别
温度传感器DS18B20在温度计设计中的应用
一种高性能CMOS温度传感器
XTR105电流变送器在温度传感器中的应用
互联网平台经济下的茶品开发框架性建议
互联网知识经济环境下的茶品开发与设计研究
英语翻译视角下的国产茶品说明书英译研究
四季饮茶与健康
温度传感器在笔记本电脑散热系统中的应用