基于物联网技术的民用秤检定系统设计与实现*
2023-02-19张掖市质量检验检测研究院邬晓燕边英梅朱志斌
张掖市质量检验检测研究院 邬晓燕 边英梅 朱志斌
针对传统民用秤检定过程中数据记录流程繁琐、检定数据是否真实等问题,本文利用物联网技术设计并实现了一款民用秤检定系统,该系统通过检定侧、服务侧、管理侧的软硬件设计实现了检定流程的在线控制及检定数据的真实性核验等功能。系统在检定侧使用QT 语言进行移动端程序设计使用的检定侧程序具有一定的跨平台性,同时系统设计时还预留了后期增加其他检定项目的接口,增加了系统的可扩展性。该系统的设计与实现是“互联网+产业计量”的一种经典应用,对进一步探索“互联网+产业计量”有一定的实际意义。
目前,在民用秤检定工作中利用物联网技术来实现无线远程检定的系统现阶段还未实现。本文提出了一种基于物联网技术的无线远程民用秤检定系统设计并进行了初步实现。
1 系统组成及工作流程
1.1 系统组成
基于物联网技术的民用秤检定系统设计框图如图1所示,系统主要有检定侧、服务侧和管理侧三部分组成。
图1 系统结构图Fig.1 System structure diagram
(1)检定侧主要完成如下3 个功能:1)民用秤检定相关的原始数据录入和关键数据图像采集功能;2)对检定地点进行时空定位,从时空侧保证了数据的真实性;3)检定证书的在线打印功能,使被检单位可以快速地拿到检定证书。
(2)服务侧主要完成检定侧上传来的数据及图像的接收、保存和分析,同时还实现了证书的在线生成功能。
(3)管理侧主要完成检定员、核验员、批准人用户的维护,检定数据的真实性检查,检定数据的统计分析,大屏幕数据统计分析显示。
1.2 工作流程
(1)检定员通过移动端将检定过程中产生的数据及采集的图像提交至服务器。
(2)服务器端相应程序将检定数据及图像进行保存并将数据及图像投送给核验员。
(3)核验员通过查看需要核验的数据确定是否通过,若通过则将初步生成证书并将信息推送至批准人,若不通过则将数据返回给检定员,检定员可以通过续检功能来进行数据的修改并再次提交。
(4)批准人接收到推送来的信息后可以进行初步证书的审核和原始检定数据的审核,若通过则生成正式的PDF 电子版证书,并将生成证书信息推送至检定员和核验员,若审核不通过则将数据返回给检定员,并将核验员已核验数据删除,检定员可以通过续检功能来进行数据的修改并再次提交。
(5)对于管理侧的管理员可以随时通过后台管理程序登录系统查看各检定项目的进度,人员的位置,并进行数据的统计分析。
(6)对于管理侧的大屏幕可实时显示当前在线的检定员的位置、工作状态等,并在界面上实时显示与检定相关的统计数据,如已检设备数、在线人员数、检验合格率等。
2 系统实现
2.1 系统通信协议设计
在整个系统实现中检定侧与服务侧进行通信使用了自定义通信协议,以下简称为协议1,协议1 是一个类JSON 的自定义协议,数据格式如下:
[|dataName:dataValue|dataName:dataValue|dataNa me:dataValue|dataName:dataValue|]
数据项:|dataName:dataValue|,其中dataName 为数据名,dataValue 为数据名对应的数据值。其中数据值部分为无类型数据,并支持有限的转义字符,即数据值可以为协议1 格式的数据字符串。协议1 所用主要标志如表1 所示。
表1 自定义协议标志一览表Tab.1 List of custom agreement marks
在本协议中可通过转义字符的处理实现协议的嵌套,即数据值的部分可以是另一个协议1 组成的字符串。
2.2 系统数据库设计
在系统设计中考虑到访问的实时性、数据的安全性等多方面的原因。整个系统有8 种数据表组成,下面分别做以说明:
2.2.1 用户数据表
该表的主要功能是实现用户的管理,主要管理用户名、密码、用户登录、用户权限、用户当前位置等,该数据表主要的字段有:
uid(用户唯一编号)、username(登陆用用户名)、pwd(登陆用密码)、phone(电话号码)、status(登录状态)、power(权限)、rname(真实姓名)、job_number(工号)、ename(电子签名)、x(经度)、y(纬度)、d(日期)、t(时间)。
2.2.2 用户状态数据表
该表的主要功能是实现用户上线后在检定过程中发生关键检定动作的时空数据保存。主要的字段有:uid(用户唯一编号)、spwd(登陆用密码)、status(状态)、x(经度)、y(纬度)、d(日期)、t(时间)。
2.2.3 检定记录数据表
该表的主要功能是检定设备在检定过程中检定关键点时空信息的存储、检定原始数据的保存等,其主要的字段有:id(设备id)、image(设备图片)、dx(检定地点经度)、dy(检定地点纬度)、dd(检定日期)、dt(检定时间)、cx(核验地点经度)、cy(核验地点纬度)、cd(核验日期)、ct(核验时间)、step(检定步骤)、status(检定状态)、d_uid(检定人员uid)、c_uid(核验人员uid)、certificateNo(检定证书编号)、raw_data(检定原始数据)。
2.2.4 用户检定数据表设计
该表主要针对检定员设计的,主要用于保存检定员检定设备的相关信息,主要信息如时间、定位、检定状态等。该表的主要字段有:id(设备id)、image(设备图片)、company(检定单位名称)、c_uid(检验人员uid)、x(经度)、y(纬度)、d(日期)、t(时间)、status(检定状态)、step(检定步骤)等。
2.2.5 用户核验数据表
该表主要针对核验员和批准人设计的,主要用于保存核验员和批准人要核验或批准设备的相关信息,主要信息如时间、定位、检定状态等。该表的主要字段有:id(设备id)、image(设备图像)、company(被检单位)、d_uid(检定员uid)、x(经度)、y(纬度)、d(日期)、t(时间)、status(检定状态)。
2.2.6 用户登录日志数据表
该表主要针对用户登录、退出等动作的时空信息的保存。该表的主要字段有:uid(用户id)、action(用户动作)、x(经度)、y(纬度)、d(日期)、t(时间)等。
2.2.7 检定项目模板数据表
该表主要用于存放在检定过程中的参数名称、参数标签、参数类型、参数相关说明等,表中主要的字段有:idx(参数序号)、paraName(参数名)、paraLabel(参数标签)、type(参数类型)、illustration(参数说明)、tableIdx(参数所属表序号)、tableName(参数所属表名称)等。
2.2.8 鉴定证书数据表
该表主要用于管理被检设备的证书编号,主要设计的字段有:id(设备id)、certificateNo(证书编号)、path(PDF 证书存放路径)、md5(PDF 证书md5 码)用于验证证书的真伪[1]。
2.3 系统软件设计
程序设计主要有两部分组成,一是检定侧程序设计;二是服务侧程序设计。
检定侧程序设计主要是移动端的App 程序设计,考虑到各检定人员的手机系统并不统一,可能有Android、iOS、HarmonyOS 等系统,所以在移动端进行程序设计时需要使用跨平台的程序设计技术,在本系统设计中选用了QT 语言作为跨平台编程语言,该语言通过一次开发在不同平台上多次编译的方式实现了跨平台的程序设计。本系统现已实现了Android、iOS、HarmonyOS 及Windows、Linux 等多个平台的程序编写及运行。App主要实现的功能如图2 所示[2]。
图2 移动端程序功能框图Fig.2 Program function block diagram of mobile terminal
服务侧程序分为两部分:(1)针对检定侧的数据及图像采集程序;(2)针对管理侧的数据管理及分析程序。后端程序设计语言主要使用了PHP 和SQL 等语言,前端程序设计语言主要采用HTML、JavaScript 等。
检定侧数据及图像采集程序主要完成功能如图3 所示。
图3 检定侧数据及图像采集程序功能框图Fig.3 Functional block diagram of data and image acquisition program at verification side
管理侧数据管理及分析程序主要完成功能如图4 所示[3]。
图4 管理侧数据管理及分析程序功能框图Fig.4 Functional block diagram of data management and analysis program on management side
3 系统设计中主要解决的几个关键问题
3.1 检定流程的实现
对于整个检定流程利用了设备检定状态的方法来实现整个流程的控制,对于一台设备的检定状态在系统中设置为A、B、C、D、E、F 6 个状态。下面分别对这6个状态作以说明:
A 状态是检定员未将设备检定完状态;
B 状态是检定员将设备检定数据全部录入保存但未提交状态;
C 状态是检定员将数据提交至核验员但核验员未核验状态;
D 状态是核验员核验合格提交至批准人而批准人未批准状态;
E 状态是批准人已批准状态;
F 状态是批准人或核验员发现数据不合格返回检定员状态。
通过以上6 个状态的控制可以有效地实现本系统的检定流程。
3.2 数据的可信度
为了加强检定数据的可信性,在系统中通过时空定位和图像采集的方式增强了原始数据的可信度,并通过两级原始数据及关键数据图像的查验机制保证了数据的可信度。在移动端App 中使用了自动计算功能有效防止了人工计算时出现的数据计算错误[4]。
3.3 系统的可扩充性
本系统在设计之初就考虑到了其他检定项目的可扩充性,在数据库设计、移动端程序设计、管理侧程序设计方面都进行了扩充性设计,即今后可方便地将其他检定项目接入到本系统中来。在系统可扩充方面主要实现了如下几项技术:
(1)实现了检定项目数据录入的模板可制定;
(2)移动端检定数据录入及图像采集界面会根据检定项目的数据模板动态改变数据输入项目;
(3)原始数据存储使用了协议1 来进行数据存储。使各类不同项目的数据可以使用统一检定记录数据表结构;
(4)系统中采用了检定证书模板可制定模式,保证了其他检定项目证书的有效生成[5]。
3.4 系统的安全性
(1)在网络通信方面均使用了POST 方式进行通信,同时还使用了自定义通信协议,加强了通信的安全性;
(2)使用了PDF 证书md5 码验证机制,提高了电子证书的安全性[6]。
4 结语
本文设计并实现了一款基于物联网技术的民用秤检定系统。该系统是“互联网+产业计量”的经典应用。它克服了人工检定民用秤的诸多问题,同时还实现了移动端数据录入、数据分析、大数据展示、电子证书生成与发放等多项功能,这是未来诸多检定系统发展的必然趋势。
引用
[1] 彭其华.基于互联网的远程计量数据采集[J].数字技术与应用,2010(10):16-17.
[2] 吴九牛,高宇海.基于LabVIEW的大尺寸量块检定系统的设计与实现[J].计量技术,2018(7):60-62.
[3] 黄万明,张明婷.基于“计量+互联网”建立计量智慧客户云系统[J].计量与测试技术,2020,47(1):25-28.
[4] 褚坚玲,张莉蓉.运用“互联网+”实现对集贸市场计量的“精准”监管[J].中国计量,2018(5):18-19.
[5] 吴昌永,陈敏雪.“互联网+”计量移动App的应用创新与实践[J].中国计量,2017(7):9-10.
[6] 吴宏杰.浅谈在互联网环境中的计量信息安全[J].工业计量,2012,22(S1):251-252.