使用 SenseCAP 数据记录器构建 LoRaWAN 传感器
概述
您可以使用 Grove 传感器构建一个定制的、经济高效的工业级 LoRaWAN 传感器,通过 SenseCAP 数据记录器连接到 SenseCAP 云平台,实现长距离无线数据传输。

准备工作
硬件准备
本教程需要以下产品:
在本教程中,使用的是 Grove - 氧气传感器 (MIX8410)。有关更多可用的 Grove 模块以及定制您自己的 Grove 模块的方法,您可以查看这里获取更多信息。
软件准备
根据您的操作系统,在手机上下载并安装 SenseCAP Mate App。
如果您是第一次使用 SenseCAP 平台,请先点击 Register 按钮注册账户,然后使用新创建的账户登录

带 * 的字段为必填字段,不带 * 的字段可选择性填写。
LoRaWAN 网络覆盖检查
我们在这里使用 LoRaWAN 网络。因此,需要检查您是否在 Helium 或 TTN(The Things Network)的 LoRaWAN 网络覆盖范围内。
如果您没有网络覆盖,可以使用任何由 Helium/TTN 支持的网关将传感器数据发送到云端。
- SenseCAP M1 LoRaWAN 室内网关 或 SenseCAP M2 LoRaWAN 室内网关 或任何其他支持 Helium 的网关用于 Helium。
- SenseCAP 户外 LoRaWAN 网关 或其他支持 TTN 的网关用于 TTN
开始使用
现在我们可以开始了。
1. 将 Grove 传感器连接到 SenseCAP S2110 传感器构建器
- 步骤 1: 拧下 SenseCAP S2110 传感器构建器盖子上的四颗螺丝并打开盖子

- 步骤 2: 取下螺纹盖

- 步骤 3: 将随附的电缆穿过盖子进入 SenseCAP S2110 传感器构建器

- 步骤 4: 按如下方式将电缆的导线连接到螺丝端子

- 步骤 5: 将 Grove 传感器放入 SenseCAP S2110 传感器构建器内并拧紧螺丝。
带 2 个孔的 Grove(例如:Grove - 光传感器 v1.2)

带 3 个孔的 Grove(Grove 温度和气压传感器 (BMP280))

-
步骤 6: 将 Grove 电缆连接到 Grove 传感器和 SenseCAP S2110 传感器构建器板上的 Grove 连接器
-
步骤 7: 关闭盖子并拧回螺丝

- 步骤 8: 拧紧螺纹盖并固定到位

2. 将 SenseCAP S2110 传感器构建器连接到 SenseCAP 数据记录器
- 步骤 1: 拧下数据记录器上的三颗螺丝

- 步骤 2: 取下底盖并取出内部 PCBA 直到螺丝端子可以接触。您不需要取出整个板子

- 步骤 3: 通过逆时针方向拧下螺纹盖

- 步骤 4: 将随附的电缆穿过螺纹盖和底盖

- 步骤 5: 按如下方式将电缆的导线连接到螺丝端子

由于电缆内有 5 根导线而我们只使用 4 根,最好将多余的导线用胶带包起来以避免意外接触螺丝端子
- 步骤 6: 将硬件单元放回外壳内,从底盖关闭并拧回螺丝

- 步骤 7: 拧紧螺纹盖并固定电缆到位

完成 SenseCAP S2110 传感器构建器和数据记录器的所有连接后,应如下所示:

3. 通过 SenseCAP Mate App 连接到 SenseCAP 云
- 步骤 1: 打开 SenseCAP Mate APP,输入您注册的邮箱和密码并点击 Login 按钮登录您的 SenseCAP 账户

保持服务器位置为全球,这是默认设置
a. 更新数据记录器固件
- 步骤: 在配置页面下,选择 S2100 数据记录器

- 步骤 2: 按住 SenseCAP 数据记录器上的配置按钮 3 秒钟以进入蓝牙配对模式

如果进入蓝牙配对模式,绿色 LED 将开始闪烁

- 步骤 3: 点击 Update

- 步骤 4: 现在它会提示您打开位置服务。点击 GO TO 打开手机上的位置服务页面

- 步骤 5: 打开位置服务。在 Android 上看起来如下所示

- 步骤 6: 返回 SenseCAP Mate 应用程序并点击 Scan

现在它将开始扫描附近的 SenseCAP 数据记录器
- 步骤 7: 点击发现的设备

- 步骤 8: 如果有可用更新,点击 Get Updates 更新到最新版本。更新到最新版本后,或者如果显示 The device is already running the latest firmware,返回到之前的设置页面

