请选择 进入手机版 | 继续访问电脑版
查看: 322|回复: 0

使用nodejs作为用户端接入氦氪云平台

[复制链接]

66

帖子

66

主题

296

积分

版主

Rank: 7Rank: 7Rank: 7

积分
296
杭州氦氪科技
QQ
发表于 2017-9-30 10:00:07 | 显示全部楼层 |阅读模式
本帖最后由 HekrLawrence 于 2017-9-30 10:03 编辑

这次我们用实例来看看如何用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"        
       155122cfbf1bf061l63p21.png
   3.eval:sendDataToDevice("xxxxxx","yyyyyy",'"cmdId":2,"power":1',app.mainTCPLink)
      向devTid为"xxxxxx",ctrlKey为"yyyyyy"的设备发送协议数据"cmdId":2,"power":1
       155118u1aawu1ugxaa2278.png
   4.eval:showStatus()
      显示 带小夜灯的温湿度计 和 SDK演示插座 这两个设备的状态。
       155158s6ugj66fccfjmmcl.png
   5.eval:devices[0]
      查看本程序中 带小夜灯的温湿度计 这个设备的对象内容。
       155218m8mngqcrrq0wjryr.png
   6.eval:devices[0].actions.on()
      打开 带小夜灯的温湿度计 设备的小夜灯。
       155241xjzcem0q09yzy0qb.png
   7.eval:devices[0].actions.off()
      关闭 带小夜灯的温湿度计 设备的小夜灯。
       155258bmgv000jvgmz7nmm.png
   8.eval:devices[0].actions.query()
      查询 带小夜灯的温湿度计 的当前状态。
       155311xbnyy48y0x8yxaod.png
   9.eval:devices[1]
      查看本程序中 SDK演示插座 这个设备的对象内容。      
       155332jw6l6a400tti0wgu.png
10.eval:devices[1].actions.on()
      打开 SDK演示插座 设备的开关。
       155350v53ybs5s5u8nao34.png
11.eval:devices[1].actions.off()
      关闭 SDK演示插座 设备的开关。   
       155416ohche8utuvhr1c1h.png
12.eval:devices[1].actions.query()
      查询 SDK演示插座 的当前状态。
       155427bu4ggi149uglog9g.png

2.{"msgId" : 1,"action" : "heartbeat"}
   这样直接输入的JSON字符串必须符合氦氪云联网功能组件规范。

当 带小夜灯的温湿度计 设备上报的当前状态中小夜灯为开时,桌面会跳出一个对话框。
160046nfsknm5nhnikl7ni.png

当 SDK演示插座 设备上报的当前状态中开关为开时,桌面会跳出一个对话框。
160046tyb5h7e679ewzuso.png

在命令行窗口执行eval:logOn()之后,在命令行窗口可以看到:
1.设备实时上报数据。
2.设备login通知。
3.设备logout通知。
4.任何其他的由云端发送给用户端的数据。

备注:
1.在玩user-example.js之前,请先按照以下的教程建立产品,并在丛云APP添加设备。
   氦氪云入门教程03-使用氦氪透传协议的温湿度计
   氦氪云入门教程04-基于氦氪主控协议的作品-SDK演示插座

2.可以使用教程 氦氪云入门教程06-在PC端调试H5设备控制页面 中用到的设备列表页面获取某个设备的devTid和ctrlKey。


nodejs-user-hekr-master20170801.zip

9.2 KB, 下载次数: 0

加入汇思锐,和智能生活沟通零距离! 用科技改变生活,用想法构思未来!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

论坛灌水区开通公告上一条 /1 下一条

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表