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

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

    本版积分规则

    热门推荐

    [限时福利]5分钟带你快速了解新一代开发板:M5STACK
    [限时福利]5分钟带你快速
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    哪位高手帮帮忙呀用UNO主板控制垃圾分类
    哪位高手帮帮忙呀用UNO主
    因为综合实践课给学生讲垃圾分类所以想用Arduino UNO主板制作一个智能分类的设
    打砖块游戏
    打砖块游戏
    **** 本内容被作者隐藏 ****
    【原创】全球最小口袋3D打印机mini one直播教程贴
    【原创】全球最小口袋3D打
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
    arduino Micro
    arduino Micro
    1、micro概述 Micro是一款基于ATmega32U4的微控制器板,与Adafruit共同开发 。
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表