APP下载

基于移动支付的自助停车控制系统

2018-05-11张海涛陈向东

电子设计工程 2018年7期
关键词:停车位停车场客户端

张海涛,陈向东

(西南交通大学信息科学与技术学院,四川成都611756)

随着我国经济的高速增长,人民可支配收入提高以及汽车价格的下降,大城市私人汽车的保有数量近几年来快速增加。汽车的增多不但加剧了交通堵塞,同时也带来了日益严峻的“停车难”问题[1],如找寻停车场困难、停车位供给不足、缴费效率低等。现有的智能停车系统存在一些不尽人意的地方,如车辆需要刷卡才能进入停车场,造成排队时间长的问题;有些停车场出口的计费结算依赖人工操作,效率低下且容易出差错[2]。

为了提高停车效率,弥补传统停车场的不足,基于Android和物联网技术设计了可自助停车的车位检测与控制系统。本系统运用超声波测距技术检测停车位使用情况,ZigBee实现停车位节点的局域组网,通过停车场协调器可以对停车场中所有停车位进行高效方便的无线管理。停车场协调器在局域组网的基础上通过GPRS通信技术完成互联网的接入,连接到系统服务器,实现和Android客户端App之间的命令交互和数据通信。

1 停车位检测原理

车位锁控制电路采用超声波测距技术来实现停车位检测[3],超声波是一种频率高于20 kHz的声波信号[4-5],可以通过空气进行传播,具备方向性和良好的反射性[6]。模块通过超声波发射探头T发射超声波信号,信号在空气介质中直线传播,当遇到障碍物或者被测物体时,产生反射,超声波接收探头R感应到反射信号并将其转换成电信号[7]。

已知超声波在空气中的传播速度为V,假设超声波信号的发射时间为t1,接收时间为t2,可根公式1求出被测距离S[8]。

车位锁控制器采用HC-SR04超声波模块实现测距,模块安装在电路板上,其探头方向向上。设定一个阈值,当测距结果小于该阈值时认为有车辆存在,即停车位被占用,否则认为没有车辆存在,停车位处于空闲状态。

2 系统总体设计

系统整体结构如图1所示,主要分为4个部分:车位锁控制器、停车场协调器、Android客户端App、系统服务器。

图1 系统结构框图

车位锁控制器采用STM32单片机作为主控MCU,通过超声波模块探测停车位的使用情况,驱动步进电机模拟车位锁翻转臂升起和落下[9]。车位锁控制器通过ZigBee无线组网,每个车位锁作为ZigBee网络中的终端节点[10]。停车场协调器作为ZigBee网络中的协调器负责整个网络的组建和维护,管理车位锁控制器节点,通过GPRS数据通信作为接入互联网的网关。Android客户端App可以实现对停车场中车位锁的升降控制和停车费用支付,系统服务器作为TCP Server来实现Android客户端和停车场协调器之间的命令交互和数据通信,同时存储停车场数据和用户信息。

系统的工作流程:

1)用户登录手机终端App,通过地图搜索附近的停车场,查看停车场内停车位的使用情况。

2)用户进入停车场,找到某个未使用停车位,通过App解锁该车位上的车位锁,待车位锁翻转臂落下后,驶入车位停车,App开始计时。

3)当用户离开停车位时,通过App支付本次停车费用并生成历史停车记录,车位锁控制电路检测到车辆离开的状态,车位锁升起,等待下一个用户的到来。

4)车位锁将停车位的使用信息反馈给停车场协调器,协调器更新停车位状态表。

5)停车场协调器将停车位状态更新数据上传到系统服务器,服务器向离开的用户App发送消息提醒,用户可以通过App查看最新的停车位使用情况。

3 系统硬件电路设计

系统硬件电路分为2部分:车位锁控制器、停车场协调器。

3.1 车位锁控制器的设计和实现

车位锁控制器主要包括STM32单片机最小系统、超声波检测模块、ZigBee模块、步进电机驱动电路、OLDE显示电路、和按键电路,通过驱动步进电机控制撑杆的翻转来模拟车位锁的上锁和解锁动作,其电路框图如图2所示。

图2 车位锁控制器电路结构

系统STM32单片机采用的具体型号是STM32F103RCT6,是一款高性能、低成本、低功耗的ARM Cortex-M3内核单片机[11],具备64个IO引脚和丰富的外设,功能强大,STM32的最小系统,主要包括复位电路,时钟电路,启动模式设置电路。

