车载GPS设备对接java记录
车载GPS设备对接java记录
公司一个项目需要系统与车载GPS设备对接,获取设备的坐标和看到设备的监控视频画面,对接过程在此简单的记录一下(本文只涉及最简单的基础,深入的本人一点都没有进行研究)
涉及到的知识
本次设备设备对接涉及到的知识有:JT1078、JT808、kafka;jt1078和jt808我是从GitHub上找的开源代码,如果说对这部分很熟悉的可以自己写。
JT1078:流媒体服务器,用于接收、处理车载GPS设备推送过来的视频流,并展示出来
JT808:用于接收、解析车载GPS推送过来的坐标信息,向指定的设备发送查看视频的指令
kafka:jt808获取车载GPS设备坐标的时候推送到kafka,系统通过kafka获取坐标。jt1078、jt808没有跟系统结合在一块,是独立出来的两个小程序
工作流程
1、对车载GPS设备设置数据推送服务器IP(JT808),视频流数据推送服务器IP(JT1078)
2、JT808拿到数据根据协议进行解析,获取车载GPS坐标,将坐标数据推送给kafka(包含设备ID)
3、系统从kafka获取坐标数据,将数据存储到对应的数据库
4、系统对某个设备点击播放视频,将设备ID传输给JT808指定的接口,此接口给设备发送查看视频指令,车载GPS设备将视频流数据推送给JT1078,系统调用JT1078的显示视频的页面进行查看
详细流程步骤
一、对车载GPS设备设置JT808连接:设置JT808服务器的IP和端口号
备注:本人用的是中心3协议,部标2。其余没做研究
二、对车载GPS设备设置JT1078连接:设置JT1078服务器的IP和端口(从上图点击FTP设置进去)
备注:本人只修改了IP和端口,其余没做修改
三、JT808配置kafka
1、pom文件引入
<dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId></dependency><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-streams</artifactId></dependency>
2、kafka配置
spring:kafka:bootstrap-servers: kafkaIP和端口producer:# broker回复发布确认的方式acks: all# 当发送失败时重试几次retries: 0# Producer是采用批量的方式来提高发送的吞吐量量的,这里指定批大小,单位字节batch-size: 16384# 存放数据的buffer的大小buffer-memory: 33554432# 消息数据的序列化器value-serializer: org.springframework.kafka.support.serializer.JsonSerializerconsumer:# 设置消费组group-id: jt808-consumer-group# 当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费auto-offset-reset: earliest# 如果此值设置为true,consumer会周期性的把当前消费的offset值保存到zookeeper。当consumer失败重启之后将会使用此值作为新开始消费的值enable-auto-commit: true# 自动消费offset提交的间隔时间auto-commit-interval: 1000
四、JT808发送数据,将获取的数据通过kafka推送到指定的topic
五、JT808发送查看视频指令
备注:系统调用指定的接口,传入设备ID即可
@ApiOperation(value = "视频实时播放", tags = "其他")@PostMapping("video")public T9101 video(@ApiParam("终端手机号") @RequestParam String clientId) {T9101 request = new T9101();request.setHeader(new Header(clientId, JT808.视频实时播放));request.setIp("223.83.4.94");request.setTcpPort(1078);request.setUdpPort(0);request.setChannelNo(1);request.setDataType(1);request.setStreamType(0);T9101 response = messageManager.request(request, T9101.class);return response;}
六、JT1078播放视频
备注:在浏览器里打开http://localhost:3333/test/multimedia#SIM-CHANNEL (注意替换掉后面的SIM和CHANNEL,即终端的SIM卡号,不足12位前面补0,CHANNEL即为通道号)
车载GPS设备对接java记录相关推荐
- 一款车载GPS定位产品后端服务器架构的填坑之路(一)
文章名字取得有些唬人.这里说"架构"二字也是有些夸大,其实也就是实现一些简单的位置解析功能.数据存储等功能.整理出来,也只是给后来者一些借鉴.希望看到的能够去除糟粕,取其精华. 2 ...
- 利用车对车通信定位欺骗攻击车载GPS
由于报告的攻击事件越来越多,GPS欺骗是一个受到越来越多关注的问题.许多关于检测GPS欺骗攻击存在的结果已经被报道.然而,目前对欺骗攻击者的定位研究还很少,而欺骗攻击者的定位是对抗GPS攻击的关键.在 ...
- 如何挑选一台好的车载GPS定位器
无论走哪条路,车载GPS都可以带您到达目的地,并且更省时,更方便.车载gps的不同主要体现在质量与内置功能上.GPS是必不可少的汽车配件,因为它可以为您指明正确的方向.过去,旅行者每次搜索城市或旅游地 ...
- 车载GPS等基于部标通信协议的开发方案
交通部过检的808.809是车辆监控系统必须过检的功能,做车载的企业基本都围绕这两个协议做底层的封装,无非展示方式不同而已.对于一家做导航定位的企业,解析通信协议必须是最能够体现能力和耐心的一件事,必 ...
- 电信物联网开放平台_NB-IoT业务对接 Java 后台、Android 前端已完成预研
电信物联网开放平台_NB-IoT业务对接 Java 后台.Android 前端已完成预研 一.NB-IoT : 硬件设备 BC28模组 二.Java 后台: SSH集成电信物联SDK.极光推送SDK. ...
- 车载gps位置服务器,车载GPS监控系统工作原理简介
随着经济的高速发展,汽车的社会拥有量急剧上升,各单位的车辆管理调配问题比较突出.与此同时,劫车.盗车等危害社会治安.影响社会稳定的各种现象逐年上升.车辆安全监控管理系统不但可以为有关单位及个人对其拥有 ...
- 基于Qt的车载GPS监控系统(2)需求分析
基于Qt的车载GPS监控系统(2)需求分析 嵌入式开发培训(阶段3)嵌入式图形应用开发视频地址 冷链车载GPS监控系统 视频地址 项目实践流程: 1.设计项目需求文档 说明项目设计目的,项目功能,项目 ...
- 笔记-GPS设备定位方式
1. 背景 最近接触到的GPS设备有点多,逐渐明白大家定位的机理,也结合网上的文章<GPS.WiFi.基站.AGPS几种定位原理介绍与区别> 来做一个简单的总结. 2. 基于GPS定位 ...
- 交通物流模型 | Python实现基于张量分解的交通流量时空模式挖掘(出租车车载GPS数据、公交卡刷卡数据、POI的分布数据)
文章目录 效果一览 文章概述 研究内容 源码设计 参考资料 效果一览 文章概述 一般出行行程通常都由某种明确目的驱使,例如上班.购物或娱乐,出行的起始区域因其承担功能的不同,通常能够反映出用户的出行目 ...
- 什么是陀螺仪的dr算法_陀螺仪和加速度计融合论文范文 有关车载GPS/DR组合导航系统的DR算法毕业论文写作资料...
简介:关于本文可作为加速度计陀螺仪方面的大学硕士与本科毕业论文加速度计陀螺仪论文开题报告范文和职称论文论文写作参考文献下载. 赵艳飞 张树君 (北京交通大学计算机与信息技术学院 北京 100044) ...
最新文章
- NBUT 1457 Sona(莫队算法+离散化)
- 使用宝塔面板进行wordpress建站
- 【STM32】SPI程序示例
- 做一个优秀的项目/产品经理
- 画流程图activiti流程图_干货!小白也能一天画100张高逼格流程图
- 多台电脑集群运算_一个分布式服务器集群架构方案
- android 读取文件内容,Android读写文件 获取文件并读取写入数据
- 在 for 循环里写加号拼接字符串的那个同事,不见了~
- 分享5款提高工作效率的CAD插件,总有一款适合你
- 好看的php表格样式,四个好看的CSS样式表格 | 学步园
- 软件篇 之 Mac 安装 PS 19.1.8 并破解。。。
- 热力图pycharm
- EOS Error 3090003: provided keys, permissions, and delays do not satisfy declared authoriz
- 流文件和媒体文件的不一样( flv和mp4,avi的区别)
- jzoj5935小凯学数学
- 苹果xr配置_5000元以内苹果手机推荐:11、XS、XSMax怎么选?
- cml sml区别_资本资产定价模型中cml与sml有什么区别?
- 2M误码仪都有哪些功能? TFN T1000M数据误码传输测试仪
- 用松鼠顺利地部署您的应用程序
- 利用python实现星座运势查询APP
热门文章
- html语言怎么插入视频,如何在HTML5网页中插入 Video(视频)
- duxcms在phpnow环境 做301重定向跳转(将junbaike.com域名301重定向到www.junbaike.com域名)
- c语言鼠标滚动条,xtraScrollableControl 滚动条随鼠标滚动
- acwing每日一题-战舰
- CVPR 2021 预讲 · 华为诺亚专场,5 篇精华报告,覆盖NAS、蒸馏、检测和降噪
- [最新] Android 代码规范大全(Android开发速看)
- 微博营销的价值与注意点
- 漂亮的聊天软件网页HTML5模板源码下载
- html设置尖角,CSS为div添加尖角样式
- Android9怎么截图,华为mate9怎么截图/截屏 华为mate9多种截屏方法图文教程