b. 配置数据记录器和 SenseCAP S2110 传感器构建器通信设置
- 步骤 1: 再次在数据记录器上进入 蓝牙配对模式 并点击 Setup

- 步骤 2: 点击找到的设备

它将打开一个页面,在 General 下显示有用信息

- 步骤 3: 转到 Setting 页面,在 Basic Setting 下,选择平台为 SenseCAP for the Things Network 或 SenseCAP for Helium

注意: 您也可以选择其他选项,但在这种情况下,您无法使用 SenseCAP 平台
- 步骤 4: 选择 Frequency Plan、Uplink interval 和 Packet Policy

默认的 Packet Policy 是 2C+1N,下表解释了更多关于它和其他选项的信息
参数 | 描述 |
---|---|
2C+1N(默认) | 2C+1N(2个确认数据包和1个非确认数据包)是最佳策略,该模式可以最小化数据包丢失率,但是设备在 TTN 中会消耗最多的数据包,或在 Helium 网络中消耗最多的数据积分。 |
1C | 1C(1个确认)设备在从服务器获得1个接收确认数据包后将进入睡眠状态。 |
1N | 1N(1个非确认)设备只发送数据包然后开始睡眠,无论服务器是否接收到数据。 |
- 步骤 5: 在传感器设置下,填写如下
参数 | 描述 |
---|---|
Protocol | RS485 Modbus RTU |
Baud Rate | 与传感器通信的波特率。在此选择 9600。 |
Modbus Address | 传感器的从机地址。范围是1到247。在此输入 1。 |
Power Type | 周期性供电:在数据采集前给传感器供电,数据采集后断电。此模式降低功耗并延长电池寿命。常开:当传感器需要持续供电时选择此模式。通常使用外部12V直流电源。如果仅由电池供电,可能无法长时间工作。在此选择 periodic power。 |
Power Voltage | 选择传感器的供电电压。支持3V/5V/12V。在此选择 5V。 |
Sensor Warm-up Time | 预热时间表示传感器在施加电压供应后达到最高精度或性能水平所需的时间。这取决于不同的传感器。Grove 氧气传感器(MIX8410) 和 CO2 & 温湿度传感器(SCD41) 需要 5s 的预热时间,这意味着您需要在框中输入 5000。目前 SenseCAP S2110 传感器构建器支持的其他 Grove 传感器只需要 0ms 预热时间。 |
Response Timeout | 数据记录器向传感器发起数据读取请求后,等待响应的超时时间。如果超过此时间,将重新发送命令。在此输入 1,表示 100ms。 |
Startup Time | 传感器从上电到能够与 Modbus 通信的时间长度。在此输入 20,表示 2000ms=2s |
填写完成的设置页面如下所示

- 步骤 6: 对于 Measurement Number,根据具体传感器参考下表。
Grove 传感器名称 | 测量数量 |
---|---|
Grove - Light Sensor v1.2 | 1 |
Grove - Flame Sensor | 1 |
Grove - Oxygen Sensor (MIX8410) | 1 |
Grove - CO2 & Temperature & Humidity Sensor (SCD41) | 3 |
Grove - Sunlight sensor (SI1151) | 3 |
Grove Temperature and Barometer Sensor (BMP280) | 3 |
SenseCAP Data Logger 在 RS485 模式下可以收集 0 到 10 个测量值。
- 步骤 7: 指定 测量数量 后,您需要填写 测量设置。这里我们将选择一个 Grove - 光传感器 v1.2。对于这个传感器,我们只需要 一个测量值,即光照强度。为 测量数量 选择 1 并点击 测量设置

- 步骤 8: 在 测量设置 下点击 测量1

如果您使用 Grove - CO2 & 温湿度传感器 (SCD41),我们需要 三个测量值,即 温度、湿度和 CO2 浓度。为 测量数量 选择 3 并点击 测量设置

此外,这里您需要分别配置这 3 个测量值

