如何测试Ultralight 2.0 IoT Agent端口监听、负载接收及流转
嘿,针对你的需求,我整理了具体的测试步骤和流转流程,帮你搞定这些问题~
一、测试IoT Agent-UL是否监听4061端口
在CentOS 7上可以用以下两种常用命令来验证端口监听状态:
- 使用
ss命令(CentOS 7默认自带):
如果输出结果里能看到关联ss -tulpn | grep 4061iotagent-ul的进程信息,就说明4061端口正在被Agent监听。 - 如果习惯用
netstat,需要先安装net-tools工具:
同样,找到对应yum install -y net-tools netstat -tulpn | grep 4061iotagent-ul的进程记录即为正常。
二、测试IoT Agent-UL是否从MQTT代理接收消息
可以通过日志观察和手动发测试消息两种方式验证:
1. 实时查看Agent日志
因为Agent以系统服务运行,用journalctl就能实时监控日志:
journalctl -u iotagent-ul.service -f
保持这个窗口打开,然后让网关发送正常负载到指定MQTT主题,如果Agent成功接收,日志里会出现类似Received message on topic [你的主题名]的记录,同时会有解析负载的相关日志。
2. 手动发送测试消息验证
先安装Mosquitto客户端工具:
yum install -y mosquitto-clients
然后发送一条符合Ultralight 2.0格式的测试消息到Agent订阅的主题:
mosquitto_pub -h <你的MQTT代理IP> -p 1883 -t <Agent订阅的主题> -m "t|25"
这条消息代表“温度为25”,发送后看Agent的日志,如果有接收和解析的记录,就说明Agent能正常从MQTT代理获取消息。
三、负载从Mosquitto到IoT Agent再到Context Broker的完整流转流程
整个链路的每一步都是配置驱动的,具体流程如下:
- 1. 网关推送负载至Mosquitto
网关将设备采集到的数据封装成Ultralight 2.0格式(比如h|60代表湿度60),发布到预先和Agent约定好的MQTT主题,Mosquitto代理收到消息后,会推送给所有订阅该主题的客户端(也就是你的IoT Agent-UL)。 - 2. IoT Agent-UL接收并解析负载
Agent在配置文件里已经指定了要订阅的MQTT主题,它会实时接收Mosquitto推送的消息,然后将Ultralight 2.0格式的负载转换成符合NGSI规范(NGSI-v2或NGSI-LD)的上下文实体数据,同时会匹配设备的预注册信息(或者自动创建实体,如果开启了自动注册功能)。 - 3. Agent将数据同步至Context Broker
Agent通过REST API(比如NGSI-v2的POST /v2/entities接口),把转换后的上下文数据发送到配置好的Context Broker地址,Broker接收到后会存储这些实体数据,之后你就可以通过Broker的API查询、订阅这些设备数据了。
小贴士:要确保Agent配置文件(一般位于/etc/iotagent-ul/config.js)里正确配置了MQTT代理地址、订阅主题、Context Broker地址,以及对应的服务、子服务标识,这些配置是整个流转链路正常运行的关键。
内容的提问来源于stack exchange,提问作者Kostas Tsakos
相关产品推荐
相关产品推荐

