- Hardware type: Sensors
- Connectivity: DigiMesh, MQTT, WIFI, Ethernet
- Industry: Industrial Manufacturing, Smart Cities, Environmental Monitoring, Energy Management
- Use cases: Smart energy, Environment Monitoring, Smart Office, Smart Retail, Smart Farming, Health Care, Waste Management
- Platforms: Community Edition, Professional Edition, Cloud
- 概述
- 概述(集成流程)
- 前提条件
- 配置NCD振动传感器与Enterprise IIoT网关
- 配置ThingsBoard Cloud
- 导入并配置NCD模板流
- Connect消息
- 检查与ThingsBoard Cloud的连接
- Create a ThingsBoard Dashboard
- 总结
概述
工业物联网无线振动温度传感器
该IIoT传感器用于监测工业环境中的振动、频率与温度,为预测性维护、设备监控及整体运行效率提供数据支持。
振动类典型应用场景:
• 旋转设备的高级预测性维护
• 结构健康综合监测
• 制造过程自动化与质量控制
• 工业系统能效优化
本教程将引导您完成NCD工业物联网无线振动温度传感器与Enterprise IIoT网关的配置,包括创建设备、配置参数、通过MQTT协议将传感器数据发送至ThingsBoard,以及设计用于传感器数据监控与分析的实时仪表板。
Enterprise IIoT Gateway Lite(企业IIoT网关精简版)
Enterprise IIoT网关负责接收、处理、解码并转发NCD工业物联网传感器的数据至各类云服务或工业协议。可将其类比为Wi-Fi路由器,但采用名为DigiMesh® 的专用无线协议。NCD传感器与Enterprise IIoT网关均通过该协议通信,专为工业场景设计与验证。
概述(集成流程)
工业物联网无线振动温度传感器采集温度与振动等现场关键参数,通过DigiMesh® 工业协议将数据发送至Enterprise IIoT网关。网关搭载NCD Node-RED库,对数据进行接收、解码与过滤后,经MQTT协议上传至ThingsBoard。在ThingsBoard中,可通过自定义仪表板对数据进行查询、分析与实时可视化,为监控与决策提供依据。

前提条件
要将NCD工业物联网传感器数据发送至ThingsBoard,需满足以下条件:
- ThingsBoard Cloud 账户
- NCD工业物联网无线振动温度传感器V3
- NCD Enterprise IIoT网关标准版或精简版:
具备上述组件后,可将NCD传感器接入Enterprise IIoT网关,并利用内置Node-RED通过MQTT协议将传感器数据转发至ThingsBoard。
本教程将按步骤说明关键配置:连接NCD设备、在平台上注册、配置ThingsBoard Cloud账户、添加并关联新网关,以及创建仪表板以有效展示实时传感器数据。
配置NCD振动传感器与Enterprise IIoT网关
我们先配置Enterprise IIoT网关与振动传感器,再将二者连接。流程较为简单,详细步骤可参考下方NCD文档,此处仅作简要说明:
按说明开箱、接线并上电NCD Enterprise IIoT网关。将ETH0口接入支持DHCP的路由器(网关作为DHCP客户端),将自动获取IP。等待设备启动后,可通过其本地IP或域名加端口1880(Node-RED默认端口)访问其上的Node-RED。
建议使用本地域名格式:ncd-xxxx.local:1880,其中 xxxx 为Enterprise IIoT网关MAC地址后四位(印于设备侧面)。例如:http://ncd-c398.local:1880
将传感器连接到网关
打开Node-RED后,可见已预置的流,包含Wireless Gateway节点与Debug节点,用于接收并显示已连接设备的消息。

该流已预配置,可直接接收NCD传感器数据。当NCD传感器接入无线网络并上报数据时,Wireless Gateway 节点会自动接收并处理消息,再经输出端发送至 Debug 节点,在Node-RED编辑器右侧的 调试窗口 中显示。 此时可上电NCD振动传感器。NCD工业传感器出厂带电池,也支持外接供电(可在购买时选配)。
本教程以电池供电为例,步骤同样适用于外接供电。启用传感器时,打开外壳并将电源开关拨到“内部电池供电”档位。

该设备电源开关有三档:
- 电池供电
- 关闭
- 外接供电
电池供电 档使用机内电池为传感器供电并上报数据。
关闭 档会关闭传感器所有模块,不再上报数据。
外接供电 档通过机身上的圆孔电源接口连接外部电源为传感器供电并上报数据。
NCD振动传感器消息
传感器上电后开始上报数据,您会在Node-RED中看到传入消息。Wireless Gateway 节点解码传感器数据并经输出端发送至 Debug 节点,在Node-RED编辑器的 调试窗口 中显示。激活NCD振动传感器后,调试窗口会显示类似以下内容:

