收藏 分销(赏)

基于BLE的剪叉车微信小程序的关键技术研究.pdf

上传人:自信****多点 文档编号:326178 上传时间:2023-08-15 格式:PDF 页数:7 大小:2.65MB
下载 相关 举报
基于BLE的剪叉车微信小程序的关键技术研究.pdf_第1页
第1页 / 共7页
基于BLE的剪叉车微信小程序的关键技术研究.pdf_第2页
第2页 / 共7页
基于BLE的剪叉车微信小程序的关键技术研究.pdf_第3页
第3页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering291 背景近年来,国家对安全生产越来越重视,强化安全生产的具体措施也相继出台并不断完善,这些措施对于落实安全生产责任、防范遏制安全事故具有很强的针对性和指导性。为落实国家安全生产指导方针,责任企业更加重视高空安全,因此高空作业平台得到了越来越广泛的应用。高空作业平台是一种工程车辆1,它能将工作人员或货物通过作业平台举升到指定高度2,是一种专业起升设备。相对于传统登高设备,它能提供更加稳定、可靠的操作环境,能有效地预

2、防高空坠落事故的发生。随着高空作业安全的受重视程度不断提高,高空作业平台的市场需求也在逐渐增加3,据统计,2014 年我国高空作业平台保有量不足 1.3 万台,2017 年增长到 6 万台以上,2019 年其保有量将近 15 万台,2021 年,中国高空作业平台保有量约为 38 万台,年均增速超过 50%。目前,我国高空作业平台处于高速增长的导入期,从市场调研分析来看,剪叉式是占比最高的品种,它具有空间伸展性强、承载能力高、结构简单和操控性好等特点4,已被广泛应用于工程和生活领域。经过调研,剪叉车相较于五年前,无论是在硬件方面,还是在嵌入式软件层面,技术均有较大的提升,整体而言已基本实现了自动

3、化、电控化和系统化,但是在软件操控部分还存在一些不足,主要体现在以下两个方面:(1)在剪叉车进行施工前,通常需要根据施工现场修改剪叉车的部分参数或者查看关键参数,当前的操作比较复杂,一般是通过剪叉车的硬件控制面板上的某个键或者组合键来操作,代码记忆困难,操作界面不友好,且容易出现误操作。(2)信息化、智能化水平还不够高,管理者无法对操作人员和剪叉设备进行精准管控。与此同时,各种智能移动终端在快速发展5,BLE蓝牙凭借其快速连接、超低功耗6、灵活性7、动态感知8、可扩展性9、离线数据采样等特点,已被广泛应用于工业物联网10和智能控制领域11。为解决以上问题,本文设计了一种基于 BLE 蓝牙的剪叉

4、车微信小程序 APP,以下简称剪叉小程序 APP或者蓝牙 APP,具有一定的实际意义。2 蓝牙剪叉小程序APP整体技术架构图微信小程序无需下载安装即可使用12,彰显“扫即用、即用即走”的思想,并且很好地解决了注册繁琐、跨平台困难13、分享传播不便等传统 APP 的弊端,它将成为取代移动客户端 APP 的最佳选择14。小程序技术框架是小程序开发的基础和核心,它为开发者提供了一种简单、高效的开发方式,能让开发者在微信生态基于 BLE 的剪叉车微信小程序的关键技术研究温创新*(湘潭理工学院 湖南省湘潭市 410219)摘要:本文针对目前剪叉车在施工和使用中的痛点,提出了一种基于 BLE 蓝牙的剪叉车

5、微信小程序 APP,首先对蓝牙剪叉微信小程序的整体技术架构做了阐述。之后,针对 BLE 小程序 APP 的授权、敏感数据解密等技术难点进行了详细论述。随后,根据蓝牙剪叉小程序 APP 功能的性质特点,对查看模块的设计和实现进行了分析,对关键点进行了详细描述。最后通过综合测试,验证了本文所提出的参数查询模块和参数设置模块设计的正确性。该蓝牙小程序 APP 界面简洁,操作简单,符合操作人员的使用习惯。解决了之前在硬件控制面板上操作步骤繁琐,操作代码难记忆,易出现误操作等问题。为操作人员带来了便利,也为管理者提供了一种精确管控的技术手段,从管理手段创新的角度而言,本方案的提出为同类其他外围设备的管理

