更新时间:2024-08-21 GMT+08:00
设备策略使用示例
场景一: 策略允许OR禁止发布某Topic
- 创建产品和设备
- 生成策略
- 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
- 左侧导航栏单击图1 设备策略-进入界面
,进入策略界面。
- 在策略界面单击“创建策略”,填写策略参数,单击生成策略。策略的应用范围是资源空间(appId),其中资源“topic:”开头代表MQTT中的Topic,用于发布与订阅。允许发布和订阅主题:/v1/test/hello。
图2 设备策略-创建策略
- 绑定策略。下面以某个设备为例进行绑定。策略目标类型选择“设备”,单击需要绑定策略的设备。
图3 设备策略-绑定设备
- 验证策略。
- 获取连接参数。在“管理控制台”单击左侧导航栏图4 设备-设备详情
图5 设备-设备详情-MQTT连接参数
,找到上述策略绑定的设备,进入设备详情页面,查看连接参数。
- 使用MQTT.fx连接云平台。打开MQTT.fx软件,配置上述策略绑定的设备的鉴权参数,然后单击“Apply”保存,单击“Connect”进行连接鉴权。
- 订阅允许的topic。订阅主题:/v1/test/hello,订阅成功。
图6 订阅成功
- 订阅其他Topic。订阅主题:/v2/test/hello,订阅失败。
图7 订阅失败
- 获取连接参数。在“管理控制台”单击左侧导航栏
场景二: 端到端(M2M)+策略
接下来讲述产品A下的设备a,对产品B下的所有设备进行1对N通信(假设转发的Topic为以/test/M2M/开头的消息)。同时,只允许产品A下设备a、产品B下的所有设备进行发布、订阅Topic以/test/M2M/开头的消息。
- 创建产品和设备
- 设置流转规则
- 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。在左侧导航栏“规则”中单击“数据转发”,可到数据转发界面。
图8 数据转发-列表
- 单击“创建规则”按照业务具体填写需要转发的数据参数,填写完成后单击“创建规则”。配置SQL过滤语句为:STARTS_WITH(notify_data.body.topic,'/test/M2M/')。
图9 新建流转规则-M2M
SQL过滤语句的使用详情可见:SQL语句。
STARTS_WITH(notify_data.body.topic,'/test/M2M/')代表的是筛选主题(Topic)以“/test/M2M/”开头的数据。
- 设置转发到的目标。请将转发目标设置为“设备”,Topic填写“$topic()”(表示转发的Topic不变,按原本Topic下发),单击“确定”。
图10 新建转发目标-转发至设备
- 启动规则。单击页面中央的“启动规则”,完成规则设置。
图11 启动规则-转发至设备
- 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。在左侧导航栏“规则”中单击“数据转发”,可到数据转发界面。
- 设置策略
- 左侧导航栏单击图12 设备策略-进入界面
,进入策略界面。
- 在策略界面单击“创建策略”,填写策略参数,单击生成策略。添加策略如下图所示:
图13 设备策略-创建策略(M2M)
- 绑定策略。把需要开放的产品及设备进行绑定。策略目标类型选择“产品”,单击需要绑定策略的产品。确定后可以在“策略详情”页面,进行“编辑”,添加要绑定的设备。
图14 设备策略-绑定产品
图15 设备策略-编解策略
- 左侧导航栏单击
- 验证策略。
- 打开两个MQTT.fx,分别模拟产品A下的设备a(test111)、产品B下的设备b(test222)。
- 设备b在Subscribe页面中输入Topic“ /test/M2M/#”后,单击“Subscribe”订阅。
图16 设备b(test222)在Subscribe页面中输入topic
- 设备a(test111)向设备b(test222)发送消息,在设备a(test111)的MQTT.fx的“Publish”页面中,输入topic"/test/M2M/${任意单词}”(其中“${任意单词}”替换成任意单词) ,在内容输入框中输入要发送的消息(如:hello)单击“Publish”即可发送。
图17 设备a Publish页面输入消息
在设备b的Subscribe页面可以看到接收的消息如下:
图18 设备b Subscribe页面展示
- 非产品B名下设备订阅或发布Topic:“ /test/M2M/#”,订阅、发布失败。
图19 订阅失败
父主题: 设备Topic策略