- 步骤 9: 对于 寄存器地址,请参考下表并输入 寄存器地址 的 十进制值
Grove 传感器名称 | 寄存器名称 | 寄存器地址 (十六进制) | 寄存器地址 (十进制) |
---|---|---|---|
Grove - 氧气传感器 (MIX8410) | 氧气 | 0x000E | 14 |
大气压力 | 0x0018 | 24 | |
高度 | 0x001A | 26 | |
Grove - 温湿度气压气体传感器(BME680) | 温度 | 0x001C | 28 |
大气压力 | 0x001E | 30 | |
湿度 | 0x0020 | 32 | |
空气质量(VOC) | 0x0022 | 34 | |
Grove - 气体传感器 V2(多通道) | N02 | 0x0024 | 36 |
C2H50H | 0x0026 | 38 | |
VOC | 0x0028 | 40 | |
CO | 0x002A | 42 | |
Grove - 紫外线传感器 | 紫外线强度 | 0x002C | 44 |
Grove - 浊度传感器 V1.0 | 浊度 | 0x002E | 46 |
Grove - TDS 传感器 | TDS | 0x0030 | 48 |
Grove - 超声波测距传感器 | 距离 | 0x0032 | 50 |
Grove - Light Sensor v1.2 的填写寄存器地址如下所示

Grove - CO2 & Temperature & Humidity Sensor (SCD41) 的填写寄存器地址如下所示



- 步骤 10: 其余设置对所有 Grove 传感器都是通用的,按如下方式填写
Function Code | Modbus 功能码。这里选择 03 |
---|---|
Data Type | 数据类型决定从传感器读取的寄存器数量以及数据应如何解析值。这里选择 Signed 32bit integer, 0xABCD。 |
Precision | 数值的精度。您可以选择测量值的小数位数。如果选择 1,则保留一位小数。这里选择 2, #.##。 |
Y= Ax + B | "Y":这是数据记录器将上传的值。"x":这是原始当前值。工厂 A:可以按 "x" 的倍数放大或缩小的自定义值。工厂 B:增加或减少 "x" 值的自定义值。通过设置 A 和 B 的值,您可以计算出所需的值。如果只需要上传原始值,请设置 A=1 和 B=0。这里我们设置 工厂 A 为 0.001,工厂 B 为 0。 |
Write Strategy | 此功能仅对某些特殊传感器启用,通常默认禁用。读取寄存器值后,可以向传感器发出特殊指令,例如读取寄存器 0 后清空寄存器的指令。None:默认关闭。After Read:读取寄存器后向传感器发送 RS485 命令。On New Data:每 24 小时向传感器发送一次 RS485 命令。我们不需要写入策略,所以这里选择 None |
一个填写完整的测量设置页面如下所示

- 步骤 11: 点击确认保存更改,页面将返回到设置页面

- 步骤 12: 点击发送将更改发送到数据记录器

c. 本地测试和查看传感器数据
现在我们需要测试 SenseCAP S2110 传感器构建器是否正确地将传感器数据发送到数据记录器。
- 步骤 1: 进入通用设置并点击测量

现在它将显示传感器数值,您将看到 SenseCAP S2110 传感器构建器上的 Seeed Studio XIAO RP2040 的 LED 灯亮起。

下面是Grove - 氧气传感器 (MIX8410) 的显示。这表示空气中的氧气浓度为 21.36%。

下面是Grove 温度和气压传感器 (BMP280) 的显示。这表示气压温度为 30.55°C,大气压力为 101401Pa,高度为 53.08m。

d. 将新创建的传感器添加到 SenseCAP 平台
- 步骤 1: 返回到应用主页,数据记录器的红色 LED 将开始闪烁几秒钟,然后绿色 LED 短暂闪烁,表示 LoRaWAN 连接成功并且数据已发送。或者您可以按一次数据记录器上的按钮来强制发送数据。

您还将看到 SenseCAP S2110 传感器构建器上的 Seeed Studio XIAO RP2040 的 LED 灯亮起

现在我们需要将此传感器添加到 SenseCAP 平台,以便在云端查看数据
- 步骤 2: 进入设备页面,点击 + 符号并点击添加设备

- 步骤 3: 扫描位于数据记录器上的二维码

- 步骤 4: 根据连接的 Grove 传感器输入设备名称并点击下一步

- 步骤 5: 输入设备位置并点击确认

4. 在 SenseCAP Mate 应用上可视化传感器数据
现在您将在 SenseCAP Mate 应用上看到数据记录器在线

点击它以显示传感器数值

下面是Grove 温度和气压传感器 (BMP280) 的显示。

5. (可选)在 SenseCAP 仪表板上可视化传感器数据
您还可以使用 SenseCAP Web 仪表板来可视化传感器数据。
- 步骤 1: 访问 sensecap.seeed.cc 并登录您之前在 SenseCAP Mate 应用中创建的 SenseCAP 账户。


- 步骤 2: 点击传感器节点并选择我们之前在 SenseCAP Mate 应用中创建的传感器。

- 步骤 3: 点击数据选项卡,您将看到来自连接的 Grove 传感器的所有传感器数据。

技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。