6、提供了一种新的思路。关键词:BLE 蓝牙;物联网;APP 功能;微信小程序基金项目:湖南省教育科学“十四五”规划课题(XJK21BKS015)。软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering30中开发具有原生 APP 体验的各种服务。整个小程序框架系统分为两部分:即逻辑层(App Service)和视图层(View)15。小程序提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事

7、件系统,让开发者能够专注于数据与业务逻辑,它的创新发展影响了无数开发者16,图 1 为蓝牙小程序 APP 的整体技术架构图。该技术框架的核心是响应式数据绑定系统,它可以实现逻辑层数据和视图层展示数据的同步。框架自下向上共分为三层,分别是系统层(Native)、逻辑层(App Service)和视图层(View)。(1)系统层依托微信小程序 SDK 的支持,能够为开发者提供微信能力(含支付、蓝牙、微信账号等)、离线存储、网络请求等功能。系统层中,一般需要对微信 SDK 进行部分封装。(2)逻辑层是开发者在系统层的支持下开发的业务逻辑、它使用 JavaScript 引擎为开发提供代码运行环境,逻辑

8、层能将处理后的数据通过 setData 函数发给视图层,并且接受视图层的事件反馈。(3)视图层即小程序前端页面,主要内容包括自定义的页面描述文件 WXML、样式描述文件 WXSS、配置描述文件 JSON。3 BLE蓝牙小程序APP的授权和敏感数据解密的设计蓝牙微信小程序用户授权和敏感数据解密是小程序开发中的难点和关键点,在整个小程序的设计中占据着相当重要的地位。如果数据解密异常,用户 openId 和unionId 等相关信息将无法获取,后续 API 函数也将无法调用。在对该部分进行设计和实现时,需要综合使用各种技术,如前端技术、Java后端技术10、服务器端技术、TCP 通信技术等,并且采用

9、良好的设计模式以提高程序的执行效率。蓝牙小程序 APP 的授权和数据解密流程如图 2 所示。整体而言,加密过程在微信服务器完成,而解密过程在小程序自身服务器完成。流程中每一个步骤间都有图 1:蓝牙小程序 APP 整体技术架构图图 2:蓝牙剪叉小程序 APP 授权和解密流程图软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering31着严格的先后关系,因为后面 API 调用或者函数的执行依赖于前面步骤所获得的结果,其详细步骤如下:(1)通过微信小程序框架提供的 API 函数

10、,即wx.login()来获取登录凭证,后面的 API 调用可以通过凭证(code)换取用户登录态信息。(2)通 过 wx.getUserInfo()获 取 用 户 的 信 息userInfo,敏感数据 encryptedData 和初始向量 iv。(3)将凭证code作为参数,调用that.get3rdSession(),获取 sessionId。(4)将 encryptedData、iv、sessionId 作为请求参数,调用微信小程序自身服务端接口,对敏感数据进行解密。(5)服务器后端的自定义方法 decodeAssistant UserInfo()将获取从前端传递过来的各种参数,通过A

11、ES 解密算法获取到用户信息的字节流数据,然后通过String 和 JSONObject 等工具的格式转换,得到用户的openId 和 unionId 等信息。(6)前端回调函数 success()将获取从服务端传递过来的解密数据,并进行保存,如执行 wx.set StorageSync(openid,res.data.userInfo.openId),即 可 将openId 保存到页面缓存。4 蓝牙剪叉APP的功能设计蓝牙剪叉小程序 APP 包含机器模式查看、速度参数查看、工作状态查看、负载标定设置等19个功能模块。根据其功能性质,这些模块又可以归为三类,即连接类、查看类和设置类。经过分析,

