通过CoAP发布消息
更新时间:2020-07-20
IoT Core 支持通过 CoAP 协议发布消息。
获取 CoAP 接入点地址
在 IoT Core 详情页可以查看。也可通过 IoTCoreId
+ .iot.+Region
+.baidubce.com 拼接出来,其中 Region 即地域,在创建 IoT Core 当前支持广州gz
。
服务端口号
通过 CoAP 协议消息发布,对应端口如下:
协议 | 端口 | 描述 |
---|---|---|
HTTP | 5683 | 非加密 CoAP 连接 |
使用时可根据实际场景进行选择。
连接鉴权信息
使用方式
权限认证
通过向接入点({iotCoreid}.iot.gz.baidubce.com/auth
) POST 验证 username 和 password,换取消息发送所需的 token。
方法 | API | 说明 |
---|---|---|
POST | /auth | 获取鉴权 token |
请求参数
参数名称 | 是否必须 | 说明 |
---|---|---|
username | 必选 | 上文中组合得到的用户名 |
password | 必选 | 上文中计算得到的密码 |
Accept | 必选 | 当前只支持application/json |
Content-Format | 必选 | 当前只支持application/json |
tokenLifeSpanInSeconds | 可选 | token有效时长,默认600秒 |
请求示例
POST /auth
Host:${IotCoreid}.iot.gz.baidubce.com
Port: 5683
Accept: application/json
Content-Format: application/json
payload: {"username":"thingidp@axxr***","password":"7a793***","tokenLifeSpanInSeconds":300}
认证成功返回示例
{"message":"Success","token":"eyJ0eXAiOiJKV***.eyJpc3MiOiJJT1RfQVVUSC0i***.t4I8jkCchRIPzGNeIgWYhDVFHuW***"}
消息发布
通过向接入点({iotCoreid}.iot.gz.baidubce.com/auth
) POST 验证 username 和 password,换取消息发送所需的 token。
方法 | API | 说明 |
---|---|---|
POST | /pub | 发布消息 |
请求参数
参数名称 | 是否必须 | 说明 |
---|---|---|
CustomOptions | 必选 | option取值当前只有一种: 2080: 标识token,取值为设备认证后返回的token值 (说明:每次上报数据都需要携带token信息,如果token失效,需要重新进行设备认证,获取token) |
topic | 必选 | 消息需要发送到的主题 |
qos | 必选 | 消息qos,支持0或者1 |
Accept | 必选 | 当前只支持application/json |
Content-Format | 必选 | 当前只支持application/json |
请求示例
POST /pub?topic=${topic}&qos={qos}
Host:${IotCoreid}.iot.gz.baidubce.com
Port: 5682
Accept: application/json
Content-Format: application/json
payload: ${your_data}
CustomOptions: number:2080(标识token)
认证成功返回示例
{"message":"Success"}