基于微信小程序的发酵过程在线监测系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

收稿日期:2020年3月11日,修回日期:2020年4月25日
作者简介:胡斌,男,硕士研究生,研究方向:机器学习和软件开发。


1引言
近红外光(Near Infrared ,NIR )是一种波长范
围在780nm~2526nm 的电磁波。

近红外光谱分析技术可以将有机物质的含氢基团化学键的倍频和合频吸收转换为光谱信息,从而探测出物质的成分或者成分含量[1]。

在20世纪80年代期间,由于工业技术的落后,无论是行业竞争,还是环保要求,都迫使工业生产寻求新技术。

为此,经过长久的投入和发展,近红外光谱技术结合化学计量学走进研究殿堂。

近红外光谱技术以快速、安全和准确的特点在物质检测中发挥着重要作用,在发酵过程监控的研究也取得了显著进展[2~6]。

国际上,对光谱技术的应用越来越成熟。

美国尼高力仪器公司开发的OMNIC 光谱分析软件[7]、Bruker 公司开发的OPUS 软件[8]和赛默飞世尔科技公司(Thermo Fisher Scientific )的TQ Analyst 软件[9]
都在各行各业取得了良好的效果。

通过上述光谱分析软件建立定量分析模型,进而应用在实时监测系统中。

与此同时,国内外研究者也开发出基于Matlab 语言的工具箱,用于建立定量和定性分析模型,如Lars Nørgaard 开发的iToolbox 工具箱和Hong-Dong Li 近期开发的libPLS_1.98工具箱[10~11]。

上述公司和研究者对近红外光谱分析技术的发展起到的很大的促进作用,为近红外光谱技术应用到实际生产中奠定了坚实的基础。

基于微信小程序的发酵过程在线监测系统设计



(江南大学物联网工程学院
无锡
214000)


在近红外光谱分析技术应用于发酵过程监测中,为了使用户能够远程、实时获取发酵过程的重要参数,设计和
实现了一种基于微信小程序技术和Websocket 技术的在线监测软件,并给出系统设计的总体结构、功能设计以及编码测试。

在系统实现中采用Java 语言开发服务端,采用微信小程序开发客户端,采用Websocket 技术构建服务器和客户端的双工通信,为近红外光谱技术在线监测发酵过程提供完整的软件系统和解决方案。

关键词
近红外光谱;发酵过程参数;在线监测;Websocket 技术
中图分类号
TP311.52
DOI :10.3969/j.issn.1672-9722.2020.09.042
Design of On-line Monitoring System for Fermentation Process
Based on Wechat Program
HU Bin
(School of Internet of Things Engineering ,Jiangnan University ,Wuxi
214000)
Abstract
In order to enable users to obtain important parameters of fermentation process remotely and in real time ,an
on-line monitoring software based on Wechat applet and Websocket technology is designed and implemented ,and the overall struc ⁃ture ,function design and coding test of the system design are given.In the implementation of the system ,Java language is used to develop the server ,Wechat applet is used to develop the client ,Web ocket technology is used to construct the duplex communica ⁃tion between the server and the client ,which provides a complete software system and solution for on-line monitoring of fermenta ⁃tion process by near infrared spectroscopy technology.
Key Words near-infrared spectroscopy ,fermentation process parameters ,real time monitoring ,Websocket technology
Class Number
TP311.52
第48卷
本文借鉴国际上通用的光谱数据分析和监测平台,如RESULT和OPUS等,设计出一种新型的实时监测系统。

在系统实现中,利用libPLS_1.98工具箱建立定量模型,采用轮询方式对光谱采集软件的输出的CSV格式光谱数据文件进行读取,采用微信小程序技术进行客户端页面设计,利用Java语言进行服务器端开发,采用Websocket技术实现客户端和服务端的全双工通信,从而实现对发酵过程参数的远程、在线监测。

2关键技术
2.1近红外光谱检测基础
近红外光谱分析技术的物理基础是光与物质之间的相互作用,当光入射到物质时,会发生反射、透射或者吸收。

从光源入射到物质表面后,经过与物质中微粒的一系列作用后出射,其中入射与出射的光强比就是我们需要的信息。

近红外光谱分析技术的化学基础来自物质内部的分子振动和能级吸收。

由波尔频率方程计算出的振动量子数v从0到1得到的振动频率f称之为基频。

