前言:寻找写作灵感?中文期刊网用心挑选的车位锁管理系统设计探析,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。
摘要:随着经济的发展,全国各地的机动车保有量不断增加,“停车难”的问题日益凸显,现有车位的数量远远无法满足机动车的停放要求。而同时,公共停车位供给不足、分布不合理,使得汽车数量与停车位之间的供需矛盾愈发尖锐。针对这种停车难的情况,提出一种运用STM32单片机技术、WiFi无线传输技术、云服务器搭建技术,实现只需通过数据移动网络就可以使用App远程控制车位锁开关的功能。可以帮助车主快速找到周边的空闲停车位,精确计时计费,并且在线支付停车费,高效解决临时停车难问题。
关键词:STM32单片机;云服务器;WiFi;车位锁
0引言
目前全国各地现有的公共车位主要由城市管理部门或相关企业管理[1],其中较为先进的模式为用户根据车位上的数字编号在线缴费,车位的计时计费需要人工来监管。效率比较低下,且无法实现实时计费,同时时常遇到被违规占用的问题[2]。较少的公共车位确需要较多的人力资源来管理,造成了很多中小型停车场的管理成本高,且盈利困难,随着人力成本的逐年增加,该问题愈发凸显[3]。本文提出了一种停车位解决方案,依托自己搭建的云服务器,实现了远程预约使用车位锁。在使用的过程中,车主只需通过移动端的App(自主研发),就可以快速找到周边的空闲停车位,精确计时计费,并且在线支付停车费,高效解决临时停车难问题。
1系统总体设计
车位锁管理系统的总体设计框架如图1所示,主要由自主研发的App、自主搭建的云服务器、WiFi模块、路由器、STM32主控、物理锁六个部分组成。用户通过手机中的App发送开锁命令,数据经过自主搭建的云服务器传送给WiFi模块(事先先让WiFi模块与路由器相连接),继而通过串口传送到STM32主控当中,MCU控制继电器来控制直流减速电机对物理锁进行开关功能[4]。用户在App中可以查看到空闲的车位,并选择预约时段,当预定成功之后,App会给出用户到达车位的最近路线,从很大程度上解决停车难的问题。
2硬件部分设计
系统的硬件部分分成WiFi模块,STM32主控模块、继电器控制模块和电源模块四部分组成。这些都集成在物理锁的内部。其中WiFi模块负责数据的接收和发送,STM32主控模块负责数据的分析及处理,继电器模块负责驱动直流减速电机来控制车锁的升降。
2.1WiFi模块设计
本系统所采用的WiFi模块为ESP8266模块,它是低功耗并且具有高集成度的WiFi芯片,结构图如图2所示。设计过程中有2种方案:MCU控制和SOC片上系统设计。本系统采用的是第一种MCU控制方案,它和单片机以US-ART方式连接。在使用的过程中,现用AT指令将模块设置为STA无线接入点模式,并将其加入到局域网之中。再通过AT指令将模块设置成TCP客户端模式加入到自主研发的TCP公网服务器当中,等待接收由App端发来的指令。待接收到开锁命令时,便把指令通过USART发送给STM32主控当中,由MCU分析处理。
2.2主控电路设计
在本系统中设计的用到的MCU型号为STM32F103C8T6,属于STM32F103x中加强型的芯片,选用的是高性能的ARM32位的CortexTM—M3位的RISC内核,这种微处理器的优点是即使不带外部晶振时正常使用。同时内部还自带实时时钟、中断控制器以及拥有丰富的输入输出端口,来满足系统的需求。相比较其他的产品这个型号的功耗也是最低的。主控制的外围电路如图3所示[5]。当MCU通过USART传输的方式接收到数据后,判断是否为对应的开锁密匙(为了保证数据的可靠性,本系统有自己特定的通信协议)。如果是,则将开锁指令通过GPIO口传到继电器模块,由继电器模块执行开锁功能。
2.3继电器控制模块
继电器模块在本系统中采用欧姆龙生产的G2R—2—5V系列,最大的性能优势在于点负载可以达到10A/250VAC,低电平有效。信号输入的电压范围在0~5V,满足单片机GPIO口的输出。系统通过2个GPIO口来控制电机的正反转向。
2.4电源模块
由于本系统电机驱动的电压需要6V,单片机供电需要3.3V,WiFi模块供电需要5V,整体由6V的干电池供电[7]。所以需要一个降压模块来给系统各部分提供有效的电压。本系统采用的降压芯片为LM1117芯片,属于低压差电压调节器系列,通过2只外部电阻器可实现1.25~13.8V输出电压范围,系统将6V电压转换到3.3V供单片机供电。
3软件部分设计
3.1STM32部分软件设计
单片机部分的代码主要利用WiFi模块接收由服务器端发送过来的信息,并且经过MCU分析处理之后,通过GPIO口控制继电器来完成对物理锁的控制。其主要的流程图如图5所示。在单片机程序当中,通过自带的RTC时钟系统来为管理系统提供计时收费的功能。
3.2服务器的设计
3.2.1公网IP的使用
本系统的服务器由自主研发完成,首先在网上租借一个公网IP,其IP地址如图6所示。再通过SOCKET网络编程技术,在公网上搭建一个云服务器作为车锁控制系统的服务器。
3.2.2云服务器的设计
考虑到如果将该系统推出市场,其用户量会激增,在服务器设计过程中,运用到了多进程&多线程的技术,来增加服务器的并发处理能力。目前整个系统传输的信息只有对物理锁的开关功能,所以只需用字符串如‘upup’,‘down’之类的字符,就可作为密匙完成物理锁升降的功能,在设计的过程中还要尽量减少进程切换和减少使用不必要的锁来增加服务器的稳定性。采用TCP协议来传输数据时,因为该协议是面向流的协议,很容易出现粘包的问题。所以系统采用了给字节流加上自定义固定长度报头,报头中包含字节流长度,然后一次发送到对端,对端在接收时,先从缓存中取出定长的报头,然后再取真实数据的方法。发送时先发报头长度,再编码报头内容发送,最后发送真实内容来确保消息的准确性。如果有需要还可以再应用层上加入数据校验。客户端和服务器端之间的通信一般需要穿越多个中间节点。为了让服务器能一直稳定的工作,防止中途掉线,在云服务器设计过程中,还加入了心跳包的设计。心跳包由客户端发出,像心跳一样每隔固定时间利用socket.sendUrgentData(0xFF)函数发送一个很小的包给服务器,告诉服务器其在处在连接状态,如果服务器接收到其掉线的信息,服务器端会按照相应的客户端断开逻辑进行处理。在设计过程中,为了保证通信协议的一致性,心跳包只是用来检测socket的连接状态,并不会作为socket的通信内容。车主在App中预定了车位之后,信息会通过云服务器传送客户端即WiFi模块当中,再由WiFi模块通过USART串口传到MCU当中。当车主到达车锁附近时,即可通过App中的开锁按钮打开车锁,进行停车服务。
3.3App部分设计
手机客户端作为用户体验的一部分在整个系统中必不可少。App部分的主要功能有控制物理锁、GPS定位、客服反馈以及充值付费。
4测试结果分析
4.1技术指标测试
系统由6V干电池供电,经过6V转3.3V的开关电源,给WiFi模块供电。再由3.3V转5V的线性电源给单片机供电[8]。在电路中都采用了输入滤波电泳和输出滤波电容来减少输出电压的纹波。用示波器检验经转化过的5V直流电压和3.3V直压电压显示为4.98V和3.28V基本满足实验要求。
4.2系统整体测试
为了测试车位锁控制系统的整体功能[9],分别选择3个地点作为远程控制点,距物理锁位置为10,200,2000m。分别测试50次,其测试的成功次数分别为50,49,46次。在实验距离的增加之后,App成功操作车锁的次数有所降低,考虑到由于云服务器端的稳定程度以及WiFi模块的接收信号等一些因素之后,该结果属于正常范围之内。通过这些实验统计数据可以得出用户在离车锁200m范围内使用App来控制物理锁,物理锁均能正常使用。
5结论
利用自主搭建的云服务器来管理车位锁,在一定程度上可以解决用户出行找不到车位,付费模式复杂的现实情况。目前,由于服务器是自己搭建的,在可支持用户数量上还达不到市场的需求,后续还需调用数据库,利用LAMP开发模式搭建一个高效、稳定的云服务器,提高服务器的并发处理能力,来满足日益增长的客户量。在物理锁附近,目前是利用已用的路由器搭建一个局域网来供WiFi模块接入,在之后的改善过程中,计划用树莓派搭建一个网关,更好地为车位系统服务。本系统可以应用于智能家居和智慧城市解决方案,改善交通服务业,造福社会。
参考文献:
[1]霍海波,张加昇,潘陶红,等.智能车位锁管理系统设计[J].测控技术,2017,36(10):93-97.
[2]鞠文斌,王元委.基于CAN总线的燃气轮机高温传感器设计[J].传感器与微系统,2018(4):98-100.
[3]李渊博,张红雨,牛嘉祥.基于蓝牙的智能车位锁设计[J].电子设计工程,2017,25(13):126-129.
[4]徐蔡军,张莉萍,葛鸿翔,等.基于ARM的智能车位锁远程控制系统设计[J].测控技术,2017,36(8):59-61.
[5]姜晶,张宪,于云选,等.基于MD5算法的物联网传输模块设计[J].传感器与微系统,2017,36(7):124-126.
[6]杨瑞东,杨连军,王云峰,等.基于Android系统的智能循迹避障小车设计[J].传感器与微系统,2018(3).
[7]彭波,胡志强,王琦,等.新型低能耗遥控车位锁设计[J].电子设计工程,2017,25(7):123-125.
[8]付瑞玲,张具琴,蒋晨光.基于单片机的智能电子遥控车位锁设计[J].电子设计工程,2017,25(1):182-184.
[9]韩笑.电器开关无线控制系统的设计与实现[D].杭州:杭州电子科技大学,2016.
作者:陈霖凯 秦会斌 胡炜薇 单位:杭州电子科技大学 新型电子器件与应用研究所