卢丹萍 明鑫 林秀明
摘要:为解决城市交通中停车难的问题,文章提出了一种基于智能地锁及微信小程序的共享车位系统。智能地锁由控制器、数据传输模块、锁臂驱动电机、锂电池等部分构成,负责接收后台指令并控制锁臂的升降,同时上传车位信息;微信小程序客户端提供给车主操作,可实现车位搜索、即时停车、取车等功能。实践表明,此共享车位系统软硬结合,实现了停车位的远程查询及实时停车取车等操作,具有较大的推广价值。
关键词:共享车位;智能地锁;微信小程序
In order to solve the problem of parking difficulty in urban traffic,this article proposes a shared parking space system based on intelligent ground lock and WeChat app.The intelligent ground lock comprises the controller,data transmission module,lock arm drive motor,lithium battery and the like,and is responsible for receiving background commands and controlling the lifting and lowering of lock arm,and simultaneously uploading the parking space information;the WeChat app client is provided to the owner for operation,and can realize the parking space search,instant parking,pick up and other functions.Practice shows that this shared parking space system combines the software and hardware,and realizes remote query of parking space and realtime parking and pickup operations,etc.,which has great promotion value.
Shared parking space;Intelligent ground lock;WeChat app
0 引言
目前我國汽车保有量快速增长,“停车难”问题成为现代大城市的共性问题。特别是医院、车站、购物中心等车辆进出频繁的地方,停车位资源显得特别紧张。相信多数人都有过开着车在某个地方转悠寻找停车位的经历。
然而,事实上停车难并非绝对。经常会出现这样的情况,有些地方一位难求,
而有的地方却有大片闲置的停车位。与目的地一墙之隔或者一两百米之外就有空停车位,但是车主却不知道,这样就造成了核心地段停车位稀缺,而核心地段附近却有富余车位的情况,从而大大降低了停车位的使用效率,导致原本紧张的停车位资源闲置浪费,这是造成停车难的原因之一[1]。
鉴于此,本文研究设计了一个“共享车位系统”,用户只要打开“共享车位”微信小程序,系统就会自动定位周边的空余共享停车位信息,在选择合适的停车位之后,可导航到此。同时也可以在小程序端完成车位预约、线上排队、自动计费等功能,为市民开车出行带来了极大的便利。
1 总体设计方案
该系统包括微信小程序和车位锁硬件两部分。微信小程序部署于网络云服务器;车位锁硬件安装在停车位的实线框内,可远程控制升起(上锁)和降低(解锁)。车主可通过微信客户端打开“共享车位”小程序,通过精确的地图定位提前查询目的地有无空闲车位,如有可预约车位,可导航到达该位置。到达停车位旁边时,可用小程序控制车位锁打开,然后停车入位。车辆驶出车位之后,车位锁自动升起。如暂时没有车位,可线上排队。配合服务器程序,可完成车位的收费管理,可设置不同地段不同时段的差异化收费标准,并实现微信收费。
车位锁硬件部分采用无线数据传输的方式与微信服务器后台通信,并采用锂电池供电,无需额外铺设电源及通信线缆。可取代现有的停车位/场的收费模式,实现停车位/场的无人值守。本共享车位系统结构框图如图1所示:
2 智能地锁
智能地锁锁体如图2所示,此智能地锁可采集本车位有无车辆的信息,并将此信息利用4G网络传输到后台服务器。同时接收来自服务器的命令并解码,驱动锁体直流电机实现锁的开关控制。在开关锁过程中,若锁杆碰到障碍物会自动停止开锁或者关锁过程,避免损坏锁体或者车辆[2]。车位锁组成如图3所示。
2.1 控制器
由图3可知,控制器为智能地锁核心器件,协调各模块正常工作。选择STC15W4K32S4-DIP28单片机作为控制器,该芯片具有2.5 ~5.5 V的电源电压适应范围、32 Kbyte的Flash程序存储器、4 Kbyte大容量SRAM、8路10 BitAD转换器、1路电压比较器及2路异步串口,可同时工作。且该芯片无需外接晶振和复位电路也可正常工作,具有很强的抗干扰能力,完全适合此场景的应用。
2.2 数据通信模块
采用USR-GPRS232-7S4型DTU模块,此模块实现了串口与后台服务器通过4G网络的数据透明传输。USR-GPRS232-7S4的23引脚为双列直插封装,引脚排列如下页图4所示,与本应用相关的引脚及对应功能如表1所示。
其他引脚在此应用中没有使用,因此不再赘述。在使用此模块之前,需要设置数据透明传输的目标地址及端口号,然后给模块插入一张开通流量的手机卡,上电之后模块会自动搜索网络并完成注册。若模块收到来自网络的数据会自动解包,之后通过串口发送给单片机。若单片机需要发送数据到网络,则直接通过串口安装双方协议把数据帧发送给模块,模块会自动打包发送到之前设置的网络地址。也可设置定时发送心跳包到服务器端,服务器端以此来判断某个智能地锁是否在线;同时每个心跳包也包含各个智能地锁的ID,服务器据此来对分布在不同地点的智能地锁进行管理[3]。
2.3 锁体电机驱动及防碰撞检测
锁体电机为直流电机,开锁过程和锁止过程为直流电机的正反转过程。电机的驱动电路如图5所示。
图5中,MOTOA与MOTOB分别接锁体转动机构直流电机的两极,MA、MB接单片机的两个IO口接收控制信号,K1、K2为两个具有常闭及常开触点的继电器,R8为电机回路电流取样电阻。MA、MB信号与电机正反转(开锁及锁止)关系如表2所示。
在电机运行过程中,通过监测R8电压来判定电机是否处于过载状态。若过载则说明锁体在转动过程中碰到车辆,应该立即停止。
2.4 车辆有无检测
为了降低系统功耗,延长电池使用时间,本系统没有单独安装地磁传感器来检测车位有无车辆,而是通过锁体内的光电传感器识别车位锁摇臂的位置来确定车位上车辆的当前状态。车位锁侧视图如图6所示。若摇臂处于位置B,此时车位锁处于锁止状态,停车位无车辆停放;若摇臂处于位置A,此时有车辆停放入车位,车位锁处于开启状态;若摇臂处于A与B之间或者B与C之间的任一位置,说明此时车位锁被车辆撞开,处于异常状态。
2.5 电池及电压检测
为了便于车位的升级改造,避免重新铺设电线的繁琐工作,此车位锁使用20 000 mAh7.4 V锂电池供电,充满电时的电压为8.4 V。电池的消耗主要来自摇臂电机的正反转及与后台的数据通讯。数据模块工作时的平均电流为35 ~48 mA,直流电机工作时的电流在100 mA左右。在7.4 V供电间歇性关闭数据通信,单片机进入空闲模式的情况下,整个电路待机时的平均电流<1 mA。因此为了最大限度地降低系统功耗,电路中不设置任何指示用的LED,单片机控制数据模块间歇性启动侦测数据,然后单片机进入空闲状态。电路中设置了电压检测功能,将电池1/3分压之后接入单片机ADO通道,单片机检测此通道电压,3倍之后得出电池电压。若电池电压低于7.4 V,则向后台发出电池欠压信号,由后台安排工作人员更换电池[4]。
2.6 智能地锁程序设计
单片机程序完成网络指令的接收执行及状态数据上报等工作。主程序流程如图7所示,串口中断及电压比较器中断程序流程如图8所示。
由图7可知,主程序首先进行初始工作,包括IO端口初始化、串口初始化、电压比较器初始化、各变量初始化等。之后进入一个主循环程序,判断是否接收到网络指令,如没有则进入空闲模式,等待被中断唤醒。若收到网络指令,则进行指令解析,根据指令内容分别进行车位开锁、关锁、车位状态上报及电池电压上报等工作,之后清除标志进入空闲模式等待下次被唤醒。
由图8可知,当单片机串口接收到数据时说明有网络指令下发,单片机从空闲状态被唤醒进入串口中断。在中断程序内接收此指令并设置标志位,然后中断返回,程序指针会回到主程序中的主循环继续执行;当单片机响应电压比较器中断,说明此时电机过载,中断程序应立即停止电机工作,同时记录当前摇臂状态,然后中断返回,程序指针会回到主程序中的主循环继续执行。
3 微信小程序的实现
车主使用共享车位时需要使用微信客户端打开“快捷车位”微信小程序。微信小程序与智能地锁之间的数据流如图9所示。
微信用户第一次访问小程序时需要请求登录权限,登录过程通过如下步骤实现:(1)程序调取自身code码请求API,API携带code码请求微信服务器换取openid(标识用户身份的唯一ID);(2)API根据openid生成token令牌存入程序缓存池,返回token令牌到小程序;(3)小程序会自动请求API进行token校验,若token无效或者过期,则需要重新执行上述步骤;(4)如果token校验成功,则取得用户信息,给予用户登陆权限。
用户登录之后,可通过API调取MySQL数据显示目的地附近的空车位列表。用户到达停车位旁边,选择车位点击“停车”,小程序将发送一条指令到websocket服务器,此指令中包含当前车位ID信息以及车位开关的指令,websocket服务器将指令转存到redis缓存池。TCP服务器会对redis进行实时监听,当监测到有合法的指令时,会把这条指令通过4G网络发送给智能地锁,地锁收到这条命令之后会控制地锁摇臂放平并反馈当前状态信息给小程序,车辆即可停入车位[5]。
用户取车将车开出车位时,点击“取车”指令,与上述流程一样会发送一条控制智能地锁摇臂升起的指令,经过websocket、TCP中转、验证指令合法性,智能地锁收到此指令会控制摇臂升起到90°位置,并反馈状态信息给小程序。服务器会同步记录各个车位的状态信息,存入MySQL数据库。
web端后台管理程序需要实现以下功能:(1)管理用户信息,比如注册、登录、黑名单管理等;(2)记录和调取用户停车记录;(3)记录和管理车位信息(有无车、电池电量等),实时显示各车位的存车状态,并能实时控制智能地锁摇臂状态。
4 结语
本共享车位系统通过微信端软件与智能地锁硬件相结合,实现了停车位共享。在停车位安装此智能地锁硬件后能准确地提供空余车位情况供车主实时查询。
本系统既可应用于城市市政道路旁的公共停车位,取代现有的管理人员来回值守的收费模式;也可以应用于市区的各种公共停车场,实现停车场的无人值守,自动收费;若与小区物业及业主合作,还可在小区业主的私人车位上安装本系统,实现私人车位的共用共享,具有较大的推广价值。
参考文献:
[1]王军芝,戴 斌,梁承愿.区域停车诱导标志分级设计研究[J].西部交通科技,2016(8):97-100.
[2]胡永华.一种“蓝牙为主GPRS為辅”的共享单车智能锁设计[J].信息通信,2018(10):29-32.
[3]陆 路.智能交通大数据采集技术研究[J].西部交通科技,2018(10):196-198.
[4]潘俊晖.无人机蓄电池使用维护工艺技术[J].现代制造技术与装备,2018(10),166-167.
[5]张智林,阴 毅.基于微信小程序的O2O模式校园快递的设计与实现[J].电子技术与软件,2019(3):34.