本指南将引导您如何订阅设备的消息,以及如何使用 Eclipse Mosquitto 的命令行工具订阅或发布消息来向特定设备发送命令。
设置
- 安装或下载 Mosquitto。
凭证
浏览 SenseCAP 门户,导航到“Security/Access API keys”,点击“Create Access Key”,即可获取“Access API keys”,将其设置为 <Password>,同时将“Organization ID”设置为 <OrgID>。接收设备消息
让我们监听所有设备的消息。- 打开终端窗口并执行以下命令。
- 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>。
- 启动设备,当设备持续发送消息时,您应该会收到如下数据:
/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;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 监控和接收消息。去构建一些令人惊叹的东西吧!