12、同一种类型的功能一般有一些共同点,如查看类功能都是根据功能码来生成一条请求命令,然后将请求命令发送到后端服务器进行验证,只有验证通过,才会将这条请求指令发送到剪叉设备的蓝牙模块,这个时候 APP 通过蓝牙监听函数来动态感知剪叉设备返回的响应数据,然后按照一定的通信协议对响应数据进行解析。因为功能比较多,所以不在本文一一介绍。下面将以速度查看功能为例,对具体代码结构、界面设计和具体功能实现做详细的说明。首先通过微信开发工具生成一个新页面,这个时候会在 pages 下面生成文件夹 velocityParamFast,同时在这个文件夹下面会自动生成四个子文件。针对速度参数查看的特殊业务要求,会在 v

13、elocityParamFast.wxml 页面中通过 和 组件来展示一些具体的值,如高速行走速度调节、起升后速度调节等等。为了控制页面布局和设置控件样式,会在样式文件velocityParamFast.wxss 中定义一些样式,然后在页面中通过 class=“样式名”来引用这些定义好的样式,这种设计可以达到样式文件和页面分离的目的。在速度查看功能中,具体参数的数量和名称由剪叉车具体的业务来决定。有了 wxml 和 wxss 文件,就获得了静态页面文件,但是这个时候还无法获取动态变化的速度值,还需要在velocityParamFast.js 中写相关的业务逻辑,并且通过发送 POST 请求与后

14、台服务器进行交互,同时也可以通过调用与蓝牙相关的微信 API 函数,来实现小程序 APP图 3:速度参数查询功能具体实现流程图软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering32与剪叉设备之间的数据交互。考虑到项目整体代码结构的一致性和小程序的设计规范,将 velocityParamFast.js中的代码分为以下三个部分:(1)工具包引用和页面全局变量声明。这部分代码一般是引入一些工具包,如 util.js、httpHelper.js 等,同时根据业务需要,定义一

15、些页面级别的全局变量,如定时器变量 pageVelocityDataRefresh。(2)Page(Object)部分。按照微信开发规范,在每个功能页面,都需要通过 Page()方法来实现页面注册,以便指定页面的初始化数据、各种事件处理函数。在 velocityParamFast.js 中,Page()方法通过 data 属性来设置页面的初始化数据,通过 onLoad()和 onUnload()来监听页面加载和页面卸载。(3)自定义在 Page()外面的函数。在这部分 js 代码中,通常会定义页面中一些通用函数,在 Page 内部或者外部都可以调用这些函数。速度参数查看的具体实现流程如图 3

16、所示,其真正实现不但包括小程序 APP 前端的实现和蓝牙的通信实现,同时也包括 Java 服务器后端的验证和解析实现。在 velocityParamFast.js 中,通 过 在 data 中 定 义一个数组 respDataArray 来接收剪叉设备返回的 JSON格式的数据集合。在页面加载 onLoad 中,会通过getBlueEquipmentRealtimeData()来启动蓝牙监听,目的是为了获取设备实时的速度参数信息。然后创建定时器 pageVelocityDataRefresh,并且在定时器中调用后端服务器接口获取当前功能代码对应的 16 进制格式请求指令。在获取请求指令后,微信

17、小程序 APP 通过调用 wx.writeBLECharacteristicValue()来发送速度参数查询指令到剪叉设备。当剪叉外设接收到请求指令后,会将相应的响应数据返回给前端 APP。这个时候 wx.onBLECharacteristicValueChange()会监听到从机设备(即剪叉车)返回的数据,通过字节流的转换,蓝牙剪叉小程序 APP 能获取到 16 进制格式的字符串数据。为进一步验证数据的正确性,前端 APP 将该 16 进制格式字符串数据发送到服务器后端再次进行 CRC 校验,根据校验是否成功,返回不同的结果码 resultCode。在校验成功的情况下,还将相应解析后的数据按

