本文介绍了Node.js环境下Link SDK的配置与使用。

前提条件

安装Node.js运行环境,版本需要≥4.0.0 。

通过npm包管理工具安装Link SDK

  1. 将Link SDK安装到Node.js项目所在目录。
    适用于开发者已创建自己的项目,然后集成阿里云的Link SDK:
    npm install alibabacloud-iot-device-sdk --save
  2. 将Link SDK进行全局安装。
    适用于开发者直接编写了一个js文件(该文件引用了阿里云的Link SDK)、然后直接使用node xxx.js运行该js程序的场景。这种情况需要将Link SDK进行全局安装,命令如下所示:
    说明 不推荐全局安装的方式,扩展性较差。
    npm install alibabacloud-iot-device-sdk --save
    全局安装后运行程序常见错误:
    • 如果在Windows下运行js程序时提示Error: Cannot find module 'alibabacloud-iot-device-sdk,请在环境变量中增加NODE_PATH变量,其值设置为Link SDK安装所在的目录。如下图所示:
      说明 下图中的NODE_PATH的变量值需要修改为开发者自己设备上Link SDK安装所在的目录。
      环境配置
    • 如果在Linux下直接使用node运行指定的js程序时,提示Error: Cannot find module 'alibabacloud-iot-device-sdk',也是由于没有设置NODE_PATH变量引起,可以运行命令 npm root -g 获取npm的模块安装目录,并将该目录设置到NODE_PATH环境变量并生效(比如重启Linux)后再次使用node加载js程序。

源码下载

目前Node.js Link SDK已经开源,请参见alibabacloud-iot-device-sdk

如何引用Link SDK

  • node程序引用Link SDK。
    使用Link SDK提供的API需要在js代码中加入对SDK的依赖,如下所示:
    const iot = require('alibabacloud-iot-device-sdk');
  • 浏览器、支付宝小程序等场景集成Link SDK。
    说明 支付宝最新版本容器升级后导致支付宝小程序无法使用alibabacloud-iot-device-sdk.js,请使用支付宝定制版本alibabacloud-iot-device-sdk-1.2.8-alimin-compatible.js,该文件位于dist目录下。
    const iot = require('./dist/alibabacloud-iot-device-sdk.js'); //引用路径以实际为准
    // 支付宝小程序请使用./dist/alibabacloud-iot-device-sdk-1.2.8-alimin-compatible.js            

版本变更

记录各个版本的主要变动。

  • 1.2.8

    解决支付宝最新版本容器升级后导致支付宝小程序无法使用的问题。

  • 1.2.7
    • 修改了事件上报、属性上报中给出参数的定义。
    • 增加onProps对属性设置进行处理。
    • 包名的修改,从aliyun-iot-device-sdk正式改名为alibabacloud-iot-device-sdk。
    • 增加对支付宝小程序、浏览器等场景的支持。
    • onService中增加reply函数,并支持同步和异步调用。
    • 增加onConfig方法用于订阅云端远程配置更新。
    • 增加部分功能的example。
    • 重写了网关子设备subdevice的实现。
  • 1.0.1
    • 增加设备标签上报功能。
    • 增加删除标签功能。
    • 增加了设备动态注册功能。
    • 增加设备影子相关功能。
    • 增加获取设备配置功能。