那么,一级倍频和二级倍频分别为v从0变化到2和3获得的振动频率,而合频指的是不同基频之间的和或差获得的振动频率[12~13]。

2.2微信小程序技术
微信小程序技术(Mini Program),是一种介于B/S(Brower/Server)结构和C/S(Client/Server)结构之间的系统。

对于客户来说,客户不需要像安卓或者IOS一样下载应用程序,只需要在微信软件上打开小程序功能搜索即可。

有着即开即用的效果。

对于开发人员来说,这又是一种快速开发平台[14]。

在微信小程序的编码中,已经封装好了页面的结构、生命周期以及数据渲染。

目前,已经有150万开发人员推动着微信小程序的发展,涉及到了200多个行业,并带动了一个新行业的发展。

2.3Websocket技术
Websocket技术诞生之前,客户端和服务器通常使用的技术有:轮询和长连接等。

但是,长时间的通信会导致一些问题:
1)多个客户端同时请求服务器时,服务器必须为每个客户端建立Tcp连接。

频繁的连接和断开容易造成系统崩溃。

2)频繁的Http协议请求具有很高的开销,Http 请求头存储了很多信息,重复的连接也会传递重复的信息。

Websocke技术是解决上述问题的简单方案。

如图1所示Websocke技术建立连接的原理图。

TCP协议传输数据时,每次发送数据都要建立复杂的“三次握手,四次挥手”。

而在Websocket协议的传输中,只需要建立一次连接就可以一直通信[15]。

图1Websocket原理图
3系统总体结构
实时监测系统的总体结构图如图2所示,包括发酵罐、光纤探头、光谱仪、厂商配套的光谱采集软件、实时监测软件系统和用户终端。

在整个系统中,光谱仪器采用了赛默飞品牌的傅立叶近红外过程分析仪Antaris MX,此仪器可以检测波数范围在10000cm-1~4000cm-1的近红外光谱。

服务器采用了Windows7操作系统,并安装厂商配置光谱采集软件。

厂商配置的光谱采集软件为RESULT平台下的RESULT-Integration软件,可以设置参数将实时采集的光谱数据以CSV
格式输出到指定文件夹中。

图2系统总体结构图
由总体结构图可以看出,在系统运作之前,利用Lars Nørgaard开发的iToolbox工具箱中的联合区间偏最小二乘法,对发酵过程数据建立糖含量的定量分析模型,并将模型数据存储为CSV格式的模型文件(如图2中NIR模型)。

其中,NIR模型的第一行数据为特征区间,第二行数据为波数权重。

系统运作的流程如下:1)在发酵过程中,近红外光谱仪通过光纤探头采集发酵罐的发酵过程数据,并通过厂商配备的光谱采集软件将采集到的物质信息转换成光谱信息,进入输出为CSV格式的光谱数据文件;2)在采集软件不断输出实时光谱数据的过程中,实时监测系统利用轮询监测功能获取
胡斌:基于微信小程序的发酵过程在线监测系统设计2296
2020年第9期计算机与数字工程CSV 格式光谱数据文件,并利用文件处理功能解析数据文件和模型文件,将解析到的实时数据和模型
数据以全局变量的形式存储;3)利用模型预测功能将当前实时光谱数据和模型数据结合,并计算出实时预测结果;4)在用户开启Websocket 连接后,系统
服务端利用数据推送功能将预测结果推送给在线用户。

4
功能流程设计
4.1
轮询监测功能设计
轮询监测功能是对光谱采集软件输出文件的
变化进行监测。

近红外光谱仪将采集的样品经过光谱采集软件的处理后得到了光谱图像,进一步通过设置相关参数可以将光谱数据转换成CSV 格式,并存储在指定文件夹中。

利用Java 语言对指定文件夹进行轮询监测的关键点有:
1)文件夹每次轮询扫描前,需要对已存在文件进行缓存,并在下一次轮询扫描中对已有文件对比,以确定是否有新文件。

2)为避免大量的数据对比,应该优选判断文件数量。

如果文件数量上排除了新文件的产生,可以直接进行下次轮询。

3)考虑到在近红外光谱数据的业务处理中,如
果时间过长或者其他环境异常会导致的扫描时间阻塞。

系统使用子线程的方式将扫描到的新文件交给子线程解决,而不会干扰扫描任务,由子线程去继续执行后续业务。