18、指定格式返回到前端。前端 APP 页面根据结果码来进行不同的处理,如果结果码为 0,则提示相应的错误信息,反之,则通过调用 that.setData(),将后端解析后的最新速度参图 4:蓝牙搜索测试和 PS 模式切换测试图(a)(b)(c)软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering33数信息设置到 respDataArray 数组中。采用小程序 APP的 数 据 动 态 绑 定 技 术,velocityParamFast.wxml 通 过respDataAr

19、ray0 可获取最新的高速行走速度。5 综合测试和结论在完成了蓝牙小程序APP核心代码的设计与实现、功能模块的前后端联合开发工作之后,该小程序 APP先后完成了开发者工具调试、真机测试。5.1 蓝牙连接功能和PS模式切换测试用户在打开蓝牙小程序APP,并且启动剪叉设备后,通过搜索蓝牙设备能够发现附近的蓝牙外设,这个时候可以选择指定的某台设备,小程序能与剪叉设备通过蓝牙建立连接,并且提示连接正常,证明蓝牙小程序的硬件支持功能正常。图 4(a)为实际测试中蓝牙设备的搜索功能,图 4(b)和图 4(c)为 PS 模式切换的测试结果,从测试结果可以看出,PS 模式切换正常,表明双方能通过蓝牙进行正常通

20、信。图 5(a)为通过蓝牙小程序 APP发送到剪叉设备的测试数据集,实验中通过随机函数生成 8 到 22 之间的速度值,规则为每秒发送一条数据。图 5(b)为剪叉设备通过蓝牙接口获取到的速度值信息。图 5(c)为剪叉设备发送到蓝牙小程序 APP 的随机数据集,图 5(d)为蓝牙小程序 APP 接收到的数据信息。通过对比散点图可以证明,双方收发数据稳定。该功能为设备参数查询和参数设置提供基础支持。5.2 查询功能和设置功能测试图 5:蓝牙连接后的数据收发测试(a)(c)(b)(d)软件开发与应用Software Development&Application电子技术与软件工程Electronic

21、 Technology&Software Engineering34在完成了蓝牙通信基础测试后,针对本项目的主要功能,即查询功能和设置功能进行了详细测试,其总体功能测试结果如表 1 所示。图 6(a)和图 6(b)分别为速度参数查询功能和机器模式设置功能的测试结果,图 6(c)为剪叉车的低速行走效果图,测试结果表明速度参数查询和机器模式设置功能均正常。表 1:蓝牙 APP 各功能测试结论表用例名称预测结果测试结果机器模式查看能正常显示机器模式信息 测试通过速度参数查看能正常显示速度参数信息 测试通过负载标定查看能正常显示负载标定的值 测试通过工作状态查看能正常显示工作状态信息 测试通过ECU

22、IO 状态查看 能正常显示 ECU IO 状态测试通过PCU IO 状态查看 能正常显示 PCU IO 状态测试通过传感器标零查看能正常显示传感器标零信息测试通过机器模式设置能正常修改机器模式测试通过速度参数设置能正常修改速度参数测试通过传感器标零设置能正常完成传感器标零测试通过经测试,用户 UI 界面设计友好,操作简单,符合现场操作人员的行为习惯,各项功能测试均通过且达到预期要求。6 结语本文针对当前剪叉设备的使用现状和痛点,提出了一种基于蓝牙的微信小程序,用户可以通过手机小程序获取剪叉设备的各种信息,并通过发送设置指令来修改剪叉设备的相关参数,解决了用户在操作面板上操控步骤繁琐,操作代码难

23、记忆等问题。针对剪叉设备的用户特点,设计了一款界面简洁,操作简单的蓝牙 APP 小程序。该蓝牙小程序 APP 提升了设备厂家、租赁公司的信息化、智能化管理水平,为精准设备管理和人员监控管理提供了有效的技术手段,同时为其他同类外围设备的管理提供了新的思路。基于微信生态,我们可以很容易地获取到用户的身份信息,将基于蓝牙的剪叉小程序与物联网云平台相结合17,使用 APP 将数据上传至云平台并进行保存,通过雾计算、大数据技术来分析设备与人员的使用关系,用蓝牙小程序抓取用户操作行为并建立用户画像18,这样不但能为管理者带来价值,同时也能为生产厂家改进设备质量提供可能,这也是以后图 6:速度参数查询和机器

