基于规则引擎的M2M设备间通信Node JS SDK 示例
概述
M2M(即Machine-to-Machine)是一种端对端通信技术。本章节以Node JS SDK为例,使用规则引擎数据流转来实现M2M设备间通信,主要介绍如何基于物联网平台构建一个M2M设备间通信架构。
实验步骤
第一部分:配置相关
1、创建产品
2、定义Topic
3、产品下面添加设备1和设备2
4、规制引擎配置
5、启动规则引擎
第二部分:客户端代码相关
6、Node JS 设备端SDK安装
npm install alibabacloud-iot-device-sdk --save
7、设备端业务代码
设备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());
});
8、测试运行
第三部分:问题排查
对于使用过程中设备2无法正常监听到消息的情况,可以结合运维监控的日志服务进行排查。
参考链接

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
阿里云物联网平台计费问题处理
概述 随着物联网平台第一个预付费周期截止时间到来,很多用户都收到了:连接时长资源包和消息通信资源包到期的通知,这两个资源包的作用:物联网平台设备和云端连接和消息通信对应的资源包。下面主要介绍收到这个通知的影响及处理策略。 影响 如果不继续购买资源包,系统会默认切换到按量付费,如果账户有余额,不影响正常使用。没有余额请尽快充值,避免影响设备正常使用。 策略 1、资源包续费地址:链接 2、计费方式官方解释:链接 3、欠费说明 账单出账时间通常在当前计费周期结束后4小时内。 欠费时间24小时内,服务可保留使用。欠费时间超过24小时,服务将自动停止。为免服务停止影响您的业务,建议您在欠费24小时内续费。 若欠费时间超过24小时,您再次充值后即可继续使用服务,已连接的设备也将恢复通信。 4、资源包使用查看,查看地址 5、资源包自动续费管理 6、如果不再使用,直接到物联网平台管理控制台删除对应的全部设备和产品即可。
-
下一篇
基于Topic消息路由的M2M设备间通信Node JS SDK 示例
概述 M2M(即Machine-to-Machine)是一种端对端通信技术。本章节以Node JS SDK为例,使用基于Topic消息路由的M2M设备间通信,主要介绍如何基于物联网平台构建一个M2M设备间通信架构。 实验步骤 第一部分:配置相关 1、产品、设备、Topic的创建参考链接 消息路由建立 本部分目前不支持门户直接配置,需要基于管理API: CreateTopicRouteTable 来建立消息路由关系。 测试可以直接使用OpenAPI来快速实现相关功能,本地集成相关功能直接基于SDK即可。 2、JAVA SDK Demo import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.iot.model.v20170420.CreateTopicRouteTableReq...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL数据库在高并发下的优化方案
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作