在上述关键点下,对系统的轮询监测功能进行设计,如图3
所示轮询监测功能流程图。

图3
轮询监测流程图
从图中可以看出轮询监测的主要流程如下:1)系统开启监控,使用Java 语言的Properties 类扫描并解析properties 类型的配置文件以获取目标路径。

其中,配置文件的目的是便于将来因业务或者环境调整而导致的文件夹更改;2)使用Java 语言的
Map 对象将目标路径的所有文件加入到缓存变量中,其中Map 的key 值为文件的最后修改时间,Map
的value 值为文件对象;3)计算当前目标路径的文件数量,并与缓存变量的数量进行对比,如果没有新文件直接进入延迟状态,如果有新文件,利用文件最后修改时间找出新文件;4)开辟线程对新文件进行后续的功能处理,包括文件解析功能、数值计算功能和信息推送功能。

4.2文件处理功能
在实时监测系统有两种类型的文件需要处理,
包括实时光谱数据文件和模型文件。

采集软件所输出的CSV 格式光谱数据具备“只读”。

在光谱数据的内容中,第一列为波数值,第二列为光谱吸收度值,实时监测系统只需要获取第二列的吸收度信息。

模型文件是通过基于Matlab 的iToolbox 工具建立定量模型,并将模型数据的特征区间和权重信息写入到CSV 格式文件中。

使用Java 语言对上述文件进行处理的主要任务有:获取文件夹中的文件列表、获取文件格式、获取文件的最终修改时间和获取文件内容。

其中,Java 语言获取文件的外部属性可以通过File 类获得,具体方法如表1所示。

Java 语言读取文件的内容信息则需要字节流FileInputStream 或者字符流
Reader 以及相关类。

表1
File 类部分方法
返回类型String String String Long File[]
方法名getName()getAbsolutePath()isDirectory()lastModified()
listFiles()描述
获取文件名称获取文件绝对路径判断是否是文件夹获取文件修改时间获取路径所有文件
通过表中的具体文件操作方法,对实时数据文件和模型文件进行读取。

从图4所示文件读取流程图中,可以看出文件处理的流程为1)由于文件处理是通用程序,需要先判断文件的类型,以进入不同的文件读取过程;2)在光谱数据文件的读取中,由于文件夹可能混杂其他文件,因此需要采用表1中的getName 方法判断是否为CSV 格式以及文件名内容,排除非光谱数据文件;3)通过字节流
FileInputStream 的readLine 方法逐行读取文件的内容;4)使用Java 语言的splite 方法对每行数据进行逗号分隔符截取,从而读取到的光谱吸收度信息进
行拼接并存储;5)在模型文件的读取中,读取第一行存储的区间信息,并使用Java 语言的splite 方法辨识多个区间信息;6)读取第二行存储的权重信2297
第48卷
息,其中权重信息以逗号分割,依旧使用splite 方法进行截取,
并保存为模型对象。

图4
文件处理流程图
4.3信息推送功能
信息推送功能是在服务端将预测的数据主动
推送给当前在线用户。

首先需要利用Websocke 技术建立客户端和服务端的连接。

在微信小程序客户端,微信小程序使用wx.connectSocket (Object ob ⁃ject )函数建立连接,其中Object 所表示的信息有后端服务器wss 的地址url 和Http Header 请求头。

在服务端,Java 语言通过ServerEndpoint 注解来自定
义Websocket 类,并指定生命周期函数onOpen 建立连接。

每个客户端与服务端建立连接后,将用户对象存储到CopyOnWriteArraySet<MyWebSocket>中,其中MyWebSocket 为自定的连接对象。

连接建立成功后,对实时数据进行计算,并将预测结果推送,如图5所示的信息推送流程图。

从信息推送流程图可以看出,信息推送的过程为1)获取轮询监测功能得到的实时数据和文件处理后的模型数据;2)使用Java 语言的Math 类计算预测结果;3)在获取到的当前用户对象集合中,对存储了用户对象的CopyOnWriteArraySet 集合进行遍历;4)以Json 格式封装预测结果,并包含光谱文件的最后修改时间、近红外光谱的数据;5)Java 语言将待发送的Json 格式数据字符串化,并使用自定义连接对象MyWebSocket 类的sendMessage 方法推
送信息。

