本指南将引导您了解如何订阅设备消息以及如何向特定设备发送命令,使用 Eclipse Mosquitto 的 CLI 来订阅或发布消息。

设置

凭据

浏览 SenseCAP 门户,导航到"安全/访问 API 密钥",点击"创建访问密钥",您可以获得"访问 API 密钥",将其记录为 <Password>,同时将"组织 ID"记录为 <OrgID>。

接收设备消息

让我们监听您所有设备的消息。

1.打开终端窗口并执行以下命令。

  • OrgID = 组织 ID
  • Password = 访问 API 密钥
mosquitto_sub -h sensecap-openstream.seeed.cn -t '/device_sensor_data/<OrgID>/+/+/+/+' -u 'org-<OrgID>' -P '<Password>' -I 'org-<OrgID>-quickstart' -v

请将您刚刚获得的组织ID和访问API密钥替换上述的<OrgID>和<Password>。

2.给设备上电,当设备持续发送消息时,您应该会收到如下数据:

/device_sensor_data/1234/2CF7F12000000001/1/vs/4105 "value":2,"timestamp":1544151824139
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4097 "value":23,"timestamp":1544151900992
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4101 "value":101629,"timestamp":1544151901112
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4098 "value":71,"timestamp":1544151900992
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4099 "value":69.12,"timestamp":1544151902224
/device_sensor_data/xxxx/2CF7F12XXXXXXXXX/1/vs/4100 "value":437,"timestamp":1544151922137
示例字段描述
1234OrgId组织ID
2CF7F12000000001DeviceEUI设备的唯一标识
1Channel设备上用于连接传感器的物理接口
vsReserved保留字段
4105MeasureID测量类型,4105是风速
2value采集的测量值,风速为2m/s
1544151824139timestamp数据的采集时间戳

订阅特定密钥

指定特定密钥可以让您订阅特定设备或通道的数据。

示例: 订阅空气温湿度传感器(DeviceEUI: 2CF7F12210400083;通道:1)收集的温度值。温度测量ID为4097。 将 <OrgID> 替换为组织ID,将 <Password> 替换为访问API密钥,执行命令:

mosquitto_sub \
-h sensecap-openstream.seeed.cn \
-t '/device_sensor_data/<OrgID>/2CF7F12210400083/1/vs/4097' \
-u 'org-<OrgID>' \
-P '<Password>' \
-I 'org-<OrgID>-quickstart' \
-v

Received the data:

/device_sensor_data/521853156991/2CF7F12210400083/1/vs/4097 {"value":28,"timestamp":1561373812474}

恭喜!现在您知道如何通过 MQTT 监控和接收消息了。去构建一些令人惊叹的东西吧!