NCD传感器会发送多种消息,用于反映当前模式、运行状态及实际传感器数据。本教程主要关注 RUN sensor_mode 与 sensor_data 消息。
RUN sensor_mode消息
RUN消息表示由 msg.payload.mac 标识的传感器已上电,并已通过无线网络与 Enterprise IIoT网关 成功通信。该消息包含MAC 地址、传感器类型、节点ID、模式 与 时间戳 等关键信息。

sensor_data message
The sensor_data message includes critical information such as the firmware version, battery percentage, sensor type, data values, sensor name, MAC address, and other essential details.
The sensor_data message can be identified by the msg.topic property. When the sensor transmits a data message, the msg.topic is set to sensor_data which makes it easier to filter or manage the sensor data. To view the sensor data in the debug window, simply click on the message. You should see something like this.
In this tutorial, our primary focus will be on transmitting RUN sensor mode and sensor data messages to effectively monitor the sensor’s real-time status. We will explore these topics in greater detail later in the tutorial. For now, let’s move on to ThingsBoard to configure all the necessary components.
配置ThingsBoard Cloud
可参考以下文档快速上手ThingsBoard专业版及MQTT网关API:
第一步:使用您的ThingsBoard账户 登录。
登录后将看到入门资源与解决方案模板,可先浏览以熟悉 ThingsBoard 环境。
接着在ThingsBoard实例中 添加新设备。按以下步骤操作:
-
进入 “实体” 下的 “设备” 页面,在设备列表中点击表格右上角 “+”,从下拉菜单中选择 “添加新设备”。
-
在弹出的新窗口中为设备命名(本例使用 NCD Enterprise IIoT Gateway),可填写标签、分组、描述等。勾选 “Is gateway”,然后点击 “下一步:凭据”。
-
进入设备凭据窗口,选择 “MQTT Basic”(可在此增加MQTT安全层)。在各选项旁点击 “生成” 生成 Client ID、Username、Password,供 Node-RED MQTT节点 与 Enterprise IIoT网关 建立连接使用。
-
生成凭据后,使用 “复制” 获取各值,建议暂存到临时文件,后续在本指南的 Node-RED MQTT节点 中会用到。然后点击 “添加”。
-
随后会弹出连接测试窗口。因使用网关需配合ThingsBoard网关设备的MQTT主题,可跳过该步。连接使用的MQTT服务器为“mqtt.thingsboard.cloud”。点击 “关闭” 继续。
-
已成功添加使用MQTT协议的新网关。下一步在Enterprise IIoT网关中配置MQTT凭据以验证连接。
进入 “实体” 下的 “设备” 页面,在设备列表中点击表格右上角 “+”,从下拉菜单中选择 “添加新设备”。
在弹出的新窗口中为设备命名(本例使用 NCD Enterprise IIoT Gateway),可填写标签、分组、描述等。勾选 “Is gateway”,然后点击 “下一步:凭据”。
进入设备凭据窗口,选择 “MQTT Basic”(可在此增加MQTT安全层)。在各选项旁点击 “生成” 生成 Client ID、Username、Password,供 Node-RED MQTT节点 与 Enterprise IIoT网关 建立连接使用。
生成凭据后,使用 “复制” 获取各值,建议暂存到临时文件,后续在本指南的 Node-RED MQTT节点 中会用到。然后点击 “添加”。
随后会弹出连接测试窗口。因使用网关需配合ThingsBoard网关设备的MQTT主题,可跳过该步。连接使用的MQTT服务器为“mqtt.thingsboard.cloud”。点击 “关闭” 继续。
已成功添加使用MQTT协议的新网关。下一步在Enterprise IIoT网关中配置MQTT凭据以验证连接。
导入并配置NCD模板流
下一步是 导入 并 配置 预置的 流模板。该流会在将振动传感器数据连接到ThingsBoard MQTT代理并发布前进行过滤与格式化,并依据ThingsBoard MQTT网关API参考设置相应主题。导入流时,请打开GitHub仓库并复制或下载RAW JSON文件:ncd-vibration-sensor-t80-to-thingsboard-mqtt.json
在Node-RED中,点击编辑器右上角主菜单中的 “导入”:

