HTTP协议接入
约 438 字大约 1 分钟
2025-03-03
简述
联犀在支持MQTT协议接入的基础上,同样支持HTTP协议的接入,限制为只支持设备上行的消息,如属性控制下发这种是不支持的。
认证
HTTP协议采用 Basic Auth 的方式进行认证,需要填写的参数对应如下:
- userName:MQTT协议认证方式中计算出的userName
- password:MQTT协议认证方式中计算出的password
在 Header 中添加参数 Authorization
,其值为在 Basic
之后拼接空格,以及经过 Base64 编码的 {{Username}}:{{Password}}
示例: Authorization: Basic YWRtaW46MTIzNDU2
API接口地址: https://unitedrhino.apifox.cn/api-233401356
请求方式
基本信息
- 域名与端口:请求的端口和默认web访问的一致
- URL:
/api/v1/things/device/edge/send/{handle}/{type}
请求参数
参数 | 位置 | 必选 | 说明 |
---|---|---|---|
handle | path | 是 | 对应MQTT topic的第一个:thing、ota、config等 |
type | path | 是 | 操作类型,从topic中提取:物模型下就是property属性、event事件、action行为 |
productID | header | 否 | 产品ID,默认为userName中的设备,如果网关操作子设备,则可以填写子设备的产品ID |
deviceName | header | 否 | 设备ID,默认为userName中的设备,如果网关操作子设备,则可以填写子设备的设备ID |
请求体
Body直接填写MQTT协议中的payload。
cURL示例
curl --location --request POST 'http://localhost:7777/api/v1/things/device/edge/send/gateway/thing' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic MDBqJjVDNTMxMDRBNkMzNTsxMjAxMDEyNjtXNk1QTTsxODg5MDc2Mjc2NDE3OjhkNGI3MTMzMzUxNTdmYTNhOTMwNzAwYjM1MGVjMjEzYTU5MWJlNmI7aG1hY3NoYTE=' \
--data-raw '{
"method": "report",
"msgToken": "123",
"params": {
"ble_key": "123"
}
}'
响应
响应以JSON格式返回,示例如下:
{
"code": 200,
"msg": "success",
"data": {
"code": 200,
"method": "reportReply",
"msgToken": "123"
}
}
响应参数说明
参数 | 说明 |
---|---|
code | 200表示成功 |
msg | code的描述 |
data | data返回MQTT协议订阅后应该返回的报文 |