查看: 2647|回复: 0

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

[复制链接]
  • TA的每日心情
    开心
    2016-11-11 12:32
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2017-8-15 11:25 | 显示全部楼层 |阅读模式
    这次我们用实例来看看如何用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"  
           1.png
       3.eval:sendDataToDevice("xxxxxx","yyyyyy",'"cmdId":2,"power":1',app.mainTCPLink)
          向devTid为"xxxxxx",ctrlKey为"yyyyyy"的设备发送协议数据"cmdId":2,"power":1
           2.png
       4.eval:showStatus()
          显示 带小夜灯的温湿度计 和 SDK演示插座 这两个设备的状态。
           3.png
       5.eval:devices[0]
          查看本程序中 带小夜灯的温湿度计 这个设备的对象内容。
           4.png
       6.eval:devices[0].actions.on()
          打开 带小夜灯的温湿度计 设备的小夜灯。
           5.png
       7.eval:devices[0].actions.off()
          关闭 带小夜灯的温湿度计 设备的小夜灯。
           6.png
       8.eval:devices[0].actions.query()
          查询 带小夜灯的温湿度计 的当前状态。
           7.png
       9.eval:devices[1]
          查看本程序中 SDK演示插座 这个设备的对象内容。
           8.png
    10.eval:devices[1].actions.on()
          打开 SDK演示插座 设备的开关。
           9.png
    11.eval:devices[1].actions.off()
          关闭 SDK演示插座 设备的开关。
           10.png
    12.eval:devices[1].actions.query()
          查询 SDK演示插座 的当前状态。
           11.png

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

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

    当 SDK演示插座 设备上报的当前状态中开关为开时,桌面会跳出一个对话框。
    13.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

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

    本版积分规则

    热门推荐

    [Arduino物联网开发实战4]天猫精灵控制1
    [Arduino物联网开发实战4]
    [md] 上一篇:(https://www.arduino.cn/thread-83175-1-1.html) blinker支持多种智
    请教,图表历史数据不显示了,也就是不能显示历史数据 ...
    请教,图表历史数据不显示
    blinker 2.4.7 请教 昨天用esp8266 APP用的blinker2.4.4,上传温湿度,实时数据可见
    LCD12864显示不完整
    LCD12864显示不完整
    硬件:Mega2560+RAMPS 1.4+LCD12864,固件:官网下载的Marlin 2.0.X,修改部分代码后
    大学生宿舍捣鼓指纹锁,被宿管阿姨揪住
    大学生宿舍捣鼓指纹锁,被
    额,去年用arduino捣鼓了一个指纹锁,近期打算升级一下。 废话不多说直接上 fuck food
    【小项目】基于XIAO的逃跑蜘蛛
    【小项目】基于XIAO的逃跑
    项目介绍:蜘蛛会在夜晚保持安静。但是一有光线,蜘蛛就会开始震动,逃离光线。硬件:
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表