新型智能城际公交到站提醒系统

2021-08-26 03:29陈炳飞
物联网技术 2021年8期
关键词:座位座椅公交

陈炳飞

(厦门大学嘉庚学院,福建 漳州 363000)

0 引 言

近年来,国民经济水平不断上升,交通道路铺设遍布甚广,随着低碳出行和节能减排等绿色理念深入人心[1-2],公交或地铁出行成为人们重要的出行方式。然而,目前的公交或地铁内的到站提醒系统存在很多不足,无法满足人们对智能化生活的要求。本文针对以往公交车报站系统的分析,探究其不足之处,设计了一套新型智能公交到站提醒系统,为未来的公交或地铁报站系统提供一定的参考。

1 需求分析

1.1 研究背景

据报道,2018年10月28日,重庆市万州区的一辆公交车在桥面上行驶时,乘客与司机因“坐过站”产生激烈争执,相互殴打,导致车辆失控坠入江中,致15人遇难[3]。近些年,乘客因坐过站而与司机发生冲突的事情屡见不鲜,严重危害了其他乘客的生命安全。

现阶段的公交报站系统虽然造价低廉,但其提醒到站功能却已无法满足大众的需求。目前国内配备有电子线路图的公交车数量极少,大多数公交车内仅有纸质版线路图,未配备智能化、互动性设施[4]。

1.2 存在问题分析

对乘客错过目的站点的原因进行归纳总结,大概有以下3个因素:

(1)环境嘈杂,影响到站广播提示音。高峰时期人流量大导致公交车内拥挤、嘈杂[5],与道路周围汽车噪音形成一种封闭的环境,使乘客无法听清车内的到站提示音,也导致司机因噪音无法了解个别乘客到站下车的需求而提前关闭车门,且公交公司有明文规定,不在公交车站台停车范围内,司机不能私自靠边停车,大幅降低了乘客的出行效率和对所乘坐交通工具的满意度。

(2)专注玩手机。根据中国互联网中心2020年4月发布的相关报告显示,我国网民用手机上网达8.9亿人,其中大学生是主力军[6-7]。在生活中,手机成瘾已是一种普遍现象。虽然手机给生活带来很多便利,但很多人也有因为在乘坐公交车或地铁等交通工具时低头玩手机而错过目的站的经历。

(3)劳累的工作者,瞌睡的老年人。工作忙碌的年轻人和行动迟缓的老年人,因为某些缘故,如长时间乘车等易犯困,对于到站提示音毫无差觉,从而错过目的站点。

1.3 设计定位

本系统适用于专线跨市公交、长途大巴等一些无人站立的交通工具,配置智能公交到站提醒系统,解决因瞌睡、车厢内噪音而导致乘客坐过站的问题。同时还可避免因下车拥挤而对乘客造成的身体伤害。

2 系统架构

系统主要分为乘客端的座位系统设计和司机端的软件系统设计,系统架构如图1所示。乘客可以通过座椅上的按钮预约站点,并向司机端和本座椅系统提供目的站点信息;司机端将下一站点的到站信息通过ZigBee广播给每个座椅;座椅接收到司机端的站点信息之后,判断本座椅乘客预约的目的站点是否即将到达,如果本座椅乘客的目的站点即将到达,则通过座椅振动提醒乘客。

图1 系统框架

3 座位系统设计

3.1 座位系统硬件模块设计

座位系统的主控制器选用具有应用广泛、价格低廉[8]、功耗低、接口多和开发容易等优点的51系列单片机,型号为STC89C52。座位系统的硬件结构包含时钟电路、复位电路、按键模块、显示模块、压力检测模块和振动模块,如图2所示。其中时钟电路、复位电路和51单片机组成单片机最小系统;按键模块使得乘客可以通过按键输入预约车站点;显示模块选用LCD1602字符液晶屏显示下一站将到达的站点和乘客预约的下车站点;压力检测模块选用压力传感器检测座位压力,如果检测到压力达到一定值,则判断该座位有乘客;振动模块选用HX711,当车辆到达乘客预约的站点后,振动模块开启振动模式提醒乘客下车,防止乘客错过目的站点;ZigBee模块采用串口转换方式,通过透传模式与司机端的设备进行数据传输。

图2 座位系统硬件结构

3.2 座位系统软件设计

座位系统的软件设计包括按键扫描检测程序设计、LCD1602显示模块数据显示设计、压力检测程序设计、振动模块振动程序设计和串口数据收发设计。座位系统软件工作流程如图3所示。首先对单片机各模块进行初始化设置,如初始化和配置串口、初始化振动模块和初始化显示模块LCD1602等。

