产品定价 立即试用
目录
如何将 IoT Gateway Cell 1024 连接至 ThingsBoard?

概述

EXXN物联网网关是一款配备ARM处理器的多功能设备,可适用于多种场景,包括环境传感器监控、能耗监测、氡气浓度检测、海洋环境监测及边缘计算。





前置条件

继续本指南前,需准备以下内容:

在ThingsBoard中创建设备

在浏览器中打开您的平台实例或ThingsBoard 云端,以租户管理员身份登录。

  • 进入“设备组”选项卡 ->“全部”,点击“加号”按钮添加新设备。输入设备名称,选择现有或创建新设备配置,点击“添加”按钮。

  • 设备已创建。打开设备详情,点击“复制访问令牌”按钮复制自动生成的 访问令牌

连接设备到ThingsBoard

  • 使用URL https://[IP_DEVICE] 在浏览器中打开Cell 1024的管理界面,进入“Cloud”选项卡。

  • 启用Cloud控制,并配置所有参数以通过MQTT将设备连接到指定的ThingsBoard平台。

  • 点击“保存配置”按钮。

配置参数 说明
Cloud Platform(云平台) 选择ThingsBoard。
MQTT broker URL(MQTT代理URL) 要集成的服务器Broker的URL。
MQTT broker port(MQTT代理端口) 服务器使用的端口号。
TLS 若服务器使用传输层安全协议,请选择true。
Connection Type(连接类型) 选择“Access Token”选项。将使用在ThingsBoard中先前创建的访问令牌。
Access Token(访问令牌) 填入先前在ThingsBoard中复制的访问令牌。
文档信息图标

注意

目前,EXXN IoT网关使用“Access Token”集成方式。
EXXN团队正在开发Pre-Provisioning集成方式,届时将无需在设备上复制此访问令牌。

要验证设备是否正确连接到ThingsBoard,请进入 设备组 菜单 -> 全部 设备,选择您的设备。
设备详情 中选择 客户端属性 选项卡,检查客户端属性是否已下发到设备。

  • 若配置正确,我们将看到如 serial_numberlast_rebootdevice_model 等客户端属性。

EXXN IoT网关将使用MQTT API连接到ThingsBoard。
前面已介绍如何配置设备以连接ThingsBoard。
下面介绍在ThingsBoard中配置设备以监控数据和管理设备的步骤。

要为EXXN IoT网关配置数据记录器选项,需要为设备创建键为“config”的新JSON“共享属性”。

