25 Star 66 Fork 23

青岛迪迪车联信息技术有限公司 / 轻车车联网

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
GPL-2.0

轻车车联网网关 bartender

轻车
不仅仅是TCP/UDP网关。轻车车联网基于Spring Boot 2.x技术,将硬件接口的复杂对接转化为简单易用的接口和消息推送方式,具备设备管理、数据分析和消息推送等多种能力,可广泛应用于各种车辆监管场景和应用平台。

bartender作为本网关的接口服务,能够为车辆联网监管和部标标准的实现提供强有力的支持,助力车辆监管的智能化和规范化。

接口已发布Apifox APIHub,在线调试更方便

轻车车联网Apifox 在线调试

软件架构

轻车车联网网关架构

产品线路图

轻车车辆网网关线路图

系统配置要求

配置项 规格
CPU内存 1w台设备以内2核4G
硬盘 每100台设备1年20G
操作系统 Linux

支持设备类型

设备类型 协议
康凯斯有线/OBD接电设备 康凯斯私有协议
奇果OBD设备 奇果私有协议
零一OBD设备 零一私有协议
车葫芦OBD设备 车葫芦私有协议
车易控行车记录仪 JT808部标协议
合正行车记录仪 合正私有协议
新源润无线设备 新源润私有协议
ADAS设备 JT1078部标协议

支持报警类型

类别 报警项
设备自带报警 电瓶拆除报警、非法拆除报警、震动报警、
风险地点报警、防劫持报警、开盖报警、
位移报警、pseudo base station报警
异常驾驶行为-疲劳/打电话/抽烟
平台判断报警 超速报警、进敏感区域报警、出敏感区域报警、
掉线报警、停车超时报警、分离报警、
出省报警、敏感区域停留报警、未进常用区域超时报警、
原地设防报警、进电力围栏报警、
出电子围栏报警、围栏内报警、围栏内停车超时报警

名词说明

概念 定义
报文 硬件上行数据,例如定位、心跳、报警、OBD等信息。
服务器时间 平台接收报文时间。
定位时间 报文中GPS定位时间,即硬件使用自身GPS模块获得的GPS定位时间。
在线/离线状态 平台收到硬件最后一条报文10分钟后,更新设备状态为离线。上报报文期间为在线。
停车/行驶状态 时速大于5视为行驶,否则停车。离线时设备速度为0。
里程 根据上报定位点,按GPS时间排序,累加定位点间距获得。
停留点 从开始停车到行驶的一段时间视为停留点,停留时长最少10分钟。
轨迹 将历史定位数据按定位时间排序绘制的路线。
轨迹分段 将轨迹分隔为多个行程段。分隔条件默认为,点间距超过10米,定位时间间距超过15分钟。

安装说明

下载 docker-compose.yml 以及 lvn_bootstrap.sh,如果需要自定义可以使用文本编辑器对其中的参数进行自定义,两个文件放置在相同目录。

快捷安装

直接运行lvn_bootstrap.sh,适用于新服务器直接部署运行,会自动安装相关依赖的环境如docker、docker-compose

自定义安装

如已安装对应环境,可跳过该步骤,顺序执行下一个

安装docker

sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装docker-compose

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m) >/usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

添加项目私库地址

echo '{ "insecure-registries": [ "123.234.31.106" ],  "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn", "https://registry.docker-cn.com" ] }' >>/etc/docker/daemon.json

启动docker

systemctl start docker
systemctl enable docker.service

定义环境变量

export \
  LVN_DEPLOY_PATH=/user/local/lvn/ \
  LVN_CLIENT_ID=yiqiyongche \
  LVN_CLIENT_SECRET='$2a$10$FsEwMOG57LvYUzZMehWnperN1nXnWXZLLWM516HFXn7rMPEoS4Da.' \
  LVN_APP_CODE=03pf80c2bae96vc49b80b917bea776d7123123asfasfas
  • LVN_DEPLOY_PATH: 项目日志以及持续化文件保存的地方
  • LVN_CLIENT_IDLVN_CLIENT_SECRETLVN_APP_CODE:填写项目授权或试用时分发的KEY、CODE

使用账号密码登录docker私库

docker login -u admin -p Harbor12345 http://123.234.31.106

启动

docker-compose up -d

定义声明

