本指南将引导您了解如何订阅设备消息以及如何向特定设备发送命令,使用 Eclipse Mosquitto 的 CLI 来订阅或发布消息。
设置
- 安装或下载 Mosquitto。
凭据
浏览 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
示例 | 字段 | 描述 |
---|---|---|
1234 | OrgId | 组织ID |
2CF7F12000000001 | DeviceEUI | 设备的唯一标识 |
1 | Channel | 设备上用于连接传感器的物理接口 |
vs | Reserved | 保留字段 |
4105 | MeasureID | 测量类型,4105是风速 |
2 | value | 采集的测量值,风速为2m/s |
1544151824139 | timestamp | 数据的采集时间戳 |
订阅特定密钥
指定特定密钥可以让您订阅特定设备或通道的数据。示例: 订阅空气温湿度传感器(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 监控和接收消息了。去构建一些令人惊叹的东西吧!