# 设备控制

通过设备控制功能，用户可以通过平台给设备发送消息，同时平台也提供相应的 API 接口供外部应用调用。

设备控制记录在设备详情页**设备控制**标签页中可查看。

![](/assets/downstream_device.png)


### 设备控制

设备详情页中点击**设备控制**标签页，可以查看下发历史并通过平台直接向该设备下发指令。

- 下发指令内容必须是 JSON 格式字符串；
- 如不指定主题，默认下发主题为 `/devices/$device_id/inbox`（当设备使用 MQTT 协议连接至平台时，平台会自动为该设备代理订阅该主题）
- 发布的消息为非保留消息 （retained），若指定了发布主题，请确保设备已经订阅该主题。

![](/assets/device_publish.png)


### 分组控制

分组详情、编辑页中可以查看下发历史并通过平台直接向该分组所有设备下发指令。

- 下发指令内容必须是 JSON 格式字符串；
- 发布的消息为非保留消息 （retained），请确保设备已经连接到平台服务器。

![](/assets/group_publish.png)


### 代理订阅

代理订阅用于直接从 **ActorCloud** 代理某设备订阅/取消订阅主题，设备无须再次进行订阅操作，代理订阅支持最多添加10个自定义主题。

设备详情页中点击 **编码信息**标签页，可以查看代理订阅列表并通过平台直接向该设备下发指令。

![](/assets/device_subscription.png)


### 注意事项

- 所有主题需要符合 MQTT 主题规则；

- 设备端自行取消订阅主题，代理订阅列表不会删除该主题。

