# 使用HTTP 接入设备消息

注意:此功能在专业版中支持。

# 创建协议

请参考创建协议

# 创建产品

参考tcp接入设备示例中的创建产品,创建id为http-test的产品

创建产品

发布

# 创建设备实例

参考tcp接入设备示例中的创建设备,创建id为http-test-001的设备并激活

设备发布

# 创建网络组件

  1. 选择 设备接入-->网络组件--> 点击新增组件按钮。

insert-http-server

  1. 在创建完成的模块上点击启动按钮。

coap-http-start

# 创建设备网关

  1. 选择 设备接入-->设备网关--> 点击新建按钮。

insert-http-server-gateway

注意

和MQTT服务设备网关不同的是,http必须指定消息协议,因为无法通过消息识别出对应的设备标识. 同时多个协议可共用一个网关,通过上面配置中的协议路由来进行分发.
在消息解码时也无法通过上下文(MessageDecodeContext)获取到设备操作接口(DeviceOperator). 此处使用demo协议.

  1. 在操作列点击启动按钮启动网关。

http-server-gateway-start

# 推送消息

此处使用postman模拟设备请求。

# 模拟设备上报属性

postman-report-property

注意:

请求时路径中带的/report-property相当于mqtt中的topic,在demo协议将中根据路径来判断消息类型。

设备运行状态中查看:

http-device-property

# 模拟设备事件上报

postman-event-property

注意:

请求时路径中带的/fire-alarm相当于mqtt中的topic,在demo协议将中根据路径来判断消息类型。

设备运行状态中查看:

http-device-event1

事件详情:

http-device-event2

# 指令下发

由于http是短链接,无法直接下发指令,可以在消息拦截器中或者编码时通过将消息设置到device.setConfig中,在收到 http请求拉取消息时,通过device.getSelfConfig获取配置,并返回。