“JT/T 808 已经过时了?”——当我同时对接 808 和 GB/T 32960 时,才发现工具选错了
这个问题在车联网圈子里几乎每年都要吵一次。做道路运输的坚持 JT/T 808,做新能源的力推 GB/T 32960。去年我接了一个混合项目:既要对接道路运输车辆,又要接入新能源车。两个协议都要支持,而且要在同一个平台上调试。一开始我们想得简单:JT/T 808 和 GB/T 32960 各写各的解析器,各调各的设备。结果调试阶段直接崩溃。JT/T 808 用 7E 转义,GB/T 32960 用
工业AI边缘部署——从零到一的那些坑
一个化工厂的项目,上百台老旧设备,大部分都是10年前的老家伙,通过Modbus和CAN总线连接。老板想搞预测性维护,减少非计划停机。听起来很美好。但到现场一看:设备分散在几个车间,有些地方连网线都拉不过去;现场温度经常超过50℃,灰尘、震动、电磁干扰样样不缺;最要命的是,很多地方只有24V工业电源,功率预算极其有限。这就是工业AI边缘部署的真实环境——不是实验室,不是演示厅,是真实的、恶劣的、处处
“压测必须用真实设备?”我用仿真工具模拟 100 台终端后,发现了平台的致命 bug
前年做一个部标平台项目,甲方要求:“上线前必须做 500 台终端并发测试,而且必须用真实设备。”采购 500 台终端是什么概念?硬件成本、SIM 卡、流量费、场地、电源,加起来六位数。更麻烦的是,真实终端型号杂,行为不一致,压测结果根本不可控。有的终端心跳间隔 30 秒,有的 60 秒;有的注册完立刻鉴权,有的要等 5 秒。团队吵了一周。一派说真实设备才靠谱,另一派说仿真工具足够。最后折中:先用
软件定义自动化——PLC要被淘汰了吗?
最近两年,“软件定义自动化”在工控圈里被提得越来越多。IDC在2025年的报告里,把它列为新时代工控系统的三大趋势之一-。纽伦堡SPS展会上,“SoftPLCs”和“虚拟化”也是被反复讨论的关键词-。但PLC真的会被淘汰吗?先说结论:短期内不会,长期看会分化。什么是软件定义自动化?传统的自动化系统是“软硬强耦合”的——PLC是硬件,程序跑在专用硬件上。软件定义自动化的思路是:把PLC的控制逻辑从专
我用 Rust 重写了 IoT 安全网关的数据面,延迟从 5ms 降到 30μs
上个月,我们做了一个让团队内部争论了整整一周的决定:把 IoT 安全网关的数据面从 Go 全部重写为 Rust。不是微调,不是优化,是整个数据面推倒重来。消息传出去后,有朋友问我:“你们团队是不是疯了?Go 写得好好的,为什么要折腾?”三个月后,压测报告出来的那天,之前反对最激烈的同事在群里发了一句:“我服了。”为什么换? 我们做的是 IoT-ZTNA 零信任网关,部署在设备和后端之间,所有 Io
我给工业网关装了个“大脑”:512MB内存跑通边缘AI推理全链路
某工厂产线振动传感器已经部署了3年,数据一直在采集,但从未被实时分析。工人靠经验判断异常,一次轴承故障导致停机8小时,损失超过50万。为什么不加AI?因为老板说“换硬件太贵,上云不安全”。这是工业现场的真实困境。传统云端AI方案面临四大痛点:网络延迟高、断网即瘫痪、数据隐私合规、推理成本贵。而EdgeAgent Hub将AI推理能力下沉到边缘侧,让每一台工业网关都拥有自主决策的“大脑”。我们在一台
你的自动化脚本迟早会出事——我删掉了写了三年的运维脚本
前言 我有一个文件夹,叫 scripts/。里面是我三年运维攒下来的自动化脚本:自动清理日志、自动重启服务、自动封IP、自动续证书。上个月,我把它们全删了。不是它们不能用,是它们太危险了。先说一个真实的事故 去年夏天,我写了一个自动清理日志的脚本。逻辑很简单:每天凌晨3点,扫描 /var/log/ 目录,删除7天前的 .log 文件。跑了三个月,没出过问题。直到有一天,Nginx的access.l
别再劝新人学Wireshark了,那是劝退
我带过的 3 个新人 第一个新人,我让他装 Wireshark,抓包看 REGISTER。他抓了一天,问我:“这些报文我看得懂每个字,但不知道哪行是错的。”第二个新人,我给他一份 401 认证失败的抓包。他对着 RFC 3261 看了两天,最后问我:“realm 和 nonce 到底哪个是密码?”第三个新人,直接说:“哥,我能不能不学 Wireshark,你告诉我怎么查就行。”三个新人,零个靠 W
我为什么劝你别用Kubernetes做车联网网关
上个月,一个做车联网的兄弟找我,说他们网关上了K8s,结果终端批量掉线。我问他:你网关怎么部署的?他说:Deployment,三个副本,Service做负载均衡。我说:TCP长连接,你用什么负载均衡?他说:K8s Service啊。我沉默了。K8s Service做TCP长连接负载均衡的致命问题K8s Service默认是iptables模式。iptables做四层负载均衡,是基于连接跟踪的。什么
GB28181设备编码冲突:海康的锅还是平台的锅?
一个真实的电话 晚上十点,一个做集成的朋友打电话过来,语气很急。“设备配置全对,平台就是收不到上线。SIP服务器地址、端口、域、用户名密码,每一项都核对过了,没问题。”我让他把设备和平台的国标编码发过来对比。一看,设备编码和平台上另一台老设备的编码完全一样。改了编码,设备秒上线。他说了句话让我印象很深:“我一直以为是海康设备有问题,差点打电话骂客服。”编码冲突:到底是设备的问题还是平台的问题? 这
用了ORM就不用管数据库迁移了?我差点被这个观点坑死
一、一个被广泛误解的观点 在不少技术社区里,有一种说法流传很广:“只要项目用了ORM,换数据库就是改个方言配置的事,根本不需要什么迁移工具。”这个观点听起来很有道理。ORM确实屏蔽了大部分SQL差异,Hibernate、MyBatis、Entity Framework这些框架都提供了数据库方言抽象。如果项目从MySQL换到PostgreSQL,理论上只需要修改连接配置和方言,应用层代码几乎不用动。
“手写 JT/T 808 报文才是真本事?”——一个车联网老兵的反思
去年做某省级网约车平台对接时,团队里一位老架构师坚持:“JT/T 808 报文必须手写,用工具生成的都是花架子,出了问题你连字节在哪都不知道。”我承认,手写报文确实能逼你理解协议。但现实是,我们对接 7 个终端厂商,每个厂商的 0x0200 位置上报都有细微差异。有人把报警标志位少移了一位,有人把经纬度精度搞错,还有人时间格式用本地时间。手写解析代码写到第三周,团队已经开始互相甩锅。最典型的一次:
视觉引导机器人精度漂移——标定好了也白搭
做过视觉引导项目的兄弟,可能都遇到过这种怪事:头两周良率99.7%,第三周开始偶发漏抓,第四周直接停机,一查,夹爪实际落点比视觉给的位姿偏了快 3毫米,这期间没人动过标定参数,机器人也没撞过-43。这不是个例,凡是“相机固定、机器人动”的Eye-to-Hand方案,跑上一两个月,多多少少都会遇到抓取精度往下掉。问题几乎都出在同一个地方:手眼矩阵没变,但产生它的那个物理系统变
工控机选型,我见过太多人踩坑了
工控机(IPC)是自动化项目里最容易被忽视、又最容易出问题的设备。一个项目,因为工控机选错了,赔了5万。2019年,一个客户要做一个产线监控系统。上位机软件跑在工控机上,需要处理20台PLC的数据采集、存储、显示、报警。我选了一台工控机——研华的,4核CPU、8GB内存、128GB固态盘。跑了一个月,客户投诉:“画面卡顿、数据经常延迟。”我去现场看——CPU占用率90%以上,内存占用接近8GB,磁
JT/T 808 联调实战:用 JT-Simulate 一键跑通注册、鉴权、心跳、位置上报
开发 JT/T 808 平台或终端时,最典型的联调流程就是:终端注册;平台回复注册响应;终端鉴权;终端发心跳;终端上报位置;平台下发指令。如果没有真实终端,手动模拟这些流程非常痛苦。JT-Simulate 提供了一个更省事的方式:创建仿真设备,让它自动连接目标平台,自动走完整个上线流程。操作步骤打开 JT-Simulate,进入「设备管理」;填写终端手机号,比如 013800001234;填写目标
存储过程迁移自动化率深度分析
一、一个反直觉的数据 数据库迁移中,DML 查询的自动转换成功率接近 100%。但存储过程、函数、触发器等过程性对象的自动转换成功率,规则引擎只能做到 3.8% 到 31.2%-1。同一个工具,同样的语法解析引擎,为什么差距这么大?二、语法树能解析的,和业务逻辑能理解的,是两回事 存储过程的核心问题在于:它不只是语法,它是业务逻辑的容器。一个 500 行的 PL/SQL 存储过程里,可能包含:嵌套
用Wireshark逐帧分析GB28181注册流程
为什么要抓包? GB28181的问题,90%可以通过抓包解决。设备注册不上?抓包看REGISTER发了没,平台回了401没。点播黑屏?抓包看INVITE的SDP协商对不对。云台不响应?抓包看MESSAGE发出去没,设备回了什么。Wireshark是国标调试的必备工具。今天手把手教你看懂GB28181的注册流程。环境准备 安装Wireshark在平台服务器上抓包,或者用镜像端口抓设备侧的包过滤器设置
Go车联网网关:从0到100万连接,我踩过的坑
车联网网关的核心指标只有一个:能扛多少终端连接。一台货车一个终端,一个终端一条TCP长连接。10万台车就是10万连接,100万台车就是100万连接。听起来不多,但每条连接都要处理心跳、位置上报、报警、鉴权、参数下发。写不好,几万连接就把内存打满。我们做JTE的时候,目标很明确:单机100万连接。这篇文章讲清楚我们怎么做到的,以及踩过的坑。第一版:一个连接一个goroutineGo最舒服的地方就是g
PLC程序加密到底有没有用?我试了5种方法,说点真话
PLC程序加密这个话题,工控圈里一直有争议。有人觉得必须加密——“我辛辛苦苦写的程序,凭什么让别人白嫖?”有人觉得加密没用——“真想破解你的人,你怎么加密都没用。”我自己经历过被抄袭,也帮客户处理过程序丢失的问题。说点真话。先说一个让我心疼的事。2019年,我帮一个做包装机的客户开发了一套控制系统。设备出口到东南亚,客户要求“程序加密,防止当地仿制”。我用了当时最常用的方法——在PLC程序里加了一
为什么我不用AI做服务器自愈——一个反面案例的思考
前言 2026年,AI运维(AIOps)是个热词。大模型能写代码、能分析日志、能做决策。很多人问我:ServerGuard为什么不用AI?今天不绕弯子,直接回答:我用过,然后我放弃了。先说一个真实的反面案例 去年我尝试把GPT接进告警处理流程。思路很直接:告警触发时,把系统指标、日志、进程列表打包发给模型,让它判断“该不该自动修复”。第一周,效果很好。磁盘告警,模型说“清理/tmp目录下的临时文件