在校园内,师生们参与体育活动时,常常面临着一个难题,那就是场地不足。由于同一时间段内,场馆内人员众多,导致可供活动的空间严重不足,尤其是篮球运动场馆,这一问题尤为突出。本研究选取篮球场地作为案例,依托于中国移动的智能开放平台进行数据交互服务,利用微信小程序作为用户界面,并设立小程序数据库作为信息记录与储存的核心,构建了一个集运动场馆使用、预约以及实时场地浏览于一体的智能化球场预约系统。此系统的实施有助于师生们更好地规划运动时间,提升运动场馆的使用效率,具有重要的实际应用价值和推广潜力。
关键词: ;微信小程序;数据库;UNO单片机;模块;
0 引言
近些年,科技进步迅猛,物联网技术也随之飞速进步,各类物联网产品已广泛融入民众的日常生活,极大地便利了人们的生活。在人们的日常活动中,体育运动占据着举足轻重的地位,然而,市面上针对体育领域的物联网应用主要集中在了可穿戴设备这一块,而在体育场馆的硬件改造、部署以及智能化应用方面,尚处于发展阶段,尚未达到成熟水平。在公共场所中,建立预约系统对于提高场地利用率以及合理分配场馆资源具有极其重大的价值。本研究旨在实现场馆使用的智能化和高效化,以及信息的可视化。为此,我们以市面上普遍使用的微信小程序、小程序数据库和智能开放物联平台作为基础,对整个系统进行了设计和搭建。
1 系统设计及实现
1.1 系统总体概述
该智能预约系统在运动场地方面,主要具备预约与实时数据浏览两大功能;用户端则涵盖了远程场地预订、实时场地人数统计、场地使用状况与环境参数查询等模块,所有这些功能均通过微信小程序得以实现。
硬件系统可划分为三个主要部分:本地控制、数据采集与传输。其中,控制部分主要由UNO单片机、继电器、电磁门锁、UART电容触摸屏、温湿度传感器以及GM65二维码扫描模块构成;而数据上传部分则通过无线模块来完成。在系统运行期间,一旦二维码扫描器成功识别出符合标准的二维码,它将启动继电器来操控电磁门锁以实现开门。与此同时,门两侧安装的红外传感器负责进行人数统计,并在门关闭时停止计数。随后,UNO通过UART串口将数据上传至8266无线模块,以便进行人数信息的实时上传和更新。若无二维码信息输入,系统将启动数据循环监测机制,并将监测结果与已发送的状态参数进行比对。一旦发现数据有所变动,系统将通过UART串口与8266无线模块建立通信,进而上传场地参数。
整个系统通信流程及硬件线路连接设计如图1所示。
图1
1.2 本地系统与平台间通讯
将代码上传至IDE进行编写,随后加载与无线模块8266相匹配的两个.h和.h库文件,通过调用对应的功能函数执行wifi连接和http服务请求等操作,从而简化了编程的工作量。
在程序设计阶段,我们首先建立Wi-Fi连接,利用库函数Wi-Fi(wi-, wi-)来完成这一过程。接着,我们通过该函数建立基于Wi-Fi的客户端口,以便进行网络通信。在程序头部,我们设定了平台服务器的IP地址、平台账号的设备编号以及平台注册时提供的信息。这些信息被分别命名为、 、,并按照特定格式包含在HTTP请求指令中。最后,我们调用库中的.()函数来发送HTTP请求。
数据传输过程采用HTTP协议中的POST方法,并以JSON格式对信息进行更新。我们已将上传相关代码部分封装成一个void类型的子函数,其中包含参数id。使用时,只需在id参数位置填入具体内容,即可方便地调用该函数。通过此函数,数据便会被上传至指定的数据流点,以便进行后续的数据调用及其他相关操作。
根据平台开发文档要求,http上传json格式形式如下:
POST //所注册设备编号/
HTTP/1.1
api-key: //(平台注册时数据流api密钥)
Host: // 固定(此为服务器域名)
-: // 发送指令长度
{“”:
{“id”:”对应数据点名”,””:
{“v
alue”:””}
//后填入数据点的实时数值
在进行http上传时,必须严格遵守平台规定的格式,这涵盖了标点符号、空格以及换行等所有细节。若不遵循这些规定,数据上传将会失败。一旦数据上传成功,经过短暂的延迟,用户便可以在平台上实时查看并管理相应的数据流。
1.3 小程序数据可视化
球场上的实时数据得以通过微信小程序与平台间的紧密配合实现。平台承担着数据的储存与收集任务,而小程序则利用http指令,以get请求的形式从平台获取数据流,进而向用户展示体育馆内的人数、环境参数以及使用状况等信息。
获取场馆相关信息后,将这些信息分配给相应的变量,接着执行.log()函数,随后在wxml内置文件中展示这些内容,从而实现场馆信息的展示功能。
1.4 小程序预约系统实现
在开发预约系统时,小程序选用了微信小程序的云开发数据库作为技术支持。该云开发服务提供了一种JSON格式的数据库,其中每一条数据记录均以JSON对象的形式存在。一个数据库可以包含多个集合,这些集合相当于关系型数据库中的表格。在集合中,每个对象代表一条数据记录,且这些记录均遵循JSON格式。
微信小程序的数据库在成本和操作上具有显著优势,与市场上的同类数据库相比,开发成本较低,使用起来更加简便。特别是对于微信小程序而言,其适配性极高,提供的配套函数调用非常便捷。此外,数据库内置的相关组件使得数据分析及可视化处理变得轻松易行。对于小程序开发者来说,使用这款数据库能够极大地提升工作效率。
预约系统实现逻辑
小程序预约系统的运作流程是:首先,用户通过小程序对场馆的类型和可用时间段进行预定;接着,小程序会从数据库中提取出用户的预约信息;随后,系统生成一个二维码;最后,门禁系统通过扫描这个二维码,根据二维码中的信息来决定用户是否有权限进入场馆。
小程序预约系统依托数据库查询与添加功能展开运作,通过查询数据库,小程序能够获取所有已预约及未预约的时间信息,并据此更新用户端的时间预约列表。用户完成预约后,小程序将对预约时间进行二次审核,确认所预约的时间段无人占用,随后将这一更新数据传输至数据库中。当他人点击预约页面后,系统将重新查询数据库,以获取并更新信息,从而确保预约详情的即时准确性。
通过使用db..与.get的查询语句来检索数据库中的更新列表状态,检查用户能够预约的时间段内是否存在预约记录。若发现某时间段已被预约,便将列表中对应的时间项修改为“请选择其他时间”。随后,对用户可预约时间段内的每个时间点逐一进行查询,从而实现对列表状态的全面更新。
用户在预约页面可挑选预定日期,并点击确认进行场馆的预定操作。确认预约后,系统将重新评估所选时间是否适合预定。若该时间未被占用,系统将通过执行db.add命令向数据库传输数据,这些数据包括预定日期、具体时间、场地编号以及使用类型。随后,这些信息将以查询形式在小程序“我的订单”板块中呈现。
1.5 门禁系统的识别实现
数据库中的数据被转换成包含“密钥、日期、时间以及场馆编号”的二维码。每个场地都有其独特的场地编号,用以区分不同场地。本地控制系统借助GM-65二维码扫描模块,对小程式生成的二维码信息进行扫描,以此进行身份验证。系统通过GPS模块获取实时UTC时间信息,并进行转换,从而获取本地时间。
2 结论
本系统依托于当前广泛应用的开放智能平台,整合微信小程序及其数据库,以及物联网信息技术与硬件传感设备,实现了对场地状态的远程查看和预约服务。这一功能极大地便利了校园师生在日常生活中对体育活动的合理规划,提升了运动场地使用的智能化、高效性和便捷性。系统的构建不仅为小程序中的预约功能提供了可行的解决方案,还涵盖了远程设备信息的上传和开放式智能平台的搭建,具有显著的现实意义和推广价值。
张新程所著的《物联网关键技术》一书,由人民邮电出版社出版,发行于2011年,位于北京。
[2]中国移动.开发者文档中心
张学记著作《智慧城市:物联网体系架构及应用》,由北京电子工业出版社于2014年出版。
任志玲、张广全、林冬等人共同撰写了一篇关于无线传感器网络应用的综合性文章,该文发表在2018年第3期的《传感器与微系统》杂志上,页码为165至166。
陈晨在2017年第12期的《轻工科技》杂志上发表了一篇关于基于无线传感器网络的高校智慧图书馆的研究与展望的文章,该文章的页码为68至69。
杨洋在2013年第三期的《贵州电力技术》杂志上发表了名为《基于无线传感器的智能电网线路传感器系统的研制》的文章,该文探讨了相关技术的研究与开发,具体内容分布在第50至52页。
龚建华在其论文中探讨了JSON格式数据在Web开发领域的应用,该文发表于《办公自动化》杂志2013年第20期,页码为46至48。徐斌、诸葛斌等人共同设计并实现了基于微信小程序的智能学习平台,相关论文发表在中国科技论文在线上。