查看: 1917|回复: 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

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

    本版积分规则

    热门推荐

    OLED 128*64自制可达10000000个选项的菜单(已更新)
    OLED 128*64自制可达10000
    OLED 128*64自制可达10000000个选项的菜单 温馨提示: 建议占个楼再食用本帖子
    这个怎么整?标点都是英文的
    这个怎么整?标点都是英文
    a=a+1改成a++也不行
    [WiFiduino-8266开发板测试]三、测试IO口
    [WiFiduino-8266开发板测
    首先测试IO口的关系,板载正面的D0~D15[D14,D15没有,相同的位置写的是D4,D5],反面
    求助,arduino nano发热严重
    求助,arduino nano发热严
    我有一块arduino nano板,装在一个扩展板上(如下图),用扩展板上的外接电源接口(资
    [限时福利]5分钟带你快速了解新一代开发板:M5STACK
    [限时福利]5分钟带你快速
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表