更新时间:2024-08-21 GMT+08:00

设备间消息通信使用示例

前置步骤

  1. 创建产品和设备
    • 创建产品。访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。单击左侧导航栏“产品”,在页面中单击红色按钮“创建产品”。根据页面提示填写参数,然后单击“确定”,完成产品的创建。详情可见:创建产品
    • 创建设备。在设备接入控制台,单击左侧导航栏设备 > 所有设备,单击“注册设备”。根据页面提示填写参数,然后单击“确定”,完成设备的创建。详情可见:注册单个设备

配置流转规则

  1. 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
  2. 左侧导航栏单击规则 > 数据转发,进入数据转发界面。

    图1 数据转发-列表

  3. 数据转发>规则列表界面单击“创建规则”,填写规则参数,设置转发数据,配置数据过滤语句为:STARTS_WITH(notify_data.body.topic,'/test/M2M/')。

    图2 新建流转规则-M2M
    • 图2 创建数据转发规则的设置代表:在资源空间XXX中的所有设备,Topic中包含/test/M2M/的消息上报,都会触发该流转规则,转发到设置的转发目标。
    • 若希望指定某个设备上报的数据进行流转,可在SQL语句中添加:AND notify_data.header.device_id='${对应的设备ID}'。
    • 若希望指定某种产品上报的数据进行流转,可在SQL语句中添加:AND notify_data.header.product_id='${对应的产品ID}'。
      图3 数据转发-M2M_SQL语句示例
    • 关于SQL的设置,详情可见:SQL语句

  4. 设置转发目标。单击“添加”,设置转发目标为“设备”,Topic为:“$topic()”(转发后Topic不变),ttl设置为5分钟(数据缓存5分钟)。设置完成后单击“确定”。

    图4 新建转发目标-转发至设备

  5. 启动规则。单击页面中央的“启动规则”,完成规则设置。

    图5 启动规则-转发至设备

验证

  1. 使用设备间消息通信功能时,具体步骤如下:
    1. 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
    2. 创建产品,产品的“协议类型”选择“MQTT”。
      图6 创建产品-M2M
  2. 1中创建的产品下分别注册设备A(test111)和设备B(test222),详细步骤可参考注册单个设备
    图7 设备-注册M2M设备
  3. 您可以根据自己的业务场景来实现设备间消息通信。下面以MQTT.fx为例说明如何进行设备间消息通信:
    1. 打开两个MQTT.fx,分别模拟设备A(test111)、B(test222)。
    2. 设备B在Subscribe页面中输入Topic“ /test/M2M/#”后,单击“Subscribe”订阅。
      图8 设备B(test222)在Subscribe页面中输入topic
    3. 设备A(test111)向设备B(test222)发送消息,在设备A(test111)的MQTT.fx的“Publish”页面中,输入topic“/test/M2M/${任意单词}”(其中“${任意单词}”替换成任意单词) ,在内容输入框中输入要发送的消息(如:hello)单击“Publish”即可发送。
      图9 设备A Publish页面输入消息

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

      图10 设备B Subscribe页面展示