Methods
decryptMessage(encrypted) → {Promise.<string>}
支持小米加密芯片的蓝牙设备,使用此方法将密文解密为明文
Parameters:
Name | Type | Description |
---|---|---|
encrypted |
string | 密文 |
Example
import {Bluetooth} from 'miot'
...
Bluetooth.createBluetoothLE(...).securityLock.encryptMessage('decryptedMessage')
.then(msg => {console.log('decrypt message is ', msg)})
.catch(err => {console.log('decrypt message failed, ', err})
...
decryptMessageWithToken(data)
使用设备的token解密指定数据
Parameters:
Name | Type | Description |
---|---|---|
data |
strng | Hex Data String |
- Since:
- 10004
encryptMessage(message) → {Promise.<string>}
支持小米加密芯片的蓝牙设备,使用此方法将明文加密为密文后,可发送给设备
Parameters:
Name | Type | Description |
---|---|---|
message |
string | 明文 |
Example
import {Bluetooth} from 'miot'
...
Bluetooth.createBluetoothLE(...).securityLock.encryptMessage('message')
.then(msg => {console.log('encrypted message is ', msg)})
.catch(err => {console.log('encrypted message failed, ', err})
...
encryptMessageWithToken(data)
使用设备的token加密指定数据
Parameters:
Name | Type | Description |
---|---|---|
data |
string | Hex Data String |
- Since:
- 10004
getOneTimePassword(interval, digits) → {Promise.<Array.<int>>}
支持小米加密芯片的蓝牙设备,获取一次性密码组 假设输入 interval 为 30,则会从当日 0 点开始计算,每 30 分钟为一个刷新间隔。生成的密码在当前刷新间隔及下一个刷新间隔内有效。 如当日 10:19 生成,则该组密码在 10:00 ~ 10:30(当前刷新间隔) 以及 10:30 ~ 11:00 (下一个刷新间隔) 有效。 密码组中每条密码使用一次即过期。 注意设备上获取当前时间(UTC,精度为秒)的准确性由设备保证,否则会有计算误差。
Parameters:
Name | Type | Description |
---|---|---|
interval |
int | 时间间隔,单位为分钟,类型为 number,传入 10 到 60 的整数 |
digits |
int | 密码位数,类型为 number,传入 6 到 8 的整数 |
Example
import {Bluetooth} from 'miot'
...
Bluetooth.createBluetoothLE(...).securityLock.getOneTimePassword(30,6)
.then(pwd => {console.log('one time password is ', pwd)})
.catch(err => {console.log('get one time password failed, ', err})
...
isShareKeyValid() → {Promise.<IBluetoothLock>}
支持小米加密芯片的蓝牙设备,在被分享的设备中,调用此方法,可判断分享的电子钥匙是否有效
Example
import {Bluetooth} from 'miot'
...
Bluetooth.createBluetoothLE(...).securityLock.isShareKeyValid()
.then(lock => {console.log('ShareKey is valid')})
.catch(err => {console.log('ShareKey isn't valid'})
...
toggle(cmd, timeout) → {Promise.<IBluetoothLock>}
支持小米加密芯片的蓝牙设备,开关蓝牙锁
Parameters:
Name | Type | Description |
---|---|---|
cmd |
int | 操作命令可传入 0 ,1 ,2三个 int 值,分别代表 开锁,上锁,反锁 |
timeout |
int | 毫秒 蓝牙未响应的超时时间 |
Example
import {Bluetooth} from 'miot'
...
Bluetooth.createBluetoothLE(...).connect(...).then(device => {
device.securityLock.toggle(0,5000)
.then(lock => {console.log('toggle success')})
.catch(err => {console.log('toggle failed'})
})
...