图5
信息推送流程图
5
编码实现与测试
5.1
页面布局设计
实时监测系统的微信小程序端共有三个页面,
包括数据预测的置顶式刷新页面、预测结果的详情页面以及预测结果的历史走势页面。

其中,置顶式刷新页面是由表格构成的数据预测页面,预测结果从上到下按照时间倒序排列。

预测的详情页面除了预测时间和预测结果外,还包含了光谱的曲线信息。

预测结果的历时曲线页面是将开启在线监控到当前时刻的所有预测结果通过折线图的形式展示。

如图6所示是微信小程序的界面设计图。

其中,标题为“置顶式”所在界面是系统进入的首页。

在首页的最上方是监测系统开启监测功能的按钮。

首页的最下方是导航栏,包括了当前置顶式页面和历史曲线页面的选项卡。

在监测按钮和导航栏之间是数据预测的表格数据,其排列顺序按照时间倒序的结果展示在表格中。

详情页面作为置顶式刷新页面的二级页面,是通过点击表格预测结果的单个条目进入。

详情页面更详细的介绍预测信息和光谱的曲线图。

通过点击首页的导航2按钮,可以进入到历史光谱数据的预测走势页面。

预测走势页面展示了从开启监测功能到当前数据预测的所有数据预测走势图。

胡斌:基于微信小程序的发酵过程在线监测系统设计2298
2020年第9期
计算机与数字工程图6微信小程序界面设计图
5.2实时数据预测页面测试
根据图6的页面布局,首先设计置顶式刷新页
面和详情页面。

如图7(a )所示的置顶式刷新页面中,通过点击首页上方的在线监测状态栏,可以向后端服务器发送Websocket 连接请求,在等待连接的时间内如果连接失败按钮直接跳到关闭状态,状态显示“未开启”,如果连接成功显示“已开启”。

状态栏的下方是数据列表,从上至下按照时间倒序排列。

当新的预测结果推送到微信小程序页面时,数据将置顶到最上方位置,其他预测结果下移。

通过点击单个预测条目,可以进入到图7(b )的预测结果详情页面中。

详情页面以更加美观的排版展示预测结果,
并且新增光谱数据曲线图。

(a )置顶式数据预测页面
(b )详情页面
图7数据预测页面测试
5.3预测数据的历史曲线页面测试
通过点击图7中导航栏的“过程”选择卡进入
如图8所示的预测结果的历史曲线页面。

历史曲线是通过微信小程序端进行收集,具体过程为1)在线用户开启监测功能后,记录每次的预测结果,为了让数据在页面间传递,微信小程序将数据存储在app.js 文件的全局变量globaldata 中;2)当用户进入历史数据曲线页面后,获取globaldata 的全部数据,并使用Echarts 插件绘制历史预测结果的折线
图。

图8
历史数据曲线页面测试
在微信小程序的数据传递中,服务端通过发送Json 格式的字符串传递到微信小程序端。

微信小程序通过JSON.parse 方法将Json 字符串转换成Json 对象,并通过this.setData 方法渲染到页面数据Data 中。

当进入到历史数据页面后,通过生命周期函数onLoad 读取全局变量,进而使用Echarts 绘制
图表完成折线图渲染。

当新数据传递到微信小程序端,微信小程序将新预测结果拼接到数组末端,重新绘制历史曲线,完成数据的动态变化。

6结语
长久以来,近红外光谱技术在发酵过程监测的
应用大多为桌面端系统。

本文在经典监控系统的基础上,结合当前快速发展的互联网技术,设计并实现了一套基于微信小程序技术的实时监测系
统。

系统采用微信小程序技术作为客户端进行快速开发和快速应用,采用Websocket 技术进行客户端与服务端的高效数据推送,采用Java 语言开发服务端应用程序,以提高系统的跨平台能力。

经过最后的编码与测试表明,系统可以满足发酵过程参数的远程实时监测,为近红外光谱技术的远程监测应用提供完整的软件系统和具体的解决方案。

