背景
最近在处理RS485设备时,需要使用一台串口服务器DTU来采集数据并发送到远程服务器,最终由服务器上的上位机软件来远程控制485设备。在挑选了很久,最终选择了串口服务器ZL-LAN-500(以下简称ZLAN500),接下来让我们一起来看一下这个设备吧。
产品概述
型号和制造商
ZLAN500以太网串口服务器是重庆展联科技有限公司研发生产的一款产品,广泛应用于物联网领域,包括工业数据采集、智慧农业、电力监控、环保污染监测、智能家居和安全管理等。
主要功能和技术规格
功能接口
- 端子电源接口
- DC插头电源接口
- USB 2.0 High-Speed 接口
- 485/232串口
- USIM/SIM卡接口(支持3V、1.8V)
- SMA天线接口
- 硬件复位
- 状态指示灯
- USB_BOOT
- RJ45
技术规格
官方文档提供的技术规格如下:
设备外观和构造特点
设备机械尺寸为:
实物产品图如下:
总重200g,感觉沉甸甸的,非常扎实。
设备插针引脚图如下:
使用体验
收到设备后,检查了包装,标配包括设备本体和一个电源适配器。初次使用前,需要先配置设备。通过USB线将设备连接到电脑,然后下载并安装上位机软件进行配置。上位机软件下载地址为:这里。
目前,上位机软件仅支持Windows系统,这对使用Mac的用户来说可能不太方便。
(提示:初次使用最好按照官方文档进行,这可以减少误操作造成的损失,并减少沟通成本。官方wiki文档中提供了大量的设备手册和用户指南。)
软件界面如下:
作为一名软件工程师,我特别注重软件的使用体验。使用这款上位机软件时,我觉得排版略显混乱,功能的组织和设计也有待改进。首先就是所有的功能不要一次性全部铺开来,另外就是主要的按钮的要摆放在显眼的位置,比如最常用的写入配置功能。然后软件第一次进入要有个简单的引导,如果有精力的话,最好的情况是页面能够根据产品型号来显示功能。
最终,在官方人员的指导和自己查阅资料后,我成功配置了设备。下面分享一下我的使用案例。
关于Modbus设备数据采集的更多信息,大家也可以参考这篇文章:Modbus RTU网关采集传感器案例。
案例分享
串口配置,设备接线
我使用的是一款RS485的灯控板,有100多个寄存器。然后我将灯控板的458端子连到ZLAN500的484A串口上。
然后点开上位机,配置串口,让我们的电脑与ZLAN500进行通信。
在设置页面,配置如下:
需要注意的是波特率一定要选921600。
配置ZLAN500采集RS485设备数据
在完成上一步后,点到软件的首页,
参数配置选中V5,如果设备是4开头的,就选V4。
首先是配置串口参数,这里的配置的串口是用来与rs458设备通讯的串口。配置成功后,我们的ZLAN500就能与RS485 进行通信啦。
这里的配置要看设备的配置来,我的RS485设备,波特率是9600,id是1。
所以配置如下:
需要说明的参数,软件页面上都有提示。配错了就无法进行通信。485要配置串口1,串口2是用于232串口。
配置Modbus采集参数
配置完设备的串口参数后,如果你要查看采集的数据,或者配置Modbus转JSON,就需要配置ModBus部分的参数。
我的测试配置如下:
配置完成后,需要点击写入配置按钮,指令间隔为10s,意思就是10s采集一次。在右侧的日志区域,可以看出采集出的数据已经转化为json啦,
要输入数据源一定要选串口1,就是我们上面配置的串口1。
ModBus透传转 MQTT, 数据采集,指令下发,
我需做的功能需要采集设备所有的寄存器值,然后将这些寄存器值转换为灯的状态(这一步已经做了,之前是通过ModBus RTU),为了保存数据的统一,我选择了数据透传,而不是JSON。那么来看一下ModBus 转MQTT 数据透传。
数据向外传输需要配置网络连接。
我的配置如下图:
mqtt broker 使用的是免费的 broker.emqx.io
数据源还是选串口1,需要注意是的,使用modebus 转mqtt 数据透传,上面的部分:配置Modbus采集参数可以省略不做,我只是为了给大家演示数据采集,modbus 转json。
需要定义 订阅主题和发布主题。
配置完成后,需要再次点击写入配置按钮,连接到mqtt broker后, 设备上的绿灯LINK,就会变成常量。别忘记给设备插上网线。
为了模拟采集数据,写入指令,我们需要使用mqttx来发布主题,并订阅设备发布的主题。
下载mqttx软件,并配置mqtt broker。
配置如下:
使用mqttx 发布和订阅主题 配置演示如下:
可以看到我们使用mqttx 来订阅 asdf123 主题,然后发布qwer123主题,再发布主题时,配置报文格式为Hex,并输入 16进制的指令,01 03 00 00 00 14 45 C5
如果通信成功,我们会介接收到一条消息,主题是asd123,内容是Hex的 16进制报文。
mqttx发送的都是原始的modbus 指令,比如读取多个寄存器的值,写入一个寄存器的值,写入多个寄存器的值。
类似下面的:
总结
串口服务器ZL-LAN-500(简称ZLAN500)不仅仅是一个连接设备,而是一个高效、可靠的数据传输解决方案。它在本次评测中展示了其卓越的性能和多样的功能,特别是在处理RS485设备数据采集和远程控制方面表现出色。ZLAN500支持广泛的应用场景,从工业自动化到智能农业、环境监控以及安全管理,均能提供稳定而高效的服务,内置支持了很多的物联网平台和通讯协议,如ThingsBoard,Aliyun,OneNET,TCP Client,Server,Http。
该设备的设计充分考虑了用户的便利性和实用性。具体来说,它的硬件接口丰富,包括支持USB、以太网、多种串口和SIM卡接口,确保了与各种设备的兼容性和连接的灵活性。此外,其坚固的外观设计和合理的机械尺寸也使得在各种工作环境中都能保持良好的稳定性和持久性。
在软件方面,尽管存在一些界面和功能布局的初步不足,但ZLAN500所提供的配置灵活性和丰富的功能选项,使得用户可以根据自己的具体需求进行定制和优化。此外,支持Modbus RTU和MQTT等协议的能力,使得设备能够无缝集成进现代物联网架构,极大地扩展了其使用场景和价值。
综合考虑,ZL-LAN-500是一个功能全面、极具扩展性和高度可定制的串口服务器,非常适合需要远程数据处理和设备管理的复杂工业环境。它不仅能够满足当前的多种通讯需求,还能预见并适应未来技术的发展,是值得推荐的物联网通讯设备。