24、模式设置测试效果图(a)(b)(c)软件开发与应用Software Development&Application电子技术与软件工程Electronic Technology&Software Engineering35需要研究和努力的方向。参考文献1 赵鑫,纪爱敏,邓铭,等.剪叉式升降平台起升速度液压控制系统设计与仿真分析 J.机电工程,2021,38(09):1174-1179.2 黄向明,刘森,王伏林.基于价值流图析技术的剪叉高空车装配流程优化 J.现代制造工程,2017(06):130-135+144.3 郭浩亮,穆希辉,吕凯,等.剪叉式升降台的仿真及优化设计研究 J.机械设计与制造,

25、2015(10):91-93+97.4 孙志刚,王国涛,蒋爱平,等.基于信息融合技术的行车安全监测系统 J.计算机科学,2020,47(S2):642-650+661.5 高旭宏,周雪巍,徐向阳,等.自行式高空作业平台臂架的仿真分析 J.机械设计与制造,2018(02):175-177.6 陈刚,闫航,张亚兵,等.基于 Node.js 的 BLE 可穿戴医疗设备管理中间件研究与实现 J.计算机应用与软件,2019,36(06):14-20.7 苏晨,周璇.基于智能终端的工业机器人导航交互控制仿真J.计算机仿真,2021,38(10):383-387.8 吴彦文,龚雪武,荣谦,等.面向序列推荐的

26、小程序应用情境感知与建模J.小型微型计算机系统,2022,43(07):1383-1387.9 陈静娴.基于二维码技术.微信小程序技术的实验室设备管理的设计与实现 J.计算机科学,2020,47(S2):673-677.10 汤磊雯,陈丹丹,邵静,等.基于微信小程序的代谢综合征智能健康管理平台的设计与开发 J.浙江大学学报(医学版),2022,51(01):115-121.11 Zhang Mingxing et al.Integrated Sensing and Computing for Wearable Human Activity Recognition with MEMS IMU a

27、nd BLE NetworkJ.Measurement Science Review,2022,22(4):193-201.12 Cheng Ao,Ren Gang,Hong Taeho,Koo Chulmo.The WeChat Mini Program for Smart TourismJ.Asia Pacific Journal of Information Systems,2019,29(3).13 Miao Peng.University Canteen Supervision and Management System Based on Wechat AppletJ.Interna

28、tional Journal of Frontiers in Sociology,2021,3.0(11.0).14 Lei Hao,Fucheng Wan,Ning Ma,Yicheng Wang.Analysis of the Development of WeChat Mini ProgramJ.Journal of Physics:Conference Series,2018,1087(6).15 Jiawei Wang,Wenhao Wang,Quanyin Zhu.Design and Implementation of WeChat Mini Program for Univer

29、sity Dormitory Based on SOAJ.Journal of Physics:Conference Series,2018,1069(1).16 Yan Wu,Fang Wang,Yanying Zou,Huaijin Zhang,Bingsheng Chen and Mengshan Li.Push Management Platform Based on Wechat Small Program and Cloud DevelopmentJ.International Journal of Education and Management Engineering(IJEM

30、E),2020,10(1).17 Lorenzo Invidia,Silvio Lucio Oliva,Andrea Palmieri,Luigi Patrono,Piercosimo Rametta.An IoT-oriented Fast Prototyping Platform for BLE-based Star Topology NetworksJ.Journal of Communications Software and Systems,2019,15(2).18 Li Guangmin,Chen Wenjing,Yan Xiaowei,Wang Li.Modeling and Analysis of Group User Portrait through WeChat Mini ProgramJ.Wireless Communications and Mobile Computing,2022,2022.作者简介温创新(1981-)(通讯作者),男,湖南省益阳市人。硕士学位,副主任工程师。研究方向为物联网,大数据、算法研究、数据库设计及优化,计算机应用。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 自然科学论文

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服