超声波测距使用HC-SR04模块,该模块包含超声波发射电路、接收电路和信号处理电路[12],工作电压3~5 V,测距范围2~400 mm,误差在2 mm,完全可以满足系统需求。HC-SR04模块具有4个外接引脚VCC、GND、TRIG、ECHO,TRIG 引脚连接 STM32的PB0引脚,PB0配置为普通推挽输出IO,ECHO引脚连接STM32的PB1引脚,PB1配置成外部中断触发模式。

ZigBee无线组网采用了TI的CC2530芯片,CC2530内置51内核,配合Z-Stack协议栈实现局域组网[13]。CC2530和STM32的串口2进行通信,当ZigBee模块接收到数据时,将该数据通过串口发送给STM32;当STM32需要发送数据时,通过串口2发送给ZigBee模块,ZigBee模块自动将数据无线发送出去。

3.2 停车场协调器的电路设计

停车场协调器主要包括STM32单片机最小系统、ZigBee模块、GPRS模块、OLDE显示屏、和按键电路,电路框图如图3所示。

图3 停车场协调器电路框图

GPRS模块采用了SIMcom公司的SIM900A芯片[14],支持GSM和GPRS的850 MHz、900 MHz、1 800 MHz、1 900 MHz四频的语音、短信、数据和传真。STM32通过串口给SIM900A发送AT指令请求建立TCP连接[15],停车场协调器作为TCP Client连接到服务器实现GPRS数据通信。

图4是系统的硬件电路实物图,左边是停车场协调器的电路板,右边是车位锁控制器的电路板。

图4 硬件电路实物图

4 系统软件设计

4.1 车位锁控制器的软件设计

车位锁控制器[16-18]采用STM32作为主控MCU,使用Keil开发环境配合STM32库函数进行STM32的C程序设计。车位锁控制器的工作主要是实现停车位检测,车位锁升降控制,加入ZigBee网络,接收停车场协调器的控制命令并反馈状态信息,车位锁控制器的程序流程如图5所示。

4.2 停车场协调器的软件设计

停车场协调器的MCU同样采用STM32,协调器的主要功能有:实现底层ZigBee无线网络的组建和维护,管理停车场内的车位锁,通过GPRS和系统服务器建立TCP长连接,STM32发送AT指令的部分代码如下:

图5 车位锁控制器程序流程图

4.3 Android客户端App

系统的Android客户端App采用Android Studio作为开发环境。客户端App主要功能包括用户注册、登录,个人信息管理,地图定位和搜索,停车位状态查看,预约车位,自助停车,停车费用支付、停车历史记录查看等功能。

客户端App设计了用户管理系统,用户需要注册登录后才能使用相应的服务。App内置高德地图提供的Android地图SDK和定位SDK,实现实时定位和附近停车场的搜索功能,以用户位置为中心设定搜索半径,App当前的搜索结果使用了模拟数据,用图6中气球样,热点进行标识,其界面效果如图6所示。

图6 App地图和停车位状态查看界面

停车场对每个停车位进行编号,用户通过App可以查看停车场中所有的车位的使用状况,界面如图6所示,车位的状态分为:可用、不可用、已预约3种状态,用户可以使用状态为未使用的车位,点击“我要停车”按钮,即可控制相应停车位的车位锁解锁,用户驶入车位停车,App开始计时。

当用户离开停车位后,App根据本次停车时长,计算停车费用,图7为支付界面,用户可以选择支付宝、微信或者账号余额3种方式进行费用结算。支付宝和微信支付的官方API接口调用需要商户资质认证,所以本系统App采用Bmob后端云提供的移动支付SDK来实现支付宝和微信支付功能的接入,Bmob对这2个主流的支付渠道进行了封装,且支持个人开发者接入。

用户支付完停车费用,App自动生成一条新的历史停车记录,其界面如图7所示,显示了模拟自助停车过程中产生的历史记录。用户可以在这个界面查看正在使用中的停车情况和历史停车记录,每一条记录包括使用的停车场名字、停车位编号、停车时间和支付的费用。

图7 App停车费用结算和停车记录查看界面

4.4 系统服务器

系统服务器的运行环境为win7系统,服务器是在Eclipse开发环境下用基于Socket(套接字)的java网络编程技术实现的一个TCP Server。

