基于BLE的剪叉车微信小程序的关键技术研究.pdf
《基于BLE的剪叉车微信小程序的关键技术研究.pdf》由会员分享,可在线阅读,更多相关《基于BLE的剪叉车微信小程序的关键技术研究.pdf(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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 BLE 叉车 微信小 程序 关键技术 研究
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。