1、2023 年 1 月 Jan 2023Digital Technology&Application第 41 卷 第 1 期Vol.41 No.1数字技术与应用177中图分类号:TP393.08文献标识码:A 文章编号:1007-9416(2023)01-0177-04DOI:10.19695/12-1369.2023.01.54基于物联网技术的民用秤检定系统设计与实现*张掖市质量检验检测研究院邬晓燕边英梅朱志斌针对传统民用秤检定过程中数据记录流程繁琐、检定数据是否真实等问题,本文利用物联网技术设计并实现了一款民用秤检定系统,该系统通过检定侧、服务侧、管理侧的软硬件设计实现了检定流程的在线控制及
2、检定数据的真实性核验等功能。系统在检定侧使用 QT 语言进行移动端程序设计使用的检定侧程序具有一定的跨平台性,同时系统设计时还预留了后期增加其他检定项目的接口,增加了系统的可扩展性。该系统的设计与实现是“互联网产业计量”的一种经典应用,对进一步探索“互联网产业计量”有一定的实际意义。目前,在民用秤检定工作中利用物联网技术来实现无线远程检定的系统现阶段还未实现。本文提出了一种基于物联网技术的无线远程民用秤检定系统设计并进行了初步实现。1 系统组成及工作流程1.1 系统组成基于物联网技术的民用秤检定系统设计框图如图 1所示,系统主要有检定侧、服务侧和管理侧三部分组成。(1)检定侧主要完成如下 3
3、个功能:1)民用秤检定相关的原始数据录入和关键数据图像采集功能;2)对检定地点进行时空定位,从时空侧保证了数据的真实性;3)检定证书的在线打印功能,使被检单位可以快速地拿到检定证书。(2)服务侧主要完成检定侧上传来的数据及图像的接收、保存和分析,同时还实现了证书的在线生成功能。(3)管理侧主要完成检定员、核验员、批准人用户的维护,检定数据的真实性检查,检定数据的统计分析,大屏幕数据统计分析显示。1.2 工作流程(1)检定员通过移动端将检定过程中产生的数据及采集的图像提交至服务器。(2)服务器端相应程序将检定数据及图像进行保存并将数据及图像投送给核验员。(3)核验员通过查看需要核验的数据确定是否
4、通过,若通过则将初步生成证书并将信息推送至批准人,若不通过则将数据返回给检定员,检定员可以通过续检功能来进行数据的修改并再次提交。(4)批准人接收到推送来的信息后可以进行初步证书的审核和原始检定数据的审核,若通过则生成正式的PDF 电子版证书,并将生成证书信息推送至检定员和核验员,若审核不通过则将数据返回给检定员,并将核验员已核验数据删除,检定员可以通过续检功能来进行数据的修改并再次提交。(5)对于管理侧的管理员可以随时通过后台管理程收稿日期:2022-07-29*基金项目:2021 年度甘肃省市场监管局科技项目(SSCJG-JL-202105)作者简介:邬晓燕(1983),女,山西河曲人,本
5、科,工程师,研究方向:现代测控技术、计量检定、校准等。通讯作者:边英梅(1968),女,天津人,本科,高级工程师,研究方向:计量检定、校准等;朱志斌(1979),男,甘肃张掖人,硕士,副教授,研究方向:人工智能、物联网等。图 1 系统结构图Fig.1 System structure diagram管理侧服务侧检定侧检定员移动端核验员移动端批准人移动端云服务器管理员PC端显示PC端大屏幕数字技术与应用 第 41 卷178序登录系统查看各检定项目的进度,人员的位置,并进行数据的统计分析。(6)对于管理侧的大屏幕可实时显示当前在线的检定员的位置、工作状态等,并在界面上实时显示与检定相关的统计数据,
6、如已检设备数、在线人员数、检验合格率等。2 系统实现2.1 系统通信协议设计在整个系统实现中检定侧与服务侧进行通信使用了自定义通信协议,以下简称为协议 1,协议 1 是一个类JSON 的自定义协议,数据格式如下:|dataName:dataValue|dataName:dataValue|dataName:dataValue|dataName:dataValue|数据项:|dataName:dataValue|,其中 dataName 为数据名,dataValue 为数据名对应的数据值。其中数据值部分为无类型数据,并支持有限的转义字符,即数据值可以为协议 1 格式的数据字符串。协议 1 所用主
7、要标志如表 1 所示。表 1 自定义协议标志一览表Tab.1 List of custom agreement marks标志名称标志符号备注数据起始标志可自定义数据结束标志可自定义数据项分割符|可自定义数据项中多个数据值间分割符;可自定义数据名和数据值间分割符:可自定义转义字符起始符可自定义注:以上符号均需互不相同在本协议中可通过转义字符的处理实现协议的嵌套,即数据值的部分可以是另一个协议 1 组成的字符串。2.2 系统数据库设计在系统设计中考虑到访问的实时性、数据的安全性等多方面的原因。整个系统有 8 种数据表组成,下面分别做以说明:2.2.1 用户数据表该表的主要功能是实现用户的管理,主
8、要管理用户名、密码、用户登录、用户权限、用户当前位置等,该数据表主要的字段有: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 检
9、定记录数据表该表的主要功能是检定设备在检定过程中检定关键点时空信息的存储、检定原始数据的保存等,其主要的字段有: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 用户检定数据表设计该表主要针对检定员设计的,主要用于保存检定员检定设备的相关信息,主
10、要信息如时间、定位、检定状态等。该表的主要字段有: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
11、.2.6 用户登录日志数据表该表主要针对用户登录、退出等动作的时空信息的保存。该表的主要字段有:uid(用户 id)、action(用户动作)、x(经度)、y(纬度)、d(日期)、t(时间)等。2.2.7 检定项目模板数据表该表主要用于存放在检定过程中的参数名称、参数标签、参数类型、参数相关说明等,表中主要的字段有:idx(参数序号)、paraName(参数名)、paraLabel(参数标签)、type(参数类型)、illustration(参数说明)、tableIdx(参数所属表序号)、tableName(参数所属表名2023 年第 1 期179邬晓燕边英梅朱志斌:基于物联网技术的民用秤检定
12、系统设计与实现称)等。2.2.8 鉴定证书数据表该表主要用于管理被检设备的证书编号,主要设计的字段有:id(设备 id)、certificateNo(证书编号)、path(PDF 证书存放路径)、md5(PDF 证书 md5 码)用于验证证书的真伪1。2.3 系统软件设计程序设计主要有两部分组成,一是检定侧程序设计;二是服务侧程序设计。检定侧程序设计主要是移动端的 App 程序设计,考虑到各检定人员的手机系统并不统一,可能有 Android、iOS、HarmonyOS 等系统,所以在移动端进行程序设计时需要使用跨平台的程序设计技术,在本系统设计中选用了 QT 语言作为跨平台编程语言,该语言通过
13、一次开发在不同平台上多次编译的方式实现了跨平台的程序设计。本系统现已实现了 Android、iOS、HarmonyOS 及Windows、Linux 等多个平台的程序编写及运行。App主要实现的功能如图 2 所示2。用户数据修改 用户数据查阅 检定数据查询统计数据显示 在线用户显示 地理位置分布检定数据检查检定数据删除检定数据备份检定数据统计检定数据查询增加用户数据 用户数据删除 用户权限制定 管理侧数据管理及分析程序大数据分析 用户数据 检定数据 检定侧数据及图像采集程序设计 用户登录验证 检定数据保存 关键图像存储批准记录查阅检定记录查阅核验记录查阅检定证书生成 检定流程维护 用户登录 新
14、建检定项目 续检项目检定记录查阅核验记录查阅批准记录查阅检定数据录入图像数据采集 移动端程序设计 图 2 移动端程序功能框图Fig.2 Program function block diagram of mobile terminal服务侧程序分为两部分:(1)针对检定侧的数据及图像采集程序;(2)针对管理侧的数据管理及分析程序。后端程序设计语言主要使用了 PHP 和 SQL 等语言,前端程序设计语言主要采用 HTML、JavaScript 等。检定侧数据及图像采集程序主要完成功能如图 3所示。用户数据修改 用户数据查阅 检定数据查询统计数据显示 在线用户显示 地理位置分布检定数据检查检定数据
15、删除检定数据备份检定数据统计检定数据查询增加用户数据 用户数据删除 用户权限制定 管理侧数据管理及分析程序大数据分析 用户数据 检定数据 检定侧数据及图像采集程序设计 用户登录验证 检定数据保存 关键图像存储批准记录查阅检定记录查阅核验记录查阅检定证书生成 检定流程维护 用户登录 新建检定项目 续检项目检定记录查阅核验记录查阅批准记录查阅检定数据录入图像数据采集 移动端程序设计 图 3 检定侧数据及图像采集程序功能框图Fig.3 Functional block diagram of data and image acquisition program at verification side
16、管理侧数据管理及分析程序主要完成功能如图4所示3。3 系统设计中主要解决的几个关键问题3.1 检定流程的实现对于整个检定流程利用了设备检定状态的方法来实现整个流程的控制,对于一台设备的检定状态在系统中设置为 A、B、C、D、E、F 6 个状态。下面分别对这 6个状态作以说明:A 状态是检定员未将设备检定完状态;B 状态是检定员将设备检定数据全部录入保存但未提交状态;C 状态是检定员将数据提交至核验员但核验员未核验状态;D 状态是核验员核验合格提交至批准人而批准人未批准状态;E 状态是批准人已批准状态;F 状态是批准人或核验员发现数据不合格返回检定员状态。通过以上 6 个状态的控制可以有效地实现本系统的检定流程。3.2 数据的可信度为了加强检定数据的可信性,在系统中通过时空定位和图像采集的方式增强了原始数据的可信度,并通过两级原始数据及关键数据图像的查验机制保证了数据的可信度。在移动端 App 中使用了自动计算功能有效防止了人工计算时出现的数据计算错误4。3.3 系统的可扩充性本系统在设计之初就考虑到了其他检定项目的可扩充性,在数据库设计、移动端程序设计、管理侧程序设计方面都进行了扩充性