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

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

    本版积分规则

    热门推荐

    Blynk与m5stack basic以及uiflow的交互玩法
    Blynk与m5stack basic以及
    Blynk与m5stack basic以及uiflow的交互玩法 [准备工作我们假设玩家已经熟悉下面的准备
    Arduino板接入后端口无法识别
    Arduino板接入后端口无法
    现在的IDE是1.8.10装好IDE后用数据线连接Arduino nano板, 板上红灯亮,但是电脑上并
    旋转编码器的使用
    旋转编码器的使用
    旋转编码器是一个精确旋转测定和点击合二为一的器件,用它来控制舵机比用电位器要精确
    【Arduino】108种传感器模块系列实验(90)--- ULN2003步进电机
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    【原创】全球最小口袋3D打印机mini one直播教程贴
    【原创】全球最小口袋3D打
    最近闲得蛋疼,没事搞个掌上3D打印机,先放效果图吧。 搞了半天,终于能正常打印,
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表