参考文献
[1]余龙江.发酵工程原理与技术[M ].北京:高等教育出
版社,2016:3-4.
2299
第48卷
Yu Long-Jiang,Principle and Technology of Fermenta⁃tion Engineering[M].Beijing:Higher Education Press,2016:3-4.
[2]Aleixandretudo J L,Nieuwoudt H,Aleixandre J L,et al. Chemometric compositional analysis of phenolic com⁃pounds in fermenting samples and wines using different in⁃frared spectroscopy techniques.[J].Talanta,2018,176:526-536.
[3]Vagge A,Capris P,Traverso C E.Choroidal Abnormali⁃ties Detected by Near-Infrared Imaging(NIR)in Pediat⁃ric Patients With Neurofibromatosis Type1(NF1)[J]. Investigative Ophthalmology&Visual Science,2016,57(3):774.
[4]Xue Z,Zeng S,Hao J.Non-invasive through-skull brain vascular imaging and small tumor diagnosis based on NIR-II emissive lanthanide nanoprobes beyond1500nm [J].Biomaterials,2018,171:153-163.
[5]于霜,刘国海,夏荣盛,等.基于Adaboost及谱回归判别分析的近红外光谱固态发酵过程状态识别[J].光谱学
与光谱分析,2016,36(01):51-54.
YU Shuang,LIU Guohai,XIA Rongsheng,et al.State Recognition of Near Infrared Spectrum Solid State Fermen⁃tation Process Based on Adapoost and Spectral Regression Discriminant Analysis[J].Spectroscopy and Spectral Analysis,2016,36(01):51-54.
[6]Wang L,Liu T,Chen Y,et al.On-line monitoring of bio⁃mass in1,3-propanediol fermentation by Fourier-trans⁃formed near-infrared spectra analysis[J].Chinese Jour⁃nal of Biotechnology,2017,33(1):68.
[7]Oren A,Chefetz B.Sorptive and Desorptive Fractionation of Dissolved Organic Matter by Mineral Soil Matrices[J]. Journal of Environmental Quality,2012,41(2):526-533.[8]白雁,宋瑞丽,陈志红,等.NIR结合OPUS软件建立山药中尿囊素定量模型[J].中国医院药学杂志,2008,28(22):1945-1948.
BAI Yan,SONG Ruili,CHEN Zhihong,et al.Establish⁃ment of quantitative model of allantoin in yam by NIR and OPUS software[J].Chinese Journal of Hospital Pharma⁃
cy,2008,28(22):1945-1948.
[9]Li T,He X.Quantitative Analysis of Salidroside and p-Ty⁃rosol in the Traditional Tibetan Medicine Rhodiola crenu⁃lata by Fourier Transform Near-Infrared Spectroscopy.
[J].Chemical&Pharmaceutical Bulletin,2016,64(4):289-296.
[10]Li H D,Xu Q S,Liang Y Z.Random frog:An efficient reversible jump Markov Chain Monte Carlo-like ap⁃
proach for variable selection with applications to gene se⁃
lection and disease classification[J].Analytica Chimica
Acta,2012,740:20-26.
[11]Li H D,Xu Q S,Liang Y Z.libPLS:An integrated li⁃brary for partial least squares regression and linear dis⁃
criminant analysis[J].Chemometrics&Intelligent Labo⁃
ratory Systems,2018,176:34-43.
[12]任东,瞿芳芳,陆安祥,等.近红外光谱分析技术与应用[M].北京:科学出版社,2016:4-6.
REN Dong,QU Fangfang,LU Anxiang,et al.Near In⁃
frared Spectroscopy Analysis Technology and Its Applica⁃
tion[M].Beijing:Science Press,2016:4-6.
[13]褚小立,陆婉珍.近五年我国近红外光谱分析技术研究与应用进展[J].光谱学与光谱分析,2014,34
(10):2595-2605.
CHU Xiaoli,LU Wanzhen.Research and Application
Progress of Near Infrared Spectroscopy in China in Re⁃
cent Five Years[J].Spectroscopy and Spectral Analy⁃
sis,2014,34(10):2595-2605.
[14]刘红卫.微信小程序应用探析[J].无线互联科技,2016(23):11-12,40.
LIU Hongwei.Analysis on the Application of Wechat
Small Program[J].Wireless Internet Technology,2016
(23):11-12,40.
[15]薛陇彬,刘钊远.基于WebSocket的网络实时通信[J].
计算机与数字工程,2014,42(03):478-481.
XUE Longbin,LIU Zhaoyuan.Real-time Network Com⁃
munication Based on WebSocket[J].Computer&Digital
Engineering,2014,42(03):478-481.
胡斌:基于微信小程序的发酵过程在线监测系统设计2300。

相关文档
最新文档