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

设置

凭证

浏览 SenseCAP 门户,导航到“Security/Access API keys”,点击“Create Access Key”,即可获取“Access API keys”,将其设置为 <Password>,同时将“Organization ID”设置为 <OrgID>。

接收设备消息

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

  1. 打开终端窗口并执行以下命令。
  • OrgID = 组织 ID
  • Password = Access API keys
mosquitto_sub -h sensecap-openstream.seeed.cn -t '/device_sensor_data/<OrgID>/+/+/+/+' -u 'org-<OrgID>' -P '<Password>' -I 'org-<OrgID>-quickstart' -v

请将刚刚获取的组织 ID 和 Access API Key 替换为上述的 <OrgID> 和 <Password>。

  1. 启动设备,当设备持续发送消息时,您应该会收到如下数据:
/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;Channel: 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

接收到的数据:

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

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