(北部湾大学 电子与信息工程学院,广西 钦州 535000)
如今,伴随着互联网的快速发展,各类旅游APP如雨后春笋般涌现,旅游类APP正逐渐成为旅游业发展中不可或缺的一部分。智慧旅游是基于互联网技术,搭载便携的移动智能终端,以满足游客日益增长的个性化需求,提供高满意度服务的旅游方式。随着智能手机的普及和互联网的迅猛发展,旅游类APP已成为人们实现智慧旅游的重要工具[1]。
目前对于团队旅游、自驾游等群体出行方式,会遇到许多问题,主要存在地理位置失联、通信效率低下、车辆无法稳定行驶等,造成时间和金钱的浪费。产品不应忽视用户体验,需要切实解决用户旅游过程中存在的实际问题,为特定用户提供定制化体验[2]。针对以上问题,提出了车联网大家庭出行模式,多人共享各车的定位数据,降低出行成本,提高出行效率,实现多机多人多车多定位的生活体验和服务。
本系统由车载定位终端和后台服务器及安卓APP组成。车载定位终端由微控制器模块、北斗GPS双定位模块、DHT11温湿度检测模块、GSM模块组成。车联网体系结构主要由三大层次结构组成,按照其层次由低到高分别为采集层、网络层和应用层[3]。系统总体框架如图1所示。
图1 系统总体框架
采集层:使用STM32F103微控制器作为系统主控制器,负责各传感器数据的统一处理和分析。通过串口控制北斗GPS双定位模块和DHT11温湿度传感器模块,进行位置信息和温湿度信息的获取与解析。通过串口控制GSM通信芯片,将解析后的信息无线传递到后台服务器。同时LCD液晶屏实时显示控制器状态及通信信息,方便维护。
网络层:后台服务器实现采集层和应用层系统之间的数据透明传输,采用网络通信技术中常用的HTTP协议,车载终端通过GSM模块上的SIM卡GPRS无线通信技术访问服务器并上传车载信息到服务器,车车互联APP用户端请求指定端口的TCP连接访问服务器获取车辆定位、速度、时间、温湿度等数据。
应用层:该层是车联网的最高层,可以为联网用户提供各项服务。用户登录车车互联APP,输入车辆唯一标识码,从后台服务器获取车辆实时位置等数据,并显示在地图上。应用层还集成了即时通信服务、百度地图等服务,经过对数据进行相应分析处理后,可以为用户提供多人多车共享定位、实时监控、即时通信等应用服务。
微控制器选用STM32F103VET6作为主控芯片,使用3.2寸ILI9341液晶屏交互。STM32F103VET6 是意法半导体有限公司出品的32位基于Cortex-M3内核的增强型微控制器,拥有100个引脚,80个通用I/O口,512 KB FLASH及64 KB SRAM,系统时钟为72 MHz,具有3路12位的A/D转换器,2路12位D/A输出,4个通用定时器,2个高级定时器,2个基本定时器,2个SPI接口,2个I2C接口,3个USART接口和2个UART接口,片内资源和外设接口丰富[4]。
GPS导航系统为无源被动式伪码单向测距三维导航,北斗导航系统为主动式双向测距二维导航。GPS的定位精度高于北斗定位系统,但其使用受地形因素的影响,而北斗定位系统除具有定位功能外,还具有通信功能,可与外设进行信息交流[5]。北斗GPS双模定位模块BH-ATGM332D的最大定位更新率可达10 Hz,具有高性能、低功耗等特点,支持两套系统同时在导航终端上运行,可通过串口通信向单片机系统输出GPS及北斗定位信息。通过NMEA库解码获得车载实时定位信息,借助百度API技术显示在地图界面,可用于车辆追踪。
BH-ATGM332D支持TTL电平串口通信标准,STM32微控制器通过USART3接口与BH-ATGM332D模块通信。引脚连接方式见表1所列。
表1 STM32与BH-ATGM332D引脚连接
DHT11是一种把温度和湿度模块融为一体的高度集成的传感器,其性价比高、响应迅速、抗干扰能力强[6]。湿度精度为±5%RH,温度精度为±2 ℃,量程湿度范围为20%RH~90%RH,温度范围为0~50 ℃。DHT11传感器可实时监测车内环境的温度与湿度,输出已校准数字信号,借助安卓APP进行车内温湿度的监测与预警。
GSM模块负责车载终端与后台服务器的通信。GSM模块使用的SIM800A无线收发芯片内置SIM卡槽,内嵌TCP/IP协议,支持Micro-SIM卡,可通过串口传输标准的AT命令对模块进行控制。将GPRS无线通信技术和GPS结合,可为应用终端提供车辆行驶过程中的位置、时间、速度信息,未来还可以使用GSM语音、短信等实现车辆预警语音播报,短信通知亲属等功能。
系统开发板使用5 V USB接口电源输入,而GSM模块需要9 V电源,为防止烧坏开发板,GSM模块使用外部电源供电。SIM800A支持TTL电平串口通信标准,STM32微控制器通过USART3接口控制GSM模块。引脚的连接方式见表2所列。
表2 STM32与SIM800A引脚连接
STM32单片机程序使用Keil公司开发的Keil μVison5单片机C语言集成开发软件编写,该软件自带多种型号单片机的初始化函数库[7],编译生成的机器码由DAP仿真器下载至单片机。
STM32微控制器主控制程序流程如图2所示。连接电源,按“复位”按钮后电路开始初始化,程序运行。首先,初始化系统模块,包括ILI9341液晶屏初始化与系统定时器初始化。ILI9341液晶屏实时显示模块数据及模块运行情况,当某个模块出现异常时能够及时排查、解决问题;系统定时器用于产生时基,维持单片机系统的心跳。之后,初始化温湿度检测模块,微处理器和DHT11间采用单总线数据格式,一次通信时间约4 ms。接着初始化GSM模块,与服务器建立TCP连接,若连接失败,可考虑两个原因:第一,GSM模块SIM卡未充值话费;第二,服务器未监听。最后,初始化GPS模块。GPS模块开始采集当前地理位置经纬度等数据信号,经相关模块处理后,将采集到的数据通过串口传送至单片机处理,并实时在ILI9341液晶屏显示[8]。由主程序判别经纬度信息是否有效,无效则重新获取,有效则将温湿度信息和GPS信息发送给GSM通信模块,传输至服务器。
图2 主控制程序流程
为解决车载终端系统车辆标识码的问题,用户可以通过输入SIM卡号获取车辆信息,一个SIM卡号对应一台设备。由于新购买的SIM卡与手机号码并非一一对应,因此SIM卡只是电话号码的存储介质,需要事先使用USB转串口线连接GSM模块与上位机,运行GSM调试助手发送AT指令将本机号码写入电话本存储区,STM32微控制器通过串口发送指令到GSM模块即可获取本机号码。上位机与GSM模块连接如图3所示,相应的AT指令见表3所列。
图3 上位机与GSM模块连接图
表3 配置本机号码功能的AT指令
后台服务器借助腾讯云服务器平台提供信息传输服务,采用TCP协议的Socket机制通信,使用Eclipse作为开发环境,借助Java语言的多线程机制实现并发服务器,满足多个用户的并发访问需求。GPS信息和温湿度信息保存为JSON格式,通过GSM模块的GPRS无线通信方式上传到后台服务器,由服务器对数据进行分析、加工、保存和传输,利用Tomcat服务提供应用程序外网访问资源。
车车互联APP功能设计如图4所示,包括首页模块、视频模块、“一路同行”模块、个人模块。首页模块提供旅游爱好者社交平台,用户可以在论坛上交流与分享;视频模块展示大众喜闻乐见的短视频,浏览视频已成为吸引用户流量的重要手段;个人模块主要用于用户注册、登录以及管理用户信息;“一路同行”模块是软件的亮点,下面着重介绍。
图4 车车互联APP功能架构
为了解决团队出行遇到的困难,提高出行效率,“一路同行”模块设计了即时通信、共享定位、共享围栏、快捷消息、车辆监控5项功能。模块程序流程如图5所示。
图5 “一路同行”流程
(1)即时通信功能借助环信即时通信云服务,允许2个或多个用户使用网络实时传递文字消息、文件、语音与视频,解决团队出行的交流问题。
(2)共享定位包括用户位置共享以及车辆位置共享,使用Bmob后端云提供数据库服务,用户位置信息通过百度地图API接口实时获取并保存在云端数据库,当2个或多个用户互为好友时即可共享定位;车辆定位通过用户输入车辆唯一标识码从后台服务器获取车辆定位信息,并根据百度坐标系BD0911显示在地图上。共享定位解决了用户失联、车辆追踪的难题,提升了驾驶安全。
(3)共享围栏用于组织者给成员划定活动区域,成员接收组织者发来的地理围栏可以明确自己的活动区域,防止成员越界产生安全隐患。地理围栏有两种类型,一种是圆形围栏,另一种是多边形围栏,可以快速准确地画出不同图形的地理围栏,适用于导游等群体。
(4)家庭出行时车辆、人员较多,在高速公路上常常会被车流淹没,且车辆间很难同时沟通。为解决这一问题,在地图页面左下方设置有快捷消息按钮,车主只需将手机固定在车载支架上并加入群组,并点击按钮弹出消息列表后,点击消息即可快速发送给群内其他成员,用户也可以自定义消息内容。
(5)车辆监控功能方便驾驶员随时监测车内环境状况,降低意外发生几率[9]。用户输入车辆唯一标识码可以从后台服务器获取车辆温湿度、海拔、速度、定位等数据。软件检测数据后,一旦发现数值超出阈值,会立即提醒车主注意安全。
良好的APP界面设计能够给用户带来舒适的使用体验,满足用户在使用过程中对便利性、功能性和个性化的需求,提升软件竞争力[10]。车车互联APP主界面在底部导航栏中设置有不同的按钮或者滑动ViewPager控件,通过点击按钮或滑动控件可切换界面。图6所示为即时通信界面,图7所示为地图定位界面。
图6 即时通信界面
图7 地图定位界面
硬件实物如图8所示。实验结果表明,车载定位终端系统能够正常运行,各模块均可实现其相应功能,具有实时性好、成本低、网络连通性强、运行稳定等优点。经过市面上的不同安卓机型对APP进行模块用例测试,发现软件正常运行,响应速度符合要求,未出现崩溃、闪退、卡顿等现象,用户界面友好,系统预期结果与实际结果相符。车车互联APP适用于安卓7.0以上版本,应用软件二维码如图9所示。
图8 硬件实物
图9 车车互联APP二维码
随着车联网架构体系的不断成熟,汽车不再是只能加油换挡的物体,而是变得越来越智能化。本文从车联网的角度对硬件、软件的应用进行了研究,对智慧旅游的生活体验和服务有一定的启示作用。该系统解决了团队出行位置失联、通信效率低下等问题,还提供了多项旅游出行服务。其性能良好,实时性较高,成本较低,适合在智能化市场上推广应用。