基于Flask与树莓派的智能交通控制平台

2018-07-10 07:20都飞翔杨静史健芳
现代电子技术 2018年13期
关键词:多线程树莓派智能交通

都飞翔 杨静 史健芳

摘 要: 针对目前智能交通发展迅速,功能扩展要求较高,一般框架搭建的智能交通控制平台功能较为单一,提出基于Flask框架的智能交通控制平台。Flask是随着Python兴起的一种小型可扩展框架,功能可根据相应的扩展包進行扩展,从而构建B/S模式智能交通控制系统。该控制系统可以通过IPv4或IPv4映射后的IPv6地址进行Web访问登录,并进行方案选择,数据查询与控制进行多线程独立分开,互不影响,从而更加便捷地实现双协议远程控制。

关键词: Flask; 智能交通; 树莓派; B/S; 远程控制; 多线程

中图分类号: TN876?34; TP39 文献标识码: A 文章编号: 1004?373X(2018)13?0088?04

Abstract: With the rapid development of intelligent transportation, the higher requirement is proposed for functional expansion, but the function of the generally?established intelligent traffic control platform is relatively single. Aiming at this problem, an intelligent traffic control platform based on Flask framework is proposed. Flask is a small scalable framework, which is developed with Python. The function of the framework can be extended according to the corresponding extension package, so as to construct the B/S mode intelligent traffic control platform. The Web access and login, and scheme selection are performed for the control system through IPv4 address or IPv6 address after IPv4 mapping. The data query and control are independently separated for multithreading, and mutually affected, which can realize the dual?protocol remote control conveniently.

Keywords: Flask; intelligent traffic; Raspberry Pi; B/S; remote control; multithreading

0 引 言

当前我国城市和城市交通的发展处于挑战和机遇并存的关键历史阶段[1]。一方面,随着城镇化、机动化的持续快速发展,城市交通拥堵加剧、事故频发,面临着严峻挑战;另一方面,我国城市处在老城改造、新城建设的城市大发展时期,是实现智能交通的最佳时机。智能交通的主要特点是将先进的信息技术、数据通信传输技术、电子控制技术、传感器技术以及计算机处理技术等有效的综合用于整个交通系统,从而建立起一种在大范围内、全方位发挥作用的实时、准确、高效的智能交通综合管理系统。其目的是使人、车、路密切配合、和谐统一,极大地提高交通运输效率,保障交通安全,缓解交通问题,改善环境质量和提高能源利用率。

树莓派Raspberry Pi支持多语言编程[2],功能强大,便于携带且性价比高。树莓派的灵巧和其强大的扩展性,使它可以应用在多个领域。基于树莓派的智能交通控制平台,就是树莓派在智能交通上的新应用。同时,树莓派官方强调最适合的编程语言是Python,所以这里将基于Python的Flask框架与树莓派相结合[3],Flask是一种微小框架[4],它具有极强的可扩展性,从而使开发变得简单易行且无冗余功能。本文所提及的智能交通信号灯控制系统使用了基于Raspberry Pi硬件平台,通过Web服务展现给用户,该平台采用Web服务器[5?6]、控制系统、数据库于一体的控制体系,通过在服务端构建Flask环境,形成B/S工作模式,客户可以通过浏览器就可以远程控制系统。

1 Flask开发环境搭建

Flask是基于Python的框架,编程语言使用Python,需要搭建一个Python集成开发环境,本文直接使用树莓派官方自带的Python 3.5进行开发。安装Flask最便捷的方式是使用虚拟环境。虚拟环境是Python解释器的一个私有副本,这个环境安装的扩展包不会与全局的解释器相互影响。安装及配置如下[7?8]:

$ python?m venv myvenv

$ source venv/bin/activate

$(venv)$ pip install flask

第一行为创建虚拟环境,第二行为激活虚拟环境,第三行为在虚拟环境中安装Flask。

同时需要将主要的扩展包进行安装[9]:

$(venv)$ pip install flask?bootstrap

$(venv)$ pip install flask?sqlalchemy

$(venv)$ pip install flask?mail

这三行代码主要将网页框架、数据库管理、邮件扩展包进行安装。

猜你喜欢
多线程树莓派智能交通
Java并发工具包对并发编程的优化
基于物联网的智能交通系统架构
智能安全防盗探测小车
基于支持向量机的车牌字符识别方法
基于多线程文件传输关键技术研究与实现
智能交通中的车辆检测专利技术综述
网页爬虫技术的关键技术研究探索
一种基于多线程的高速磁盘镜像算法