兄弟,不太会写node-red模块,我也是按照之前大佬的教程通过改websocket节点实现的,并且我还用httprequest和websocketin实现了按门铃以后的远程开锁,主要有两个请求,应该是可以封装成一个类似live 的模块吧!
第一步:获取开锁token
msg.url = "https://h5.kiwik.cn/restapi/users/抓包获取/mfa/tokens";
msg.headers = {
'Content-Type': 'application/json',
'X-Kiwik-Client-Id': '抓包获取'
};
msg.payload = {
'auth_type': 'secure_password',
'credential': '远程开锁密码'
}
return msg;
第二步:通过httprequest返回access_token,组装下面的请求体
// 获取上一步http请求返回的远程 Token
let accessToken = msg.payload.access_token;
// 这个就是远程开锁的websocket请求体
msg = {
"header": {
"namespace": "Iot.Device",
"name": "Ctrl",
"messageId": 通过uuid方法生成,
"payloadVersion": 1,
"secureToken": accessToken
},
"payload": {
"did": "门锁did",
"verify": true,
"data": "抓包获取"
}
}
return msg;
之前慢慢调试,踩了好多坑,才调通的,主要是不会写node-red模块,期待大佬给加进去 |