基于树莓派的校园导游系统设计
Design of Campus Tour Guide System Based on Raspberry Pi
DOI: 10.12677/CSA.2021.113067, PDF, HTML, XML, 下载: 558  浏览: 1,089  科研立项经费支持
作者: 伍云枫, 白 月, 谢 能:湖南工商大学计算机与信息工程学院,湖南 长沙;覃业梅*:湖南工商大学计算机与信息工程学院,湖南 长沙;湖南省“物流系统优化与运作管理”科技创新团队,湖南 长沙
关键词: STC89C52传感器Python树莓派DjangoSTC89C52 Sensor Python Raspberry Pi Django
摘要: 随着信息化技术的不断发展,信息化社会的到来,数字化校园建设已成为高等学校发展的必然趋势,也是高校建设的重要组成部分,它是一项基础性、长期性和经常性的工作。为建设数字化校园,建设智能校园,本设计构建了一个校园导游系统。该系统由STC89C52单片机搭配树莓派3B+微型计算机来完成此次设计。单片机部分负责校园环境数据采集,树莓派部分负责完成语音识别、路径查询规划、语音合成的功能。该导游系统设计为一个WEB应用,运用Python语言下的Django框架实现,用户在WEB端发起语音输入请求,系统进行录音后调用百度语音识别API完成语音识别,调用高德地图的JS API来实现路径规划的功能。本系统完成了用户请求到响应的一系列逻辑代码的编写,配合外部硬件实时监测校园环境,最终设计出一款适合校园使用的导游系统。
Abstract: With the continuous development of information technology and the advent of information society, the construction of digital campus has become an inevitable trend in the development of colleges and universities, and it is also an important part of college construction. It is a basic, longterm and regular work. In order to build a digital and intelligent campus, this design constructs a campus tour guide system. This system is completed by STC89C52 Single-Chip Computer (SCM) with Raspberry Pi 3B + microcomputer. The SCM part is responsible for campus environment data collection, and the Raspberry Pi part is responsible for the functions of speech recognition, path query planning, and speech synthesis. The tour guide system is designed as a WEB application, which is implemented by using the Django framework in Python language. The user initiates a voice input request on the WEB side. After the system performs recording, the Baidu speech recognition API is called to complete the speech recognition. The function of path planning is implemented by calling the JS API of the Gaode map. By compiling of a series of logic codes from user request to response, and by cooperating with external hardware to monitor the campus environment in real time, finally the guide system that is suitable for campus is completed.
文章引用:伍云枫, 白月, 谢能, 覃业梅. 基于树莓派的校园导游系统设计[J]. 计算机科学与应用, 2021, 11(3): 654-660. https://doi.org/10.12677/CSA.2021.113067

1. 引言

各大高校近年来快速的发展和扩建,校园面积和在校学生均不断增加,且与外界的交流活动日趋频繁,来校参观访问的人员日益增多。而校园面积大且建筑物分布错综复杂,这就有必要设计一款校园导游系统,以便来访者查询校园信息和获取导航的服务。而且随着信息化技术的不断发展,信息化社会的到来,数字化校园建设已成为高等学校发展的必然趋势,也是高校智慧校园建设的重要组成部分。校园导游系统能提高校园信息化水平,给来访者提供直观的校园印象以及提供优质的多媒体校园导游服务 [1] [2] [3]。

校园导游系统已有较多开发,从基于51单片机、基于APP、到基于微信小程序来实现需求信息的输入、地理信息识别、目的地址信息输出等。张红等 [4] 基于MCS51单片机设计校园导游系统,能够迅速处理各模块信号,可实现基本功能,但数据处理能力有限,很难扩展其他功能。邵家勇 [5] 基于GIS设计校园导游系统,采用GIS技术结合JAVA语言以及电子地图制作软件,采用经典的最短路径算法,再进行路径规划,能实现当前位置信息获取,以及自动规划前往目的地的路线,但不具有语音播报功能,且查找方法单一。基于移动终端的校园导游系统 [1] [2] [3] [6] 是智能手机广泛应用以来被运用的方法,可以满足地图的放大缩小功能、位置查询搜索功能以及校园介绍等基础服务,且携带方便,灵活,但需要使用智能手机且下载APP或关注微信小程序,一些老一辈的人不使用智能手机,初来乍到学校的人也不知道有此类应用。

为了改善以上校园导游系统的不足,本文运用树莓派3B+微型计算机 [7] 的强大计算和数据处理能力,结合单片机处理传感器采集的物理信号的灵活性,采集校园环境信息及处理导游路径、定位及语音图像等导游服务的实际需求信息,设计一个校园导游系统的WEB应用,实现语音/触摸式命令输入,高德地图导航,语音/图像式结果输出,并安置于校园重要交通路口,提高使用者的用户体验。这种通过语音输入命令需求的方式特别适用于当下新冠疫情持续的情况,可以减少接触,预防交叉感染。

2. 系统总体架构