系统服务器创建一个ServerSocket实例,绑定20006端口,手机客户端App和停车场协调器作为Socket Client向服务器发起TCP连接请求。客户端连接进来以后,服务器先为每个客户端新建1个子线程专门负责和该客户端之间的数据通信,之后服务器获取客户端发送的身份标识UserID,将该客户端的Socket实例以键值对形式保存到HashMap中,其中key是客户端的UserID,value是客户端的Socket实例。

服务器读取每个客户端发送的数据,进行解析,根据数据命令的具体含义直接向该客户端返回相应的数据,或者将该数据重新组合后将其转发给其他客户端。

5 系统测试

本系统测试环境包括一个停车场协调器,3个车位锁控制器,分别代表编号为1,2,3的停车位,系统服务器运行在一台接入互联网的电脑,客户端App运行在Android手机。测试时候需要注意,如果服务器运行的电脑是在局域网内,没有唯一的外网IP地址,建议使用花生壳软件进行内网端口映射。经测试,通过Android手机App可以实现对停车位使用状态信息的采集以及远程控制车位锁的升起和落下,成功模拟自助停车流程,并实现移动支付停车费,当车辆离开停车位后App发送消息提醒,并生成一条历史停车记录。

6 结 论

基于移动支付的自助停车控制系统可以实现对停车场停车位便捷高效的管理,用户通过手机客户端App实现自助停车和移动支付费用。借助移动互联网和物联网技术提升了对停车位资源的利用率,该系统具备低成本、智能化、高效安全的特点,不仅适用于各种大中型停车场,而且适用于小型和路侧停车场的管理,具有很好的应用推广价值。

参考文献:

[1]肖燕.基于ZigBee的大城市停车场管理系统设计[J].电子设计工程,2016,24(9):51-53.

[2]刘军.基于ZigBee的智能停车场管理系统的设计与实现[D].哈尔滨:哈尔滨工程大学,2012.

[3]耿寸召.基于ZigBee技术的停车场车位检测系统设计[D].乌鲁木齐:内蒙古大学,2013.

[4]魏振亚.基于超声波车位探测系统的自动泊车方法研究[D].合肥:合肥工业大学,2013.

[5]谭宝成,马腾.基于超声波测距的泊车引导系统的研究[J].电子设计工程,2015,(18):96-99.

[6]吴若伟.大型停车场智能泊车引导关键技术研究与系统开发[D].南京:南京航空航天大学,2013.

[7]夏继强,郑昆,郑健峰等.基于STM32的收发一体式超声波测距系统[J].仪表技术与传感器,2014,(8):43-45,52.

[8]杜新珂.超声波测距在智能导盲系统中的应用[D].南京:南京理工大学,2012.

[9]李玲,陈惠滨.基于KEELOQ的无线遥控车位锁系统设计[J].电子技术应用,2013,(12):52-54.

[10]党蟒.一种露天停车场管理系统的设计与实现[D].郑州:郑州大学,2014.

[11]陈致远,朱叶承,周卓泉,等.一种基于STM32的智能家居控制系统[J].电子技术应用,2012,38(9):138-140.

[12]张婷.超声波定位系统的设计[D].西安:长安大学,2014.

[13]张艺粟,李鸿彬,贾军营,等.物联网ZigBee网关的设计与实现[J].计算机系统应用,2013(6):34-38.

[14]隋俊杰,肖诗满,邵伟恒,等.基于SIM900A的基站无线监控系统[J].现代电子技术,2016(3):51-54.

[15]李驰,段智敏,丛培田,等.基于STM32和SIM900A的网络多点远程数据监测系统设计[J].微型机与应用,2016(24):105-108.

[16]甘勇,徐珂,贾春利,等.基于ZigBee的智能停车场系统的设计与实现[J].郑州轻工业学院学报:自然科学版,2013(2):74-77.

[17]蔡世雷,孙刘杰.基于ZigBee与Web的移动支付充电桩设计[J].电子科技,2017(2):126-129.

[18]宋玉琴,姬引飞,段俊瑞,等.基于Android和ZigBee的智能家居系统设计[J].西安工程大学学报,2015(4):442-446.

猜你喜欢

停车位停车场客户端
蹲守停车位
车位上的数
地下停车位不动产登记探析
开车出行的你,今天找到停车位了吗?
停车场寻车管理系统
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
PLC在地下停车场排水系统的应用
“8·12”后,何以为家