物联网
文章平均质量分 64
大鱼>
专注于物联网开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
按时间删除MongoDB中按时间命名的Collection
【代码】按时间删除MongoDB中按时间命名的Collection。原创 2025-12-29 22:53:18 · 191 阅读 · 0 评论 -
系统集成TOTP实现多因素认证
TOTP 是基于时间的一次性密码算法(Time-based One-Time Password)的缩写,是一种广泛应用于双因素认证(2FA)的密码生成标准,核心是通过「共享密钥 + 当前时间」计算出短期有效的一次性密码,解决静态密码易泄露、易被复用的问题。原创 2025-12-02 10:49:14 · 424 阅读 · 0 评论 -
Java SpringBoot 对接FreeSwitch
【代码】Java SpringBoot 对接FreeSwitch。原创 2025-07-20 20:11:27 · 470 阅读 · 0 评论 -
FreeSWITCH 配置
FreeSWITCH 的配置文件位于directory/dialplan/vars.xml。原创 2025-07-20 20:02:54 · 1012 阅读 · 0 评论 -
Ubuntu 部署 STUN 与 TURN 服务器
在 Ubuntu 系统上部署 STUN 和 TURN 服务器,通常使用 coturn 工具,它是一个开源的 STUN/TURN 服务器实现,功能全面且易于配置。原创 2025-07-20 20:02:37 · 1686 阅读 · 0 评论 -
FreeSwitch编译部署
将所有需要的组价都放在/opt/FreeSWITCH目录下,包括后面的FreeSWITCH源码。如果网络连接有问题,检查防火墙设置:(如果是云服务器,请查看安全组规则)先安装weget,如果已经安装了则这步骤可以可以省略。如果遇到模块加载失败需要检查。运行FreeSwitch后。如果声音质量不佳,检查。中的编解码优先级配置。中对应模块是否启用。原创 2025-07-20 20:00:55 · 627 阅读 · 0 评论 -
基于Netty开发Teltonika DMS服务
这次搞点不一样的东西,根据国外的客户需求,接入了一款在国外出货量最大的厂家Teltonika的DMS。他们也是采用文件流的方式,将一个文件分包进行传输,这块与国内的苏标ADAS协议一样。区别是启动传输的流程不太一样,而且个人觉得他们这个协议不如苏标ADAS协议完善,当然对于开发来说也简单些。原创 2025-06-16 23:49:12 · 332 阅读 · 0 评论 -
HJ212环境质量检测开发
HJ212 协议是应用于环境监测领域的一种数据传输标准协议。定义了监测设备与数据采集服务器之间的通信流程,包括数据传输、控制指令传输等环节,确保通信的可靠性和稳定性。广泛应用于大气和废气环境监测、水和废水监测、固体废弃物监测、土壤监测、生物污染监测、环境噪声监测、环境放射性监测等多个环境监测领域。例如,在污水处理厂、垃圾填埋场、工厂废气排放口等场所的监测设备,都需要按照 HJ212 协议将监测数据传输到环保部门的监控平台。原创 2024-11-18 18:41:51 · 2732 阅读 · 1 评论 -
JT/T1078、GB/T28181流媒体对讲支持开发说明
MediaServer流媒体服务器,是为满足JT/T 1078道路运输车辆卫星定位系统视频通信协议、GB/T 28181公共安全视频监控联网系统的国家标准,开发的流媒体服务器,用于接入终端的实时音视频流,并转换为可在Web页面或播放器播放的流媒体数据,供客户端调用及音视频播放。同时满足RTSP、RTMP等裸码流推拉流支持。原创 2024-10-28 14:37:36 · 2214 阅读 · 0 评论 -
Java(SpringBoot)利用Postgresql+Postgis进行空间地理信息分析(道路偏移,进出电子围栏等)
之前写过一篇相同的文章,里面代码是基于C#语言《》,之后有不少同学问到有没有Java语言的,去年有个项目刚好有封装。在这里记录一下。原创 2024-10-10 10:09:15 · 1284 阅读 · 0 评论 -
部标主动安全(ADAS+DMS)对接说明
上一篇介绍了,这里说一下如何对接主动安全附件服务器。流媒体的对接主要牵扯到4个方面:(1)平台端:业务端系统,包含前端呈现界面。(2)JT/T808网关:部标设备接入网关,这个是非常重要的,是设备与平台进行数据交换的桥梁,流媒体相关的指令操作也必须依赖它完成。(3)部标视频机:符合JT/T808协议的车载视频机器。(4)流媒体服务:符合苏标、粤标、川标、陕标协议的主动安全附件服务,接收文件流,并存储。原创 2024-09-27 13:01:10 · 1948 阅读 · 1 评论 -
Teltonika FMXXX系列定位器解析说明
Teltonika FMXXX系列协议解码原创 2024-07-31 10:35:01 · 861 阅读 · 0 评论 -
GB28181语音对讲实现
我这里使用的是开源的wvp-GB28181-pro项目,首先将设备接入到SIP网关服务。原创 2024-07-16 15:12:23 · 2733 阅读 · 2 评论 -
基于JT/T808、JT/T1078、苏标、粤标视频主动安全监控
如下图是以实时视频点播与部标机产生了主动安全报警,各个服务之间的交互流程说明。整个系统有以下几个核心组件组成:1:系统业务端:车载监控业务系统,给用户提供车载监控整套业务流程与界面呈现;2:JT/T808网关:用来接入部标设备,通过TCP通讯在服务器与设备之间建立长连接进行实时数据交互,比如部标设备的定位数据、报警数据都是通过此应用上传到系统;原创 2024-05-27 15:08:22 · 1165 阅读 · 0 评论 -
基于物模型的车辆、货物、资产监控系统研发
我们在做资产监控的时候,被监控的对象并非某个固定的业务,比如可能是:车载、人员、货物、冷箱等等。在开发资产监控系统的时候如何针对不同的设备应用场景在系统中给出不同的界面呈现效果则是非常必要的。这时候,我们就需要针对设备监控的对象给出模型划分,根据设备上报的数据属性动态返回数据源。原创 2023-12-25 10:52:07 · 1230 阅读 · 3 评论 -
Java实现音频转码,WAV、MP3、AMR互转
最近在集成一款产品支持语音双向对讲,首先是采集小程序的音频下发给设备端,然后可以控制设备录音生成音频链路让小程序播放。在这个过程中发现,设备除了AMR格式的音频外,其他的音频都不支持,而微信小程序有不支持AMR格式的音频文件,所以这里需要进行音频转码。原创 2023-11-12 12:13:50 · 3290 阅读 · 0 评论 -
Jt808应答举例
Jt808协议指令封包过程说明原创 2023-10-31 13:24:53 · 968 阅读 · 0 评论 -
Java 音频处理,音频流转音频文件,获取音频播放时长
最近对接了一款智能手表,手环,可以应用与老人与儿童监控,环卫工人监控,农场畜牧业监控,宠物监控等,其中用到了音频传输,通过平台下发语音包,发送远程命令录制当前设备音频并将音频分包传输到服务器上生成音频文件等。其中关于音频的一些简单操作封装成了工具包。原创 2023-10-26 13:10:14 · 2181 阅读 · 0 评论 -
SpringBoot 集成Shell命令实现系统日志查询并通过API返回给前端
在做物联网项目中,为了方便产品测试人员以及第三方产品集成商能通过系统快速获取设备原始数据,因此考虑在物联网终端管理平台增加读取物联网通讯服务记录的终端日志的功能。我的想法是直接通过Java操作Linux服务器的Shell命令,读取日志文件里面的上下行数据。原创 2023-03-05 21:47:31 · 910 阅读 · 0 评论 -
物联网架构实例—Ubuntu 安装MongoDB及完全卸载
apt-key用于管理apt用于验证软件包的密钥列表,已经使用这些密钥验证的软件包将被视为可信。通过刚刚创建的管理员账户连接到我们刚刚安装的MongoDB,此时会有默认的三个系统库。如果执行命令的过程发现有残留文件,则可以执行 rm -r 命令将其移除。如果这时候我们执行show dbs,不会显示我们刚刚创建的数据库。因为我们刚刚创建的管理员账户是admin,密码:123456。因为还未创建过自己的数据库,所以这里还是默认的三个库。再执行show dbs就可以看到刚刚创建的数据库了。原创 2023-01-06 22:00:10 · 1880 阅读 · 1 评论 -
物联网架构实例—Ubuntu 安装Redis
Redis 安装及配置修改,物联网套件的组件之一,作为后续翻阅记录原创 2023-01-06 09:39:17 · 537 阅读 · 0 评论 -
物联网架构实例—Ubuntu 安装RabbitMQ
Ubuntu一步步安装RabbitMQ,包含安装过程中遇到的问题及解决办法,以供后续翻阅。原创 2023-01-03 14:02:08 · 3528 阅读 · 0 评论 -
物联网架构实例—Ubuntu 安装Java 13详细教程
我们可以使用xftp工具将Java环境压缩包上传到服务器的opt目录下,并在opt目录下创建java目录,并给目录设置所有权限。我们可以使用xftp通过界面UI界面操作,也可以通过命令行操作。执行命令将java13解压完后,通过xftp可以看到Java目录下新增了一个jdk-13.0.1的目录2.配置环境变量修改然后保存退出即可使。原创 2022-12-29 14:11:25 · 440 阅读 · 0 评论 -
物联网架构实例—部标过检工具使用(物联网套件压测)
针对物联网套件进行压测时使用到的部标过检工具,这个工具是企业部标平台过检时使用的一个工具,具有一定的标准性,对平台承载能力的一个合理的评判。原创 2022-12-27 13:39:43 · 1080 阅读 · 5 评论 -
C#修改富文本框(RichTextBox)指定内容颜色
C#解包与组包工具,针对的是非严格的808协议,主要是记录对拆包呈现样式的一次问题记录原创 2022-12-17 12:53:35 · 8461 阅读 · 0 评论 -
物联网架构实例—解决Linux(Ubuntu)服务器最大TCP连接数限制
在对物联网网关进行压测的时候,发现在腾讯云部署网关程序,设备接入数量只能达到4000多个长连接,之后就再也无法接入终端了。之前在阿里云部署的时候明明可以到达2万左右,而且腾讯云的这个服务器比阿里云的硬件配置还要高上不少,不至于那么差,随后查阅大量资料终于完美解决。原创 2022-12-16 21:39:46 · 3475 阅读 · 1 评论 -
基于Netty的UDP服务端开发
1.前言之前基于Netty做了一套TCP与MQTT的服务端,随着系统接入的终端类型越来越多,出现了UDP通讯的设备,虽然这样的设备并非主流,而且通讯机制存在问题,为了考虑系统的兼容性,只能将整套服务做全。2.UDP通讯优缺点UDP 是一种面向非连接的协议,面向非连接指的是在正式通信前不必与对方先建立连接,不管对方状态就直接发送数据。至于对方是否可以接收到这些数据,UDP 协议无法控制,所以说 UDP 是一种不可靠的协议。UDP 协议适用于一次只传送少量数据、对可靠性要求不高的应用环境。与原创 2022-03-25 09:32:42 · 1964 阅读 · 0 评论 -
流媒体开发—H.264/H.265裸流文件推流
之前开发过基于JT/T1078开发了一套流媒体服务,随着细分业务的延伸与客户的需求,希望我们能直接对H.264/H.265裸流文件通过rtmp/rtsp的方式进行推流与拉流。在对流媒体进行改造之后,我们采用ffmpeg进行推流,使用VLC进行拉流验证,过程如下。1.安装ffmpeg我这边使用的Windows环境进行验证1.1.下载ffmpeg下载安装包:https://github.com/BtbN/FFmpeg-Builds/releases我安装的是:ffmpeg-n4.原创 2022-02-10 15:40:02 · 3290 阅读 · 1 评论 -
Netty 实现高并发通讯原理理解
最近写了很多关于Netty应用级别的文章,针对为什么选择Netty来实现高并发通讯,Netty实现高并发通讯的原理是什么?今天有时间把我对Netty的一些理解做个简单的说明,如有不对欢迎指正与探讨。原创 2021-12-07 17:24:08 · 2370 阅读 · 0 评论 -
Netty ByteBuf 按位读操作
前言最近与一个刚接触Netty的学生关于Netty读字节流方面的操作进行讲解,可能对后来同学有点点帮助,所以整理出来供大家探讨。ByteBuf读操作 ByteBuf读操作我们常用的有一下几种:ByteBuf.readByte() 读一个字节,有符号ByteBuf.readUnsignedByte() 读一个字节,无符号 ByteBuf.readShort()读连续的两个字节,有符号ByteBuf....原创 2021-11-25 10:52:19 · 6220 阅读 · 0 评论 -
物联网组网技术优缺点对比:蓝牙、LoRa、wifi、NB-IoT、ZigBee等
1.前言最近对物联网产品自组网技术选型,找到合适的组网技术,让产品自行组网并完成数据的传输。2.参数对比原创 2021-11-01 14:39:45 · 41424 阅读 · 1 评论 -
Netty数据处理:拆包、组包实现
1.前言 最近一直找第三方产品对接,目前已经集成了40多款产品和20多种传感器,实现了不同协议下的针对粘包、半包数据的拆包、组包处理。2.为什么会出现粘包与半包数据 TCP通讯在物联网数据通讯中,目前仍然占据着绝大部分的市场,相比UDP来说,它更加可靠。因为TCP通讯是以二进制流的方式进行,中间是没有间隙的,如果数据传输频率过快则会出现粘包现象。在Netty机制里,传输的数据是存储在ByteBuf中,当我们在接收数据的时候,有可能会一次读取多个包的数据,也可能数据包长...原创 2021-10-30 16:35:27 · 5166 阅读 · 0 评论 -
基于SpringBoot整合Netty开发MQTT服务端
Netty认知Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,相比传统Socket,在并发性方面有着很大的提升。关于NIO,BIO,AIO之间的区别,可以参考这篇博客:NIO 、 BIO与AIO之间的区别_谁念西风独自凉-优快云博客MQTT服务端实现首先我们启动一个tcp服务,这里我用到了Redis与RabbitMQ,主要是与分布式WEB平台之间好对接@Componentpublic class ApplicationEventList.原创 2021-10-21 14:58:08 · 9978 阅读 · 12 评论 -
川标主动安全协议解析说明(T/SCSDX 0002-2021)
随着主动安全智能防控系统的推进,各个省市逐渐出现了地标主动安全智能防控系统,前端时间处理完粤标(广东省的道路运输车辆智能视频监控报警系统通讯协议,详情参考:https://blog.youkuaiyun.com/qq_17486399/article/details/115911316),又迎来了最新的川标(四川省的道路运输车辆主动安全智能防控系统技术规范),川标与粤标都是依赖于JT/T 808-2019,所以同样的,在终端手机号字节数进行了加长,由原来的6个字节拓展到了10个字节,可以通过消息头里面的版本标识进行区分原创 2021-09-09 16:45:28 · 2034 阅读 · 0 评论 -
车联网数据解析常用方法集Java (持续更新)
1. 经纬度经伟度的度分秒的换算关系如下: ①换算关系 :1度=60分;1分=60秒;②换算举例 :一般情况下,换算原理是这样的:把度的数值中的小数点的转换成为分,取分之整数,再把分的小数转换成为秒。 举例说明:例如:31.87654度 把数值度的小数点以后的数字乘以60分/度 :0.87654*60=52.5924分 把数值分的小数点以后的数字乘以60秒/分 :0.5924*60=35.554秒 合计:31度52分35.554秒1.1..原创 2021-09-09 15:59:19 · 1576 阅读 · 1 评论 -
JT/T808消息体转义
JT/T808消息体转义前言C#实现C#转义实现C#反转义实现Java实现JAVA 转义实现JAVA 反转义实现前言在网络传输过程中会存在粘包、半包等问题,在各个厂家做物联网产品的时候,大多会定义一种协议,协议里面包含了数据的包头、包尾以及校验位等字节,主要目的是为了在我们做物联网服务网关(接收物联网设备传输数据的系统)的时候方便对接收的数据进行校验以及处理粘包与半包问题。为了防止消息体里面出现与包头包尾相同的字节出现,在物联网设备进行组包的时候一般会进行转移,就是将消息体中出现与包头包尾相同的字节按原创 2021-06-09 11:53:45 · 3668 阅读 · 1 评论 -
JT/T808校验码计算(按字节异或求和)
JT/T808组包的最重要一个环节之一就是对整个包(除去包头包尾的0x7E)内容按字节异或求和。C# 实现 public int getXorCode(byte[] data) { byte CheckCode = 0; int len = data.Length; for (int i = 0; i < len; i++) { Che原创 2021-06-07 16:31:54 · 3880 阅读 · 0 评论 -
如何对司机驾驶指标进行评价
1.前言最近在思考如何利用智能终端采集的车辆信息,对车辆使用指标与司机驾驶指标进行数据挖掘,给出有价值的信息以供企业对司机进行评定。评定指标可能有多种,比如司机驾驶时长,运行公里数,油耗,以及产生的报警次数。结合这些指标,并对指标进行分类,并利用计算机的强大算力,并以一种最直观的方式展示给客户,这个驾驶员评定功能算具雏形。2.实施2.1.驾驶指标分类我这边考虑到不同的公司可能对指标分类标准不同,并且平台是基于SaaS,所以动态配置才更加符合当下要求。例如:根据百公里产生的特定报警原创 2021-06-02 11:37:42 · 1257 阅读 · 0 评论 -
粤标主动安全(T/GDRTA 002—2020)协议集成说明
1.部标依赖粤标主动安全通讯方式、数据类型等是依赖于JT/T 808-2019协议要求,JT/T 808-2019与以往JT/T 808 主要区别在于对终端手机号字节数进行了加长,由原来的6个字节拓展到了10个字节,可以通过消息头里面的版本标识进行区分2.与苏标差异2.1.增加了更多报警状态与苏标主动安全报警协议一样都是采用相同的消息ID来进行上传报警与报警附件,相对苏标增加了更多的报警状态监测高级驾驶辅助系统报警增加了实线变道与车厢过道行人监测报警驾驶员状态监测系.原创 2021-04-20 16:36:42 · 5564 阅读 · 1 评论 -
Java 针对JT/T808国密SM4加解密处理
一、前言应国企客户要求,针对产品上行到平台的数据以及对平台下行到设备的数据进行国密SM4进行加解密,对此进行了SM4加密的理解与封装二、踩坑坑一:密钥大于16个字节当秘钥长度超过16字符(即128位)时会加密失败,报“java.security.InvalidKeyException: Illegal key size or default parameters”的异常这是因为美国对出口软件的控制,如果想移除这个限制需要修改Java环境!而且每个Java环境对这个限制修改还可能不一样!原创 2021-04-17 17:37:47 · 6778 阅读 · 0 评论
分享