|
这次我们用实例来看看如何用nodejs作为用户端接入氦氪云。
从https://github.com/LawrenceDon/nodejs-user-hekr可以获得最新的代码。
user.js功能:
在命令行窗口可以看到:
1.设备实时上报数据。
2.设备login通知。
3.设备logout通知。
4.任何其他的由云端发送给用户端的数据。
在命令行窗口可以执行以下指令:
1.eval:1+1
eval:后面可以跟任何的javascript语句,我们可以查看当前脚本中的变量和执行其中的函数。
示例:
1.eval:cls()
清屏。
2.eval:sendDataToDevice("xxxxxx","yyyyyy",'"raw":"48070201010154"',app.mainTCPLink)
向devTid为"xxxxxx",ctrlKey为"yyyyyy"的设备发送协议数据"raw":"48070201010154"
3.eval:sendDataToDevice("xxxxxx","yyyyyy",'"cmdId":2,"power":1',app.mainTCPLink)
向devTid为"xxxxxx",ctrlKey为"yyyyyy"的设备发送协议数据"cmdId":2,"power":1
2.{"msgId" : 1,"action" : "heartbeat"}
这样直接输入的JSON字符串必须符合氦氪云联网功能组件规范。
user-example.js功能:
在命令行窗口可以执行以下指令:
1.eval:1+1
eval:后面可以跟任何的javascript语句,我们可以查看当前脚本中的变量和执行其中的函数。
示例:
1.eval:cls()
清屏。
2.eval:sendDataToDevice("xxxxxx","yyyyyy",'"raw":"48070201010154"',app.mainTCPLink)
向devTid为"xxxxxx",ctrlKey为"yyyyyy"的设备发送协议数据"raw":"48070201010154"
3.eval:sendDataToDevice("xxxxxx","yyyyyy",'"cmdId":2,"power":1',app.mainTCPLink)
向devTid为"xxxxxx",ctrlKey为"yyyyyy"的设备发送协议数据"cmdId":2,"power":1
4.eval:showStatus()
显示 带小夜灯的温湿度计 和 SDK演示插座 这两个设备的状态。
5.eval:devices[0]
查看本程序中 带小夜灯的温湿度计 这个设备的对象内容。
6.eval:devices[0].actions.on()
打开 带小夜灯的温湿度计 设备的小夜灯。
7.eval:devices[0].actions.off()
关闭 带小夜灯的温湿度计 设备的小夜灯。
8.eval:devices[0].actions.query()
查询 带小夜灯的温湿度计 的当前状态。
9.eval:devices[1]
查看本程序中 SDK演示插座 这个设备的对象内容。
10.eval:devices[1].actions.on()
打开 SDK演示插座 设备的开关。
11.eval:devices[1].actions.off()
关闭 SDK演示插座 设备的开关。
12.eval:devices[1].actions.query()
查询 SDK演示插座 的当前状态。
2.{"msgId" : 1,"action" : "heartbeat"}
这样直接输入的JSON字符串必须符合氦氪云联网功能组件规范。
当 带小夜灯的温湿度计 设备上报的当前状态中小夜灯为开时,桌面会跳出一个对话框。
当 SDK演示插座 设备上报的当前状态中开关为开时,桌面会跳出一个对话框。
在命令行窗口执行eval:logOn()之后,在命令行窗口可以看到:
1.设备实时上报数据。
2.设备login通知。
3.设备logout通知。
4.任何其他的由云端发送给用户端的数据。
备注:
1.在玩user-example.js之前,请先按照以下的教程建立产品,并在丛云APP添加设备。
氦氪云入门教程03-使用氦氪透传协议的温湿度计
氦氪云入门教程04-基于氦氪主控协议的作品-SDK演示插座
2.可以使用教程 氦氪云入门教程06-在PC端调试H5设备控制页面 中用到的设备列表页面获取某个设备的devTid和ctrlKey。
|
|