用OneNET下发指令

2020-10-209958
AI 快速预览详细 收起
本文介绍了如何通过OneNET平台控制TinkerNode物联网开发板上的LED灯。首先,你需要在OneNET平台上创建一个产品并添加设备。接着,在Arduino IDE中编写代码,将LED模块连接到TinkerNode的D4引脚,并上传代码。然后,添加数据流模板,并在应用管理中创建一个开关来控制LED灯。通过这些步骤,你可以实现云端对LED灯的远程控制。
现在我们就用TinkerNode连接OneNET进行一个小实验

所需硬件
所需软件
TinkerNode开发板驱动,具体安装方法参考TinkerNode Wiki

首先我们先登录OneNET账号,并进入控制台(物联网平台更新频繁,本文适用于旧版控制台)

1、创建产品
协议选择MQTT(旧版),然后点击右上角的 添加产品,在弹出页面中,按照提示填写产品的基本信息,进行产品创建。
请您按照提示尽可能完整、全面地填写相应内容,这样更方便您后期对产品进行管理
用OneNET下发指令图1
点击 确定,完成产品创建。
2添加设备
接下来点击我们新建的产品,进入产品详情
用OneNET下发指令图2
点击左侧 设备列表,进入设备列表,点击右侧 添加设备
用OneNET下发指令图3
在新建的设备中,只有带*的数据为必填项,其他可以不填
用OneNET下发指令图4
3编写代码
将LED模块插在TinkerNodeD4引脚上,然后将TinkerNodeUSB线连接。
在示例>DFRobot_NBIOT>BC20_MQTT>OneNET>Subscribe_Topic路径运行demo
将下列参数替换为OneNET产品列表的参数。
用OneNET下发指令图5
其中ProductID是产品概况中的产品IDApiKeyMaster-APIkey
用OneNET下发指令图6
DeviceId是设备列表中的设备ID
用OneNET下发指令图7
然后将callback函数改为下面控制LED的代码。
用OneNET下发指令图8
[mw_shl_code=cpp,false]void callback(char * topic, byte * payload, unsigned int len){
  Serial.print("Recevice [");
  Serial.print(topic);
  Serial.print("] ");
  for (int i = 0; i < len; i++){
    Serial.print((char)payload);
  }
  if (payload[0] == 49)
      digitalWrite(D4, HIGH);
  else
      digitalWrite(D4, LOW);

  Serial.println();
}[/mw_shl_code]
这段代码是对订阅数据的响应,当接收到云端的数据为1ascii码为49)时,将引脚置为高电平,点亮LED灯,当接收到0时,引脚置为低电平,熄灭LED
最后,将代码上传代码到Tinker-Node中,连接成功后设备显示为上线状态

4、添加数据流
点击左侧的数据流模板,再点击右侧的添加数据流模板
用OneNET下发指令图9
5、用ONENET控制LED灯
接下来我们将做一个开关用来控制我们的LED
点击左侧应用管理,再点击右侧的添加应用
然后点击应用,进入应用详情
用OneNET下发指令图10
点击编辑应用,开始为应用添加功能
用OneNET下发指令图11
我们先添加一个开关
用OneNET下发指令图12
选中开关,在右侧关联设备LED1关联数据流LED1
用OneNET下发指令图13
最后点击预览,尝试点击ONOFF控制LED开关
用OneNET下发指令图14
测试完成后,点击保存>发布即可上线应用


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(5)
三春牛-创客
三春牛-创客
不错不错!
三春牛-创客
三春牛-创客
厉害厉害
花生编程
花生编程
赞赞赞!!
花生编程
花生编程
厉害厉害
aliteamer
aliteamer
请问下无法连接到新版的OneNet该怎么办呢
- 没有更多了 -