基于规则引擎的M2M设备间通信Node JS SDK 示例

作者:俏巴

概述

M2M(即Machine-to-Machine)是一种端对端通信技术。本章节以Node JS SDK为例,使用规则引擎数据流转来实现M2M设备间通信,主要介绍如何基于物联网平台构建一个M2M设备间通信架构。

实验步骤

第一部分:配置相关
1、创建产品
基于规则引擎的M2M设备间通信Node JS SDK 示例
基于规则引擎的M2M设备间通信Node JS SDK 示例

2、产品下面添加设备1和设备2
基于规则引擎的M2M设备间通信Node JS SDK 示例

3、规制引擎配置
基于规则引擎的M2M设备间通信Node JS SDK 示例

4、启动规则引擎
基于规则引擎的M2M设备间通信Node JS SDK 示例

第二部分:客户端代码相关
5、Node JS 设备端SDK安装

npm install alibabacloud-iot-device-sdk --save

6、设备端业务代码

设备1

// node引入包名
const iot = require('alibabacloud-iot-device-sdk');
// 浏览器、微信小程序,支付宝小程序引入./dist编译的js文件
// const iot = require('./dist/alibabacloud-iot-device-sdk.js');
// js版本下载地址:
//    https://github.com/aliyun/alibabacloud-iot-device-sdk/tree/master/dist  或
//    alibabacloud-iot-device-sdk.js 下载地址 https://unpkg.com/alibabacloud-iot-device-sdk@1.2.4/dist/alibabacloud-iot-device-sdk.js  或
//    alibabacloud-iot-device-sdk.min.js 下载地址 https://unpkg.com/alibabacloud-iot-device-sdk@1.2.4/dist/alibabacloud-iot-device-sdk.min.js  
//  

const device = iot.device({
  productKey: 'a12OcQ4****',
  deviceName: 'device1',
  deviceSecret: '3yWqKtWxN7VPuWEEDEn4eKWNNtUv****'
  // 支付宝小程序和微信小程序额外需要配置协议参数
  // "protocol": 'alis://', "protocol": 'wxs://',
});
device.on('connect', () => {
  console.log('connect successfully!');
  // 发送消息到指定的Topic,等待规则引擎转发到另外的一个设备的Topic
  device.publish('/a12OcQ4****/device1/user/m2mdata', '{"ke1":"value1 test"}');
});

设备2

// node引入包名
const iot = require('alibabacloud-iot-device-sdk');
// 浏览器、微信小程序,支付宝小程序引入./dist编译的js文件
// const iot = require('./dist/alibabacloud-iot-device-sdk.js');
// js版本下载地址:
//    https://github.com/aliyun/alibabacloud-iot-device-sdk/tree/master/dist  或
//    alibabacloud-iot-device-sdk.js 下载地址 https://unpkg.com/alibabacloud-iot-device-sdk@1.2.4/dist/alibabacloud-iot-device-sdk.js  或
//    alibabacloud-iot-device-sdk.min.js 下载地址 https://unpkg.com/alibabacloud-iot-device-sdk@1.2.4/dist/alibabacloud-iot-device-sdk.min.js  
//  

const device = iot.device({
  productKey: 'a12OcQ4****',
  deviceName: 'device2',
  deviceSecret: 'X9fzX9u0aIOORNghPyfYKq22IL7Q****'
  // 支付宝小程序和微信小程序额外需要配置协议参数
  // "protocol": 'alis://', "protocol": 'wxs://',
});
// 定于规则引擎转发过来的消息
device.subscribe('/a12OcQ4****/device2/user/m2mdata');
device.on('connect', () => {
  console.log('connect successfully!');
});
device.on('message', (topic, payload) => {
  console.log(topic, payload.toString());
});

7、测试运行
基于规则引擎的M2M设备间通信Node JS SDK 示例

第三部分:问题排查
对于使用过程中设备2无法正常监听到消息的情况,可以结合运维监控的日志服务进行排查。

基于规则引擎的M2M设备间通信Node JS SDK 示例

参考链接

基于规则引擎的M2M设备间通信
Node JS SDK环境要求与配置

上一篇:基于Topic消息路由的M2M设备间通信Node JS SDK 示例


下一篇:FireFox下表单无法刷新重置问题的分析与解决(转)