更新时间:2024-04-29 GMT+08:00
分享

设备策略使用示例

场景一: 策略允许OR禁止发布某Topic

  1. 创建产品和设备
    • 创建产品。访问设备接入服务,单击“管理控制台”进入设备接入控制台。单击左侧导航栏“产品”,在页面中点击红色按钮“创建产品”。根据页面提示填写参数,然后单击“确定”,完成产品的创建。详情可见:创建产品
    • 创建设备。在设备接入控制台,单击左侧导航栏设备 > 所有设备,单击页面右上角的“注册设备”。根据页面提示填写参数,然后单击“确定”,完成设备的创建。详情可见:注册单个设备
  2. 生成策略
    • 访问设备接入服务,单击“管理控制台”进入设备接入控制台。
    • 左侧导航栏单击设备 > 策略,进入策略界面。
      图1 策略界面
    • 在策略界面点击“创建策略”,填写策略参数,点击生成策略。策略的应用范围是资源空间(appId),其中资源“topic:”开头代表MQTT中的Topic,用于发布与订阅。允许发布和订阅主题:/v1/test/hello。
      图2 创建策略
    • 绑定策略。下面以某个设备为例进行绑定。策略目标类型选择“设备”,点击需要绑定策略的设备。
      图3 策略绑定设备
    • 验证策略。
      1. 获取连接参数。在“管理控制台”点击左侧导航栏设备 > 所有设备,找到上述策略绑定的设备,进入设备详情页面,查看连接参数。详情可见使用Mqtt.fx调测
        图4 查看设备参数
      2. 使用MQTT.fx连接云平台。打开MQTT.fx软件,配置上述策略绑定的设备的鉴权参数,然后单击“Apply”保存,点击“Connect”进行连接鉴权。
      3. 订阅允许的topic。订阅主题:/v1/test/hello,订阅成功。
        图5 订阅成功
      4. 订阅其他Topic。订阅主题:/v2/test/hello,订阅失败。
        图6 订阅失败

场景二: 端到端(M2M)+策略

接下来讲述产品A下的设备a,对产品B下的所有设备进行1对N通信(假设转发的Topic为以/test/M2M/开头的消息)。同时,只允许产品A下设备a、产品B下的所有设备进行发布、订阅Topic以/test/M2M/开头的消息。

  1. 创建产品和设备
    • 创建产品。访问设备接入服务,单击“管理控制台”进入设备接入控制台。单击左侧导航栏“产品”,在页面中点击红色按钮“创建产品”。根据页面提示填写参数,然后单击“确定”,完成产品的创建。详情可见:创建产品
    • 创建设备。在设备接入控制台,单击左侧导航栏设备 > 所有设备,单击页面右上角的“注册设备”。根据页面提示填写参数,然后单击“确定”,完成设备的创建。详情可见:注册单个设备
  2. 设置流转规则
    • 访问设备接入服务,单击“管理控制台”进入设备接入控制台。在左侧导航栏“规则”中点击“数据转发”,可到数据转发界面。
      图7 数据转发页面
    • 点击“创建规则”按照业务具体填写需要转发的数据参数,填写完成后点击“创建规则”。配置SQL过滤语句为:STARTS_WITH(notify_data.body.topic,'/test/M2M/')。
      图8 创建数据转发规则

      SQL过滤语句的使用详情可见:SQL语句

      STARTS_WITH(notify_data.body.topic,'/test/M2M/')代表的是筛选主题(Topic)以“/test/M2M/”开头的数据。

    • 设置转发到的目标。请将转发目标设置为“设备”,Topic填写“$topic()”(表示转发的Topic不变,按原本Topic下发),点击“确定”
      图9 设置转发目标
    • 启动规则。点击启动规则,完成规则设置。
      图10 启动规则
  3. 设置策略
    • 左侧导航栏单击设备 > 策略,进入策略界面。
      图11 策略界面
    • 在策略界面点击“创建策略”,填写策略参数,点击生成策略。添加策略如下图所示:
      图12 创建策略
    • 绑定策略。把需要开放的产品及设备进行绑定。策略目标类型选择“产品”,点击需要绑定策略的产品。确定后可以在“策略详情”页面,进行“编辑”,添加要绑定的设备。
      图13 绑定产品
      图14 绑定设备

  4. 验证策略。
    1. 打开两个MQTT.fx,分别模拟产品A下的设备a(test111)、产品B下的设备b(test222)。如何使用MQTT.fx可参考使用Mqtt.fx调测使用Mqtt.fx调测。
    2. 设备b在Subscribe页面中输入Topic“ /test/M2M/#”后,单击“Subscribe”订阅。
      图15 设备b(test222)在Subscribe页面中输入topic
    3. 设备a(test111)向设备b(test222)发送消息,在设备a(test111)的MQTT.fx的“Publish”页面中,输入topic"/test/M2M/${任意单词}”(其中“${任意单词}”替换成任意单词) ,在内容输入框中输入要发送的消息(如:hello)单击“Publish”即可发送。
      图16 设备a Publish页面输入消息

      在设备b的Subscribe页面可以看到接收的消息如下:

      图17 设备b Subscribe页面展示
    4. 非产品B名下设备订阅或发布Topic:“ /test/M2M/#”,订阅、发布失败。
      图18 订阅失败
分享:

    相关文档

    相关产品