校园导游系统的总体系统框架如图1所示,系统由两大模块构成:数据采集模块及数据处理模块。数据采集模块由STC89C52单片机完成,包括DHT11温湿度传感器模块和GPS北斗ATGM336H模块。P2.0口与DHT11的Data口连接,根据传感器的时序编写程序的得到温湿度数据;P3.0 (RXD)与GPS模块的TX引脚相连接,通过程序解析出经纬度的数据。单片机的P3.1 (TXD)与HC-05蓝牙模块的TX相连接发送数据给树莓派。数据处理模块主要由树莓派3B+微型计算机完成。树莓派3B+提供Django的运行环境,根据STC89C52传输的信息调用高德地图地址编码API [8] [9] 完成定位,利用Python语言向百度API发出请求完成语音识别和语音合成的功能,识别目的地以后调用高德地图的JS API,然后将导航页面渲染出来则完成显示,语音识别的录音由外接麦克风设备完成,由于树莓派3B+自带音频输出口,故可直接借助扬声器播放导航路线。

Figure 1. System structure block diagram

图1. 系统结构框图

3. STC89C52信息采集系统设计

STC89C52组成的信息采集系统电路原理图如图2所示。该系统主要包括STC89C52最小系统电路模块、ATGM336H-5N的GPS模块、DHT11温湿度传感器模块和HC-05蓝牙通信模块。GPS模块用来采集人员定位,即经纬度信息;DHT11温湿度传感器模块用来采集校园的温湿度;在完成经纬度数据和温湿度数据采集后,通过蓝牙模块将数据传送给树莓派,完成了系统的信号传递。

Figure 2. Schematic diagram of information acquisition system

图2. 信息采集系统原理图

3.1. GPS模块数据获取

根据GPS模块数据手册得知,本次设计中所需要用到的经纬度数据出现在以$GPRMC开头的数据块中,软件设计需要做的就是按照数据块中经纬度数据所在的位置,提取GPS模块传输过来的经度纬度数据。例如ATGM336H-5N模块串口传输回来的数据中有一块数据为“$GPRMC, 084852.000, A, 2236.9453, N, 11408.4790, E, 0.53, 292.44, 141216, A * 75”,则对应的2236.9453为纬度数据,11408.4790为经度数据。其程序流程图如图3所示。

Figure 3. GPS module data analysis flowchart

图3. GPS模块数据解析流程图

3.2. DHT11温湿度数据采集

DHT11数字温湿度传感器 [10] [11] 是一款含有已校准数字信号输出的温湿度复合传感器,其传感器包括一个电阻式感湿元件和一个NTC测温元件,并且与一个高性能的8位单片机相连接,因此该模块具有响应速度快,抗干扰能力强,性价比高的特点。

单片机与DHT11传感器之间的通讯和同步通过DATA脚来实现,数据格式为单总线数据格式,一次完整的数据传输为40 bit,高位首先传输出来。其数据格式为:8 bit温湿度整数数据+8 bit湿度小数数据+8 bit温度整数数据+8 bit温度小数数据+8 bit校验和。因此,分析好DHT11传感器的时序才能进行软件设计并最终完成对环境温湿度的读取。其流程图如图4所示。

Figure 4. DHT11 module read data flow chart

图4. DHT11模块读取数据流程图

4. 导游系统WEB应用设计

导游系统基于树莓派3B+微型计算机完成,选择基于Python语言的Django框架来进行开发,整个系统围绕校园导游、校园环境数据展示、校园风采展示和校园师资力量展示的需求展开。导游的功能是设计重点,其中需要调用各种云端服务API来完成整个导游过程,校园实时环境展示的功能的重点在于完成STC89C52与树莓派之间的蓝牙通信,另外两个需求的设计只需要设计相关网页进行展示即可。

4.1. 导游系统整体业务逻辑

系统初始化时,读取本地存储的温湿度数据和经纬度数据,并且开启线程读取串口数据,每隔30秒更新一次数据文件,导游界面展示环境数据的部分通过JS代码也每隔30秒刷新数据,此时界面就完成了校园环境数据的显示。

当用户点击导航服务后,直接跳转至目的地输入界面,检测是否有语音输入,后台调用树莓派资源开始进行录音,并将录音文件上传至百度云端进行语音识别,解析云端返回的JSON数据即可得到语音识别结果,通过JS将识别结果输入到搜索栏中并开始导航,展示导航最优结果。目的地址还可通过按键输入,浏览器通过AJAX发送请求给后台服务器,然后开启搜索导航。

校园风采展示和校园师资力量展示可通过语音或按键输入后链接到校园网相关信息进行展示。

4.2. 语音识别和语音播报功能

本系统可以通过语音输入和手动输入目的地的方式进行导游。语音识别通过调用百度语音识别API来实现,语音播报的录音文件通过调用百度语音合成API来实现 [12] [13],导游结果通过高德地图开放平台提供的高德地图JS API来实现。语音识别和结果播报的流程图如图5图6所示。

Figure 5. The flowchart of the speech recognition module

图5. 语音识别模块流程图

Figure 6. The flowchart of the result broadcast module

