RW007模块连接ONENET之UART模式(二)

一,写在前面

前一篇已经完成之后RW007已经可以连接到互联网了,剩下的就是把数据如何上传到ONENET云并展示出来。

二,注册ONENET

  1. 注册用户账号,OneNET 云平台地址:https://open.iot.10086.cn

  2. 创建一个自己的产品在这里插入图片描述
    填写产品信息。(吐槽一下,操作系统没有RT-Thread选项)
    在这里插入图片描述

  3. 查找连接到onenet的设备信息
    在这里插入图片描述
    点击创建的产品
    在这里插入图片描述
    这里就获取到了产品ID,和MASTER_APIKEY,设备接入协议是MQTT。
    在这里插入图片描述
    设备列表来添加一个设备。
    在这里插入图片描述
    这里有3个必填项,其中鉴权信息一定要注意不要和你的其他设备写一样,避免发生奇奇怪怪的问题。
    在这里插入图片描述
    设备ID 鉴权信息 APIKEY 都已经有了,龙珠已集齐可以准备召唤神龙了。

  4. 修改rtconfig.h
    可以通过ENV修改,也可以直接通过修改rtconfig.h把ONENET信息写入工程。

三,设置数据流

  1. 设置ONENET的数据流
    在这里插入图片描述
    打开数据流展示 选择数据流模板管理 增加一个temperature
    在这里插入图片描述
    在这里插入图片描述
    选择设备列表 相关应用 点击设备,开始编辑
    在这里插入图片描述
    选择折线图,对折线图设置属性
    在这里插入图片描述

  2. 查看onenet_sample.c

static void onenet_upload_entry(void *parameter)
{
    int value = 0;

    while (1)
    {
        value = rand() % 100;

        if (onenet_mqtt_upload_digit("temperature", value) < 0)
        {
            LOG_E("upload has an error, stop uploading");
            break;
        }
        else
        {
            LOG_D("buffer : {\"temperature\":%d}", value);
        }

        rt_thread_delay(rt_tick_from_millisecond(5 * 1000));
    }
}

这个任务很简单每次间隔5s上传一个随机数;onenet_mqtt_upload_digit(“temperature”, value) 中的"temperature"要和onenet的数据名字对应上,value就是要发送的值。

四,数据上传

  1. 编译下载
  2. 启动传输
    首先输入命令行:onenet_mqtt_init 连接至ONENET云
    然后输入命令行:onenet_upload_cycle开始传输数据
 \ | /
- RT -     Thread Operating System
 / | \     4.0.2 build Jun 15 2019
 2006 - 2019 Copyright by rt-thread team
[I/sal.skt] Socket Abstraction Layer initialize success.
[I/at.clnt] AT client(V1.3.0) on device uart6 initialize success.
msh />[I/at.dev] rw007 device(r0) network initialize successfully.
onenet_mqtt_init
[D/onenet.mqtt] Enter mqtt_connect_callback!
[D/mqtt] ipv4 address port: 6002
[D/mqtt] HOST = '183.230.40.39'
[I/onenet.mqtt] RT-Thread OneNET package(V1.0.0) initialize success.
msh />[I/mqtt] MQTT server connect success.
[D/onenet.mqtt] Enter mqtt_online_callback!
onenet_upload_cycle
[D/onenet.sample] buffer : {"temperature":68}
msh />[D/onenet.sample] buffer : {"cpuuseage":67}
[D/onenet.sample] buffer : {"temperature":9}

能看到temperature 的数据已经在上传了。
在这里插入图片描述
可以看到设备已经显示在线了。进入设备就能刚开的折线图已经能收到数据了。

五,写在最后

  1. 官网也有很详细的ONENET说明:https://www.rt-thread.org/document/site/submodules/onenet/docs/samples/
  2. 此次未实现数据下发,有兴趣的可以自己尝试做一下控制LED。
  3. 本文由我个人编辑并整理,难免存在一些错误;
  4. 仅供个人学习使用。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值