端口定义

  • 9000,网关服务端口
  • 9010,授权服务端口
  • 8012,应用服务端口
  • 7005,告警处理服务端口
  • 12061,部标协议TCP端口
  • 3306,Mysql数据库端口
  • 6379,Mysql数据库端口

环境变量

环境变量 作用 是否必填 示例
LVN_DEPLOY_PATH 部署目录,日志以及持久化文件会存储在此目录 /user/local/lvn/
LVN_CLIENT_ID 终端ID 必填 yiqiyongche
LVN_CLIENT_SECRET 终端秘钥 必填 xxxxxx
LVN_BAIDU_GEO_KEY 百度逆地理编码key 必填 xxxxxxx,xxxxx
LVN_GAODE_WIFI_KEY 高德智能定位解析key 非必填 xxxxxxx,xxxxx
LVN_GAODE_LBS_KEY 高德lbs解析key 非必填 xxxxxxx,xxxxx

** 本项目逆地理编码、基站解析、热点解析调用两大地图商(百度和高德)的api,调用秘钥(key)需按调用量需求申请对应的配额,代码内默认使用了个人版key,不支持生产环境。 https://lbsyun.baidu.com/apiconsole/center#/home https://console.amap.com/dev/key/app

使用说明

1. API鉴权

初次使用时我们会提供调用终端的鉴权信息client_idclient_secret,调用鉴权接口可获取凭证access_token,之后便可开始使用其他业务API接口。 输入图片说明

鉴权接口 POST /oauth/token

此接口返回的token_type和access_token使用' '(空格)连接后,在请求header中携带调用业务接口。

请求参数

名称 位置 类型 必选 说明
grant_type query string 固定参数
client_id query string 客户端ID
client_secret query string 客户端密钥

成功返回示例