图6. 结果播报模块流程图

4.3. 树莓派蓝牙接收校园环境数据

对于简单的公式,可以直接以文本方式输入;对于复杂的公式,可以考虑使用公式编辑器,或者将公式制作成图片后插入文中。编辑公式的过程中要特别注意减号与连字符的区别,前者较长,后者较短。

树莓派3B+自带蓝牙模块,在完成树莓派与HC-05蓝牙模块的配对后,进行串口通信的编程来接收STC89C52传输过来的数据。在树莓派上调用Python中的pyserial模块来完成STC89C52与树莓派之间的通信,pyserial中封装了树莓派对串口的访问,故完全按照串口通信数据接收方式来接收数据即可,接收数据的软件设计流程图如图7所示。

Figure 7. The flowchart of receiving environmental data

图7. 环境数据接收流程图

5. 结语

本文通过结合STC89C52单片机和树莓派3B+微型计算机,完成校园环境数据的采集和地理位置数据的采集,并通过语音或手动输入目的地址的方式,完成语音识别及地址导航、语音播报、校园信息导览等功能,实现校园导游服务。本文的一个主要贡献是将校园环境数据嵌入导游系统,让来访者在熟悉校园布局的同时知道校园的温湿度等信息;另一个主要贡献是该系统具有语音识别功能,来访者可以不通过接触输入命令,减少了与机器的接触,在新冠疫情持续的情况下非常适用。

本设计是一套WEB系统,可移植性强,可扩展性强,可以将其扩展成为校园导游微信小程序、校园导游APP、校园导游公众号等各种服务形式,只要稍加配置便能开发出更多服务形式。同时使用的是Python环境下的Django框架的开发,由于Python和Django都有丰富的库函数可以用来调用,本系统还能够在导航的基础上开发出更多的功能。

但是本系统也存在需要改进优化的地方,由于是一套服务系统若能不受环境限制的使用是最好的,但本系统的语音识别和语音合成需要连接互联网访问百度云智能服务器完成语音识别和语音合成,这也是本次设计中需要联网的两大部分。今后改进的方向在于能否在本地端完成语音识别和语音合成,完成离线识别的功能,那么系统的使用就少了互联网的限制,更好地提供校园服务。

基金项目

湖南省大学生研究性学习和创新性实验计划项目(S201910554019);湖南工商大学大学生研究性学习和创新性实验计划项目(201810554076);湖南省大数据技术与管理国际科技创新合作基地(2018WK4030)。

NOTES

*通讯作者。

参考文献

[1] 潘泽锴, 朱雪花, 黄论. 基于移动互联技术的校园导游系统研究与实现[J]. 物联网技术, 2020, 10(9): 90-91+95.
[2] 曾惠霞, 罗荻. 基于微信小程序的校园导游播报系统的研究与实现[J]. 电子世界, 2020(13): 13-14.
[3] 湛朱喜, 易泽慧, 张强. 基于微信小程序的校园导游智能机器人[J]. 电脑知识与技术, 2019, 15(11): 76-77+80.
[4] 张红, 雷志国, 潘帅帅, 王晖. 基于MCS51单片机的智能校园导游车的设计[J]. 长春工程学院学报(自然科学版), 2012, 13(4): 108-110.
[5] 邵家勇. 基于GIS的校园导游系统的设计与实现[D]: [硕士学位论文]. 成都: 电子科技大学, 2013.
[6] 代品宣. 基于Android嵌入式平台的校园导游系统设计与实现[D]: [硕士学位论文]. 镇江: 江苏科技大学, 2017.
[7] Zhou, K. and Yuan, Y.H. (2020) A Smart Ammunition Library Manage-ment System Based on Raspberry Pie. Procedia Computer Science, 166, 165-169.
https://doi.org/10.1016/j.procs.2020.02.041
[8] 刘宁, 何鹏, 陆建新. 基于高德地图API的烷基苯厂区设施电子地图系统设计与实现[J]. 软件导刊, 2018, 17(9): 144-147+152.
[9] 魏志刚, 田润, 刘恒同. 基于高德地图API的机器人导航系统设计[J]. 科学技术创新, 2019(13): 110-111.
[10] 冯娜娜, 冯娟娟, 杨延宁, 安厚儒, 郝介一. 基于ESP8266的可视化温湿度实时监测器的设计[J]. 延安大学学报(自然科学版), 2020, 39(4): 54-57+62.
[11] 吴凡, 李晓宇, 刘毅, 王敬怡, 靳小煊. 基于STC89C52的车内环境监测系统设计[J]. 汽车实用技术, 2019(14): 73-75.
[12] He, Y.Q. and Dong, X.G. (2020) Real Time Speech Recognition Algorithm on Embedded System Based on Continuous Markov Model. Microprocessors and Microsystems, 75, 79-84.
https://doi.org/10.1016/j.micpro.2020.103058
[13] 张珣, 李道磊. 基于语音识别技术的智能家居网关系统设计[J]. 软件导刊, 2019, 18(5): 49-52+57.