使用以下JSON:

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
{
  "control_config": {
    "debug_level": 10
  },
  "datalogger_config": {
    "csv_path": "/opt/celling/datalogger/data/",
    "redis_list_max_len": 16384,
    "sensor_list": [
      {
        "id": "system_monitor",
        "description": "CPU usage (%), disk free (MB), memory available (MB)",
        "model": "sys_mon",
        "storage_device": "/dev/mmcblk0p2",
        "measures": [
          "disk_free",
          "mem_available",
          "cpu_usage"
        ],
        "enabled": true,
        "period": 60,
        "csv": true,
        "mqtt": true
      },
      {
        "id": "temp_sc0",
        "description": "Temperature of the small cell #0",
        "model": "ds18b20",
        "name": "sc0",
        "address": "28-01212e9c95be",
        "measures": [
          "temperature"
        ],
        "enabled": true,
        "period": 15,
        "csv": true,
        "mqtt": true
      },
      {
        "id": "temp_sc1",
        "description": "Temperature of the small cell #1",
        "model": "ds18b20",
        "name": "sc1",
        "address": "28-01212e96afff",
        "measures": [
          "temperature"
        ],
        "enabled": false,
        "period": 15,
        "csv": true,
        "mqtt": true
      },
      {
        "id": "fan_rpm",
        "description": "Fan tachometer monitor",
        "model": "tachometer",
        "name": "fan",
        "gpio": 22,
        "sampling_window": 5000,
        "measures": [
          "rpm"
        ],
        "enabled": true,
        "csv": true,
        "mqtt": true
      },
      {
        "id": "temp_hum",
        "description": "Temperature (celsius degrees), humidity (%)",
        "model": "cwt_th01s",
        "name": "th",
        "config_params": {
          "port": "/dev/ttyS1",
          "baudrate": 9600,
          "read_timeout": 0.5,
          "slave_id": 2
        },
        "measures": [
          "temperature",
          "humidity"
        ],
        "enabled": true,
        "period": 15,
        "csv": true,
        "mqtt": true
      },
      {
        "id": "gpio_monitor",
        "description": "GPIOs configuration and monitoring",
        "model": "gpio_mon",
        "name": "gpio",
        "measures": [
          "state"
        ],
        "mapping": {
          "LOCK": {
            "pin": 1,
            "gpio": 4,
            "direction": "out",
            "boot_value": 0
          },
          "LED": {
            "pin": 3,
            "gpio": 2,
            "direction": "out",
            "boot_value": 0
          },
          "FAN": {
            "pin": 5,
            "gpio": 34,
            "direction": "out",
            "boot_value": 0
          },
          "BUZZER": {
            "pin": 1,
            "gpio": 43,
            "direction": "out",
            "boot_value": 0
          }
        },
        "enabled": true,
        "period": 15,
        "csv": true,
        "mqtt": true
      },
      {
        "id": "energy_meter",
        "description": "Voltage (V), Current (A), Active Power (KWh), Power Factor",
        "model": "ddm18sd",
        "config_params": {
          "port": "/dev/ttyS1",
          "baudrate": 9600,
          "read_timeout": 1,
          "slave_id": 0
        },
        "measures": [
          "voltage",
          "current",
          "active_power",
          "power_factor"
        ],
        "enabled": true,
        "period": 15,
        "csv": true,
        "mqtt": true
      }
    ]
  }
}

通过此JSON文件正确配置设备的所有信息,请参见EXXN IoT网关手册。

  • 进入设备详情中的 属性 选项卡。添加键为“config”、类型为 JSON 的新“共享属性”。

  • 将属性内容展开至全屏以便编写。将设备配置内容粘贴到属性值中。

  • 点击“添加”属性。

在ThingsBoard上查看数据

创建仪表板以在部件中可视化遥测值。

  • 进入 仪表板组 选项卡 -> 全部。点击仪表板页面右上角“+”按钮创建新仪表板,输入仪表板名称并点击“添加”按钮。

  • 模拟仪表 组合中创建 径向仪表 部件。本示例使用 sc0_temperature

  • 数据将显示在所选部件上。

  • 设备JSON配置文件中已“启用”的测量项将作为指标显示,名称与配置文件中指定的一致。
  • 有关部件及其创建的更多信息,请参阅本指南

使用RPC控制设备

  • 可向设备发送命令以执行特定任务。方法参数必须为JSON格式。

要了解更多RPC命令,请参阅此文。 所有可发送至设备的命令说明请参见EXXN IoT网关手册。

补充信息

以下为一些可能有用的补充链接。

故障排查

  • 集成过程中最常见的问题是与MQTT Broker无法建立连接。请确保设备已连接到互联网,且能与ThingsBoard Broker通信。
  • 另一个常见问题是未正确设置访问令牌。请检查ThingsBoard中为设备配置的访问令牌是否正确。

反馈与帮助

更多信息请访问EXXN Engineering官网。
如有任何问题或疑虑,请联系EXXN技术支持:troubleshooting@exxn.es

总结

现在您可以轻松将IoT Gateway Cell 1024连接到ThingsBoard并开始发送数据。

进一步了解可查阅ThingsBoard文档, 学习创建仪表板可视化遥测、 配置告警规则实时监控设备行为等核心功能。

发现即插即用硬件,助力您的解决方案
合作伙伴图标