客服系统

自定义协议设备怎么接入?BL118+Node-RED让工业协议开发变得更简单

2026-08-19 10:40:12

在工业现场,最让工程师头疼的事莫过于——设备协议不统一。PLC走Modbus,变频器走CANopen,电表走DL/T645,上位机要MQTT,而你的新设备用的却是“自定义协议”。协议打架,工程师的大量时间被消耗在写脚本、做适配和反复调试上。

有没有一种办法,不用写底层驱动、不用反复编译部署,就能快速把自定义协议的设备接入系统?

答案就是——BL118边缘计算网关 + Node-RED可视化开发。

工业物联网关


一、BL118是什么?

BL118是钡铼技术推出的一款工业级边缘计算网关,预装了Node-RED V4.0.0可视化编程环境,内置双核Cortex-A7处理器。它把协议解析 + 逻辑编排 + 数据转换 + 分发转发集成在一台手掌大小的设备里。

简单说,BL118不是简单的协议转换器,而是一个可以自己编程的边缘计算平台。

BL118支持哪些接口?

  • 多路隔离RS485 / RS232串口

  • CAN总线(通过X4扩展模块,支持2路CAN + 2路RS485)

  • 千兆以太网口

  • 4G/5G、Wi-Fi无线通信

预置了哪些协议?
Modbus RTU/TCP、OPC UA、MQTT、S7(西门子PLC)、BACnet、IEC104,以及自定义TCP/UDP通讯。


二、为什么Node-RED是实现自定义协议的最佳工具?

传统做法是:工程师写C/C++程序读设备数据→自己做协议解析→再写上传逻辑。改一次需求就要改一次代码,编译、部署、调试,循环往复。

而Node-RED采用拖拽式流程图编程,把整个数据处理过程变成“流程工程”,而不是“代码工程”。

核心优势:

  • 可视化开发:像搭积木一样,拖一拖、连一连就能完成协议转换

  • 即时调试:浏览器中直接调试,无需反复编译部署

  • 5000+节点库:官方+第三方节点随用随装

  • 改需求改流程:不用改代码,拖拽调整节点即可


三、如何通过BL118开发对接自定义协议?

针对不同类型的自定义协议,BL118提供了四种开发路径:

路径一:TCP/UDP自定义协议(最常用)

如果你的设备走TCP或UDP通信,这是最直接的方案。

BL118内置了自定义TCP/UDP通讯节点。操作步骤:

  1. 在Node-RED中拖入TCP或UDP节点

  2. 配置设备的IP地址和端口号

  3. 拖入Function节点,用JavaScript编写协议解析逻辑

  4. 将解析后的数据通过MQTT、HTTP或OPC UA节点输出到云平台或上位机

一个典型的流程就是:TCP接收 → Function解析 → MQTT发布。

路径二:串口自定义协议(RS485/RS232)

对于通过串口通信的自定义协议设备,BL118提供了串口节点。

  1. 拖入串口节点,配置波特率、数据位、校验位等参数

  2. 用Function节点按照设备协议手册解析数据帧

  3. 解析后的数据再转发出去

路径三:CAN总线自定义协议

CAN总线在新能源、AGV、工程机械等领域非常普遍,但CAN是“设备语言”,不是“系统语言”。

BL118运行标准Linux,CAN接口走的是SocketCAN架构——这是工业Linux的通用方式。你可以:

  • 用candump直接抓包查看原始帧

  • 用cansend发送测试帧

  • Node-RED直接调用can0接口进行数据读写

  • 甚至在Docker里跑自己的程序

CAN数据进来之后,在Node-RED中完成协议解析,再转成MQTT或OPC UA输出。这让BL118从“产品”变成了“平台”。

路径四:Function节点 + JavaScript脚本解析

无论走TCP、串口还是CAN,最终的核心都是——协议解析。

Node-RED的Function节点允许你直接用JavaScript写解析逻辑。比如:

  • 按字节解析自定义帧结构

  • 提取特定字段的数据

  • 进行单位换算、数据校验

  • 做去毛刺、滤波、异常值剔除

这让工程师可以完全掌控协议解析的每一个细节,同时又不用处理底层驱动的复杂性。


四、一个完整的实战示例

假设你有一台走自定义TCP协议的传感器设备,每秒发送一组16进制数据帧,你需要采集并上报到云平台。

Step 1:连接设备
将传感器通过网线连接至与BL118相同的交换机。

Step 2:打开Node-RED
在浏览器中访问BL118的IP地址,进入Node-RED编程界面。

Step 3:搭建采集流程

  • 拖入TCP In节点,配置传感器的IP和端口

  • 拖入Function节点,编写JavaScript代码解析数据帧

  • 拖入MQTT Out节点,配置云平台的Broker地址和主题

  • 用连线把三个节点串起来

Step 4:点击部署
点击右上角的“部署”按钮,流程即刻生效。

Step 5:调试验证
在Node-RED右侧的Debug窗口,你可以实时看到每一帧数据的解析结果。数据从“电信号”变成了“可视化变量”。

整个过程不需要写一行驱动代码,不需要编译,不需要重启。


五、进阶:开发自定义Node-RED节点

如果你的自定义协议要反复用在多个项目中,还可以用Node.js开发自定义Node-RED节点。把协议解析逻辑封装成一个专用节点,后续项目中直接拖拽使用,一劳永逸。


六、为什么选择BL118做自定义协议开发?

1. 开发效率高
传统方式:写驱动→写解析→写上传→编译→部署→调试,循环往复。
BL118方式:拖节点→写解析→点部署→看结果。

2. 调试简单
传统CAN调试:示波器 + 协议手册 + 代码调试。
BL118调试:candump看原始帧 → Node-RED debug看解析结果。

3. 边缘计算能力
数据在本地完成解析、清洗、计算后再上传,减少网络压力和云端负载。

4. 灵活扩展
支持Docker容器,可以在网关里跑自己的程序。支持远程升级与批量下发流程序列。

5. 工业级可靠
-45~80℃宽温工作,DIN导轨安装,看门狗+断网续传。


总结

BL118 + Node-RED的组合,把自定义协议开发从“代码工程”变成了“流程工程”。工程师不再需要关心底层驱动、Socket编程、线程管理这些琐事,只需要:

  1. 理解设备的通信协议

  2. 在Node-RED中拖拽搭建流程

  3. 用JavaScript写解析逻辑

  4. 点击部署

就是这么简单。

如果你也在为自定义协议设备的接入发愁,不妨试试BL118——它让协议对接不再是项目瓶颈,而是十分钟就能搞定的事。


标签: BL118 Node-RED
微信公众号

首页
产品
案例
联系钡铼
客服系统