{
  "access_token": "this_is_an_example_access_token",
  "token_type": "bearer",
  "expires_in": 40528,
  "scope": "all",
  "jti": "483fb3cf-e63b-415d-93bd-bdd4f12a8213"
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline

返回数据结构

名称 类型 必选 约束 中文名 说明
» access_token string true none 鉴权token none
» token_type string true none 鉴权类型 none
» expires_in integer true none 多少秒后token过期 none

2. 设备接入与消息接收

系统搭建完成后,若使用第三方硬件,需将硬件配置到对应协议的TCP(UDP)上线端口,若使用我司设备,可联系客服配置。 如图所示,首先添加设备以确保设备上线,若需接收设备实时定位和告警,需开启事件推送。 输入图片说明

设备-添加接口 GET /devices/syn

支持相同型号批量添加,使用默认参数,可绕过鉴权。

请求参数

名称 位置 类型 必选 说明
clientId query string 客户端ID
categoryNo query string 设备型号,长名称
deviceNums query string 设备号,批量使用逗号间隔

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline

设备-批量启停推送接口 GET /devices/batch

若设备导入时没有指定启用状态,则默认启用,不需要批量启用。若导入时指定设备初始状态为停用,则需要使用该接口控制,停用时,不推送定位状态、事件信息。

请求参数

名称 位置 类型 必选 说明
devices query string 需要启停的设备编号,多个时用逗号间隔
isEnable query string 0:启用 1:停用

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline

3. 验证设备上线

设备位置-运维查看设备位置状态接口 GET /opt/location

运维使用查询设备最新定位状态,当设备号不存在时提示“设备号不存在”

请求参数

名称 位置 类型 必选 说明
deviceNum query string none

成功返回示例

{
  "code": 200,
  "data": {
    "categoryNo": "DO90",
    "categoryNoShort": "DO90",
    "createTime": "2022-07-27 05:12:00",
    "deviceNum": "868120250375836",
    "direction": 28,
    "directionName": "东北",
    "gpsTime": "2022-07-26 16:14:49",
    "isMoving": 0,
    "latBd": 29.116056,
    "latGc": 29.109734,
    "lngBd": 119.654767,
    "lngGc": 119.648356,
    "locMode": 9,
    "satCount": 15,
    "speed": 0,
    "startTimeMovingStop": "2022-06-23 07:45:53",
    "startTimeOnOffLine": "2022-07-27 05:12:00",
    "wifiFlag": 1
  },
  "message": "",
  "success": true
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline

返回数据结构

名称 类型 必选 约束 中文名 说明
» code integer true none none
» data object true none none
»» categoryNo string true none 设备类型 none
»» categoryNoShort string true none 设备类型短名 none
»» createTime string true none 创建时间 none
»» deviceNum string true none 设备号 none
»» direction integer true none 方向 none
»» directionName string true none 方向描述 none
»» gpsTime string true none 定位时间 none
»» isMoving integer true none 行驶中状态 行驶:1;停车:0 none
»» latBd number true none 百度坐标纬度 none
»» latGc number true none 高德坐标纬度 none
»» lngBd number true none 百度坐标经度 none
»» lngGc number true none 高德坐标经度 none
»» locMode integer true none 定位方式 0-GPS;1-LBS单基站;2-LBS多基站;5-WIFI;9-不定位 none
»» satCount integer true none 卫星数 卫星个数 none
»» speed integer true none 速度 none
»» startTimeMovingStop string true none 行驶/停车 + 起始时刻 年月日 时分秒 none
»» startTimeOnOffLine string true none 在线/离线起始时刻 年月日 时分秒 none
»» wifiFlag integer true none 设备类型 1:有线 none
» message string true none none
» success boolean true none none

4. 多媒体库

设备上报照片、视频存储到本地/media/下,可配置nginx便于通过url访问

nginx配置示例

server {
	listen       7001;
	location /media/lib {
		alias  /media;
		autoindex on;
	}
}

常见问题

设备在线总数和各端口在线数

可根据各端口实时在线数量粗略判断端口健康状态,当某端口车辆较少或当前时间大部分车辆在停车状态,则不足以判断端口健康情况。可参考以下SQL query查询在线数量。


SELECT COUNT(p.ALM_OFFLINE = 0 AND (p.ISSLEEPING=0 OR p.ISSLEEPING IS NULL) OR NULL) AS '在线总数' 
FROM dd_new.position p;

SELECT p.TAG as '端口',
COUNT(p.ALM_OFFLINE = 0 AND (p.ISSLEEPING=0 OR p.ISSLEEPING IS NULL) OR NULL) AS '在线数',
COUNT(*) AS '累计上线数量',
MAX(p.CREATE_TIME) AS '最新服务时间',
NOW() AS '当前时间',
IF(TIMESTAMPDIFF(SECOND,MAX(p.CREATE_TIME),NOW()) <= SECOND(3), '正常', 
IF(COUNT(p.ALM_OFFLINE = 0 AND (p.ISSLEEPING=0 OR p.ISSLEEPING IS NULL) OR NULL) < 100, '设备较少', '异常')) AS '端口健康' -- 该阈值需根据活跃车辆数进行调整
FROM dd_new.position p
GROUP BY p.TAG
ORDER BY MAX(p.CREATE_TIME);

设备不上线问题

定位更新回调接收不到该设备数据,或超过30分钟没有新数据。

运维建议:

  1. 确认设备是否已通电,车辆正常行驶。
  2. 与网络运营商确认物联网卡为可用状态。
  3. 避免将车辆置于地下停车场等信号差的位置,参看设备说明书,根据指示灯判断,确认网络信号良好,GPS信号良好。

设备定位不准问题

车辆于地图定位与实际位置有偏差。

运维建议:

  1. 确认车辆正常行驶,否则可能导致设备断电。
  2. 确认定位更新回调接收该设备数据正常,若无更新,怀疑存在设备不上线问题。
  3. 若回调数据中定位标识AV=V,说明设备搜索不到卫星信号,GPS定位失败,建议开车移动到信号较好的位置。

联系我们

输入图片说明

GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. <one line to give the program's name and a brief idea of what it does.> Copyright (C) <year> <name of author> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.

简介

不仅仅是TCP/UDP网关。轻车车联网基于Spring Boot 2.x技术,将硬件接口的复杂对接转化为简单易用的接口和消息推送方式,具备设备管理、数据分析和消息推送等多种能力,可广泛应用于各种车辆监管场景和应用平台。 bartender作为本网关的接口服务,能够为车辆联网监管和部标标准的实现提供强有力的支持,助力车辆监管的智能化和规范化。#车联网 #网关 #部标 #车辆监管 #车辆管理 展开 收起
Java
GPL-2.0
取消

发行版 (5)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/diditech/diditech-iov-bartender.git
git@gitee.com:diditech/diditech-iov-bartender.git
diditech
diditech-iov-bartender
轻车车联网
master

搜索帮助