腾讯云 IoT JS SDK
环境
这个 SDK 的目标是同时工作于以下环境:
- 小程序。使用
dist/iot_sdk.miniprogram.js
- Node.js。直接 require 此包
- 浏览器 or React Native。使用
dist/iot_sdk.browser.js
安装
$ npm i tencent-smartiot
示例
const SDK = { const sdk = // 从控制台申请一个应用,会得到 AppKey AppKey: 'xxxxxxx' ; // 调用云api方法登录 let response = await sdk // 获取登录令牌 const AccessToken = responseAccessToken // 绑定登录令牌 sdk; // 获取用户名下的设备列表 response = await sdk console }
方法
constructor
AppKey
:每个app都有对应的 AppKey,在控制台的应用管理中的 secretId 就是 AppKey。一个app只能操作它有权限的产品,不能跨产品操作。
AccessToken
:登录之后服务器会返回 AccessToken,用于标记一个用户的会话。这个参数也可以后面再通过 bindAccessToken 传入。
wsOptions
:针对sdk封装的ws客户端进行配置,请看源码中的 iot_web_socket.js
文件。
AppKey: 'xxxx' AccessToken: 'yyyyyy'
callYunApi(options)
options.Action
string 云方法名options.ActionParams
object 方法对应的参数options.WithAccessToken
boolean 默认true
。参考.bindAccessToken方法
Version
默认为 2018-01-23
云api的文档在:https://cloud.tencent.com/document/product/568/16436
默认的超时时间为5s,超时会抛错。
bindAccessToken(AccessToken)
登录之后,调用这个接口绑定 AccessToken。这样在调用云api任何接口时,都会自动传 AccessToken 参数。如果需要暂时忽略 AccessToken 参数,则在 callYunApi
时,传入 options.WithAccessToken=false
登录方式有多种,请参照 API 文档中的登录部分,并通过 callYunApi
进行登录。
activePush()
当 bindAccessToken
之后,即可调用此方法来开启服务端推送。
每当用户名下的设备发生数据变动时,则会推送消息过来。
与 onPush
方法结合使用
onPush(fn)
当服务端推送消息时,会调用 fn(pushEvent)
,pushEvent格式如下
action: 'DeviceChange' params: Type: 'control' Ts: 1541512121555 ProductId: 'iot-b87oxqbs' DeviceName: 'test-app-device' PIDN: 'iot-b87oxqbs/test-app-device' Data: smart6: 1 push: true
license
MIT