图3 座位系统软件流程

串口接收数据使用中断模式,首先判断串口是否收到第一个字节,如果没有收到,则说明司机端未广播数据;如果收到第一个字节,则进入数据接收状态,每收到一个字节均需判断一帧数据是否接收完成,如果一帧数据没有接收完成,则继续接收直到完整收到一帧数据。完整接收到一帧指令后,对帧数据进行解析。如果帧数据是更新下一站点信息,则更新显示模块中需显示下一站点的信息;如果是司机端提醒该座位乘客下车的信息,则振动模块开启振动模式,提醒乘客下车;如果是司机端请求更新相关乘客信息,则组帧将座位是否有人和乘客预约的站点信息上传;如果帧数据错误,则丢弃。最后,实时扫描按键,检测乘客预约站点信息,同时,实时检测并判断乘客是否到达预约的目的站点,如果到达则开启振动模式提醒乘客下车。

3.3 座椅系统各模块安装设计

将所需各元器件模块用导线联通,需要安装的模块主要包含显示模块、压力检测模块、按键检测模块和振动模块。振动模块嵌入座椅靠背部位,压力传感模块嵌入座椅坐垫中,两边扶手处分别安装显示模块和按键检测模块,如图4所示。与传统座椅相比,从外观上看,与日常长途大巴座椅无异,只是在扶手处增加了显示模块和按键检测模块,即本系统可在传统座椅的基础上进行简单改造,使座椅更加智能。通过压力传感器判断座位上是否有乘客,当座位上有乘客且乘客预约的站点即将到达时,靠背部位将发出振动提醒。

图4 座椅系统各模块安装图

4 司机端软件设计

4.1 司机端软件工作流程设计

司机端硬件采用工业触摸平板显示屏,系统安装Windows10,使用C++语言进行软件编程开发。软件的工作逻辑流程如图5所示。首先,对界面的所有控件进行初始化。接着,开辟接收缓冲区,存放从乘客系统接收的数据。司机端和乘客座位系统的通信模式采用主从模式,司机端为主机,乘客座位系统为从机。司机端逐个发送查询座位乘客预约站点信息指令,然后等待接收乘客座位系统返回的反馈信息。解析接收的数据并更新界面座位信息。同时,统计和更新界面上的乘客人数信息,便于司机了解乘客到达目的站点的下车情况。司机还可以通过查看界面上的人数统计信息,主动发送提醒指令给相关座位的乘客。最后,司机端发送下一站点信息给所有座位。

图5 司机端软件工作流程

4.2 司机端软件界面设计

司机端的操控界面中分布着多个座位按钮和乘客人数统计信息,如图6所示。已有乘客的座位会显示该乘客的目的站点,且用颜色区分不同座位乘客与即将到站的站点关系。红色的座位表示该座位的乘客即将下车;白色的座位表示该座位为空,暂无乘客;绿色表示该座位已有乘客。司机可通过座位的颜色和目的站点来判断乘客是否离座,是否到站,如遇上到站未离开的乘客,司机可按下相应座位的按钮,向该座位系统发出提醒指令,控制对应座椅振动提示,减少因乘客失误而坐过站的状况出现。

图6 司机端操控界面

5 数据通信协议

对司机端和乘客端的通信采取自定义协议,为保证通信的准确性和协议拓展性,数据协议一般包括帧头、长度、类型、数据和校验部分。

司机端的指令格式见表1所列。司机端发送给乘客端的指令类型有3种:广播数据,用来同步乘客端显示下一站站点信息;发现乘客到达目的站点未下车后,司机端主动发送提醒命令给乘客端;将乘客端的预约站点信息同步到司机端。

表1 司机端指令格式

如果乘客端收到司机端的广播数据,则乘客端显示模块更新下一站点的站点信息;如果接收到提醒乘客下车的指令,振动模块进行相应的振动提醒;如果接收到需同步预约站点信息的指令,则乘客端回复一帧数据给司机端,回复的报文格式见表2所列。

表2 乘客端回复帧格式

6 结 语

本文通过对以往公交报站系统不足的分析,设计了一款新型智能公交到站提醒系统,该系统具有实用性强、电路简单、操作容易等特点,且操作系统可复制,推广性强。新型智能公交到站提醒系统的改进,从细微之处入手,增强了乘客乘车时的舒适感和满足感,应用前景广阔。

猜你喜欢
座位座椅公交
换座位
一元公交开进太行深处
巴士上的座位
等公交
奔驰S350车驾驶人侧座椅不能加热