[开源]现代交通信号控制系统,可对接多种协议的交通信号控制设备

开源系统流程管理
2026-06-28 03:32 1 次浏览 • 0 次下载 0KB
[开源]现代交通信号控制系统,可对接多种协议的交通信号控制设备

一、开源项目简介

OpenATC-Admin

这是一款开源的现代交通信号控制软件,可应用于小型、大型、特殊路口等多种场景,并且包含了灯控、检测、故障以及用户管理等多种功能,快来使用它吧!

二、开源协议

使用MulanPSL-2.0开源协议

三、界面展示

界面展示

四、功能概述

OpenATC开源交通信号控制平台,主要为城市交通提供实时控制的软件及与软件兼容的信号机,所开发的系统适合国内大、中、小城市的各类交通控制中心。

OpenATC开源交通信号控制平台是全新开发的一套软件产品,开发中一面研究自适应混合交通控制理论,一面广泛研究国内外同类产品,特别是借鉴SCOOT、SCATS等先进系统的经验,力争使本产品达到国际领先水平,并充分满足中国智能交通的需要。

该平台是一个开源的智能路口交通控制系统,因此更着重于知识充分共享,给其他行业开发者以及科研院所中的研究者进行学习与创意接力,从而起到有利于推动整个智能交通行业发展的作用。

OpenATC管理平台,包含设备管理,设备配置,权限管理,绿波路线,勤务路线等多种功能。通讯协议开源开放,支持对接多种协议的交通信号控制设备。具有最实用的信控优化算法,并可对接OpenATC虚拟环境,对更高级的信控算法进行扩展和验证。

五、技术选型

准备工作

在进行开发之前,您需要安装以下程序:

  • git
  • Java 1.8+
  • Maven 3.3.9+
  • npm 5 or above
  • Vue

前端部分

技术栈

Component

技术

框架

Vue

构建工具

npm

UI

element-ui

语法

ES2015+

HTTP客户端

axios

开发环境部署


``` bash
# 克隆项目
访问一飞开源:https://code.exmay.com/ 下载

# 打包OpenATC-Config-web项目(该项目为平台主项目的组件项目,故需要提前打包,不然直接编译会出现找不到edgebase-front依赖包的情况。)
npm install
npm run package

# 安装OpenATC-Admin-web主项目依赖
npm install

# 建议不要用cnpm  安装有各种诡异的bug 可以通过如下操作解决npm速度慢的问题
npm install --registry=https://registry.npm.taobao.org

# 启动服务
npm run dev

# 访问
访问地址为:http://localhost:9528

# 构建测试环境
npm run build:stage

# 构建生成环境
npm run build:prod

# 预览发布环境效果 + 静态资源分析
npm run preview  --report
```

具体流程参考 REAMDE.md 文档。

注意:


isShowGisMenu 控制地图是否显示,默认不显示。
gisNormal 是2D地图服务参数,需要自行。
gisStatellite 是3D地图服务参数,需要自行配置。
目前可支持OSM地图、高德地图和百度地图。
例如高德地图,离线地图配置,详情参考:REAMDE.md 文档

后端部分

技术栈

Component

技术

框架

SpringBoot

安全

Shiro + JWT

数据库

PostgreSQL(10.1+)

持久化

JPA

构建工具

Maven (3.5.2+)

JDK

1.8

具体流程参考 REAMDE.md 文档。

注意

  • 为了方便开发,我们提供了这种前后端分离的部署模式,主要的好处是支持前端热部署,在这种模式下,前端会通过9528端口访问后端的restful api接口,获取数据, 这将导致跨域访问的问题。因此我们在OpenATC-admin-ui/config/index.js添加了支持跨域访问的配置,当前端通过npm run dev单独启动时,这些配置将被激活,允许跨域访问