导入 ncd-vibration-sensor-t80-to-thingsboard-mqtt.json 时,在弹出窗口中点击 “选择要导入的文件” 选择文件,或将复制的JSON粘贴到粉色文本框,然后点击 “导入”。

Node-RED编辑器顶部会弹出提示,显示已成功导入工作区的节点。

可在Node-RED工作区中摆放流。下一步将 Wireless Gateway 节点的输出连接到 ncd-filter-mode 节点的输入,如下图所示。

下面简要说明该流中各节点的作用,不展开每个节点的详细说明。

ncd-filter-mode:该节点处理来自 Wireless Gateway 节点的消息,按topic过滤并分流。输出1 对应topic sensor_mode 的消息(传感器运行模式);本教程关注 RUN模式,表示传感器已接入Enterprise IIoT网关网络并可上报数据。输出2 对应 sensor_data 消息,包含 电池电量、振动、温度 等传感器读数。

ncd-filter-by-run-mode:该节点判断传感器是否处于 RUN模式。若非RUN模式,消息不会通过该节点。

ncd-set-device:该节点从传感器MAC地址中取后8位(xx:xx:xx:xx)并赋给 msg.payload.device。

ncd-set-mqtt-topic-connect:该节点设置发往ThingsBoard的MQTT主题,用于通知平台设备已成功连接网关。
msg.topic = ‘v1/gateway/connect’

ncd-filter-by-type:NCD IoT提供多种工业物联网传感器,以 sensor type 区分。该节点按传感器类型过滤消息;本例过滤 单通道振动传感器(sensor type 80)的消息。

ncd-attributes:该函数节点通过JavaScript保证 type 80 的sensor_data在部署后仅发送一次,并可定义 地址、传感器名称、固件版本、节点ID、传感器类型 等 传感器属性,再按ThingsBoard MQTT网关API格式封装。JavaScript代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Retrieve the 'flag' from the context or default to false
const flag = context.get("flag") || false;
if (!flag) {
// Destructure properties from msg.payload
const {
addr,
sensor_name: sensorName,
firmware,
nodeId,
sensor_type: sensorType
} = msg.payload;
// Extract the device from the address
const device = addr.substring(12);
msg.payload = {
[device]: {
"Sensor Name": sensorName,
"Firmware": firmware,
"Node ID": nodeId,
"Sensor Type": sensorType
}
};
// Set the 'flag' in the context to avoid re-execution
context.set("flag", true);
return msg;
}
ncd-set-mqtt-topic-attributes:该节点设置发往ThingsBoard的MQTT主题,用于在ThingsBoard上更新传感器属性。
msg.topic = ‘v1/gateway/attributes’

ncd-add-battery-to-sensor-data:该节点将振动传感器的电池电量加入 msg.payload.sensor_data,该消息已包含温度与振动等变量,便于在本教程中以单条消息携带全部相关变量。

ncd-telemetry:该函数节点从msg.payload中取出 传感器MAC地址 与 时间戳,再取 sensor_data(含电池电量)并按ThingsBoard MQTT网关API格式封装。JavaScript代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Destructure relevant properties from msg.payload
const { addr, received: timestamp } = msg.payload;
// Extract the device ID from the address
const device = addr.substring(12);
// Extract the data from the message
const sensor_data = msg.payload.sensor_data;
// Construct the payload in a clean and structured way
msg.payload = {
[device]: [
{
ts: timestamp,
values: sensor_data
}
]
};
return msg;
ncd-set-mqtt-topic-telemetry:该节点设置发往ThingsBoard的遥测MQTT主题,用于在ThingsBoard上写入传感器遥测数据。
msg.topic = ‘v1/gateway/telemetry’

ncd-to-thingsboard:该MQTT输出节点使用所需凭据连接MQTT代理并接入ThingsBoard,将振动传感器数据发布到ThingsBoard Cloud。

了解流中各Node-RED节点的作用后,下一步使用 ThingsBoard 中生成的凭据配置MQTT输出节点。双击 ncd-to-ThingsBoard 节点打开属性,先配置 mqtt-broker config节点:点击 “添加新的mqtt-broker config节点”。

将Server属性设为ThingsBoard MQTT代理地址:mqtt.thingsboard.cloud。本例使用默认端口 1883。最后配置 Client ID(在ThingsBoard中生成)。

在“安全”选项卡中填入 ThingsBoard 中生成的 Username 与 Password。

保存节点内配置时,点击 “Update” 按钮。

完成后即完成MQTT服务器配置。Topic属性保持为空,其值将由前述节点中的msg属性动态传入,这些节点已为各类MQTT消息设置了对应主题。

保存MQTT输出节点的修改后,点击 “Done” 图标。

配置好MQTT凭据后,NCD振动传感器再次上报时,数据将经MQTT在对应主题下发布到ThingsBoard。要保存并应用Node-RED中的修改,请点击编辑器右上角的 “Deploy” 按钮。

点击 “Deploy” 后,MQTT输出节点下方会显示 connecting,表示正在尝试连接MQTT服务器。

连接成功后,状态会变为 connected,表示Node-RED已与MQTT服务器通信。

要测试通信,可手动触发NCD振动传感器上报:按下传感器内部的 RESET 按钮。需先卸下白色外壳上的四颗螺丝,找到RESET按钮并按一次。

传感器发送新消息后,调试窗口会显示来自 debug thingsboard 节点的消息,可通过 msg.topic 识别:
- v1/gateway/connect
- v1/gateway/attributes
- v1/gateway/telemetry

按下传感器上的 RESET 后,传感器会先尝试建立无线网络连接;成功接入 Enterprise IIoT网关 网络后发送 RUN 消息,随后发送 sensor_data 消息。
流会利用RUN与sensor_data中的信息组装 connect、attributes、telemetry 消息。下面分别说明这三类消息。
Connect消息
当 工业物联网无线振动温度传感器 与 Enterprise IIoT网关 成功建立连接时,会生成第一条消息。Wireless Gateway 节点收到包含传感器连接状态的 sensor_mode 消息后,流通过 switch 节点判断是否为 RUN 消息(表示传感器已成功连接并可工作)。 若为 RUN 消息,流会提取传感器 MAC地址 并按 ThingsBoard API 格式化。该消息用于告知ThingsBoard设备已成功连接网关,平台可识别传感器并开始接收遥测与属性数据以供分析与可视化。
1
Topic: v1/gateway/connect
1
2
3
Message: {
"device":"Device A"
}

Attributes消息
该消息由流根据 sensor_data 构建,从中提取 传感器名称、固件版本、节点ID、传感器类型 等关键信息,并按 ThingsBoard属性API 的键值对格式封装。流仅向ThingsBoard发送一次该消息。
在ThingsBoard中,设备属性 是与设备关联的键值对,用于存储配置、元数据与运行信息等,为设备提供上下文。通过上传传感器属性,ThingsBoard可保存传感器名称、版本等特征,便于在平台内监控与管理设备。
1
Topic: v1/gateway/attributes
1
2
3
4
5
6
7
8
9
10
Message:{
"Device A":{
"attribute1":"value1",
"attribute2": 42
},
"Device B":{
"attribute1":"value1",
"attribute2": 42
}
}

Telemetry消息
该消息包含实时 传感器数据,如 温度、振动、电池电量 等。流将数据格式化后以 遥测数据 形式发布到 ThingsBoard。ThingsBoard中的遥测用于实时监控与可视化,便于用户跟踪传感器状态与历史表现。
通过发送该遥测消息,传感器数据会在ThingsBoard上持续更新,可在仪表板中展示、用于分析、触发告警或根据读数执行其他操作,从而在工业物联网应用中实现有效的传感器网络监控与管理。
1
Topic: v1/gateway/attributes
1
2
3
4
5
6
7
8
9
10
11
Message: {
"Device A": [
{
"ts": 1483228800000,
"values": {
"temperature": 42,
"humidity": 80
}
},
]
}

检查与ThingsBoard Cloud的连接
返回 ThingsBoard 平台后,会看到已按 MAC地址 自动添加新设备。Enterprise IIoT网关 与 传感器设备 均会显示为 Active。系统会根据传感器通信情况自动更新设备状态。 可点击新设备查看 属性、最新遥测、告警、事件、关系、审计日志 等,以了解设备在ThingsBoard中的状态与运行情况。
可点击 “Attributes” 选项卡查看新添加的传感器属性。这些属性一般只更新一次,不会随每次上报变化,表示传感器的静态或较少变更信息,例如:
- 传感器名称:便于识别的名称。
- 固件版本:传感器当前固件版本。
- 节点ID:网络中该传感器的唯一标识。
- 传感器类型:传感器类型。
可在 “Latest telemetry” 选项卡下查看最新传感器遥测,包括温度、振动、电池电量等实时数据。每次传感器向ThingsBoard上报时这些值会更新,是监控传感器性能与状态的主要数据来源,可用于创建告警或构建展示实时测量的仪表板。每次传感器发送数据后,界面会显示更新后的数值,与下图类似。
Create a ThingsBoard Dashboard
下一步是在ThingsBoard中创建仪表板。ThingsBoard的仪表板用于可视化与监控从IoT设备采集的数据。请创建仪表板并添加若干部件,以展示实体列表及其最新NCD传感器数值。 创建新的空白仪表板可按以下步骤操作:
-
通过左侧主菜单进入 “Dashboards” 页面(默认进入“All”分组),点击右上角 “+”,从下拉菜单选择 “创建新仪表板”;
-
在弹出对话框中输入仪表板标题,描述可选,点击 “添加”;
-
点击屏幕顶部的“添加部件”按钮,或点击屏幕中央的“添加新部件”大图标(若为本仪表板首个部件);
-
找到 “Digital gauges” 部件组并点击;
-
选择“迷你仪表盘”部件;
-
在 “Device” 属性中选择已创建设备;在 “Data key” 中点击 “+Add” 会列出传感器上报的变量,本例选择 “Temperature”。
-
在属性中可设置单位、量程、小数位数、样式等。点击 “添加” 图标将部件加入仪表板;
-
可拖拽部件右下角以略微放大。
通过左侧主菜单进入 “Dashboards” 页面(默认进入“All”分组),点击右上角 “+”,从下拉菜单选择 “创建新仪表板”;
在弹出对话框中输入仪表板标题,描述可选,点击 “添加”;
点击屏幕顶部的“添加部件”按钮,或点击屏幕中央的“添加新部件”大图标(若为本仪表板首个部件);
找到 “Digital gauges” 部件组并点击;
选择“迷你仪表盘”部件;
在 “Device” 属性中选择已创建设备;在 “Data key” 中点击 “+Add” 会列出传感器上报的变量,本例选择 “Temperature”。
在属性中可设置单位、量程、小数位数、样式等。点击 “添加” 图标将部件加入仪表板;
可拖拽部件右下角以略微放大。
完成后,仪表板上会出现该仪表部件,显示传感器上报的最新值(本例为23摄氏度)。
在“编辑”模式下将鼠标悬停于部件上时,部件右上角会显示按钮,用于编辑、下载、删除部件或调整位置与大小。
添加更多部件时可按以下步骤操作:
-
再次点击“添加部件”;
-
本例添加第二个部件以显示传感器电池电量。进入 “Status indicators” 部件组;
-
选择“电池电量”部件;
-
将 “Device” 再次设为之前添加的NCD设备;在 “Data key” 中点击并选择NCD振动传感器上报变量列表中的 “battery_percent”;
-
在 “Appearance” 下选择 “Horizontal. Divided” 调整布局。ThingsBoard会实时预览该部件的布局效果。点击 “添加”;
-
按需调整部件大小与位置。保存对ThingsBoard仪表板的修改请点击右上角 “保存”。
再次点击“添加部件”;
本例添加第二个部件以显示传感器电池电量。进入 “Status indicators” 部件组;
选择“电池电量”部件;
将 “Device” 再次设为之前添加的NCD设备;在 “Data key” 中点击并选择NCD振动传感器上报变量列表中的 “battery_percent”;
在 “Appearance” 下选择 “Horizontal. Divided” 调整布局。ThingsBoard会实时预览该部件的布局效果。点击 “添加”;
按需调整部件大小与位置。保存对ThingsBoard仪表板的修改请点击右上角 “保存”。
按需可添加任意数量部件,步骤与前述相同。每个部件均可 自定义 与 调整,包括 样式、颜色、单位、图标、元素、分布、大小 等,并可绑定振动传感器上报的变量。
我们已按同样方式在仪表板上添加了若干部件并绑定传感器振动变量。仪表板最终布局如下。 点击右上角 “Expand to fullscreen” 可全屏查看仪表板。

最终仪表板效果如下:

总结
本教程介绍了将NCD工业物联网无线振动温度传感器与ThingsBoard Cloud集成的步骤,便于您管理与可视化NCD传感器上报的振动与温度数据。
将NCD工业物联网无线振动温度传感器成功接入ThingsBoard后,可进一步为传感器数据设置阈值与告警、在超限时通过邮件、短信或网页通知;也可通过为用户分配角色与权限,实现对设备与仪表板的定制访问。