去年,RT-Thread发布了RT-Thread Studio初版RT-ThreadStudio的使用体验,经过不断更新迭代之后,来到了V1.1.0,咱也来拥抱一下新版本。

本篇笔记咱们以接入OneNet云平台实验来实操一下:使用RT-Thread Studio进行配置生成相关代码,连接OneNET云平台并与云平台进行数据交互。

1、创建工程

咱们的实验平台为小熊派开发板,其MCU型号为STM32L431RCT6。我们基于芯片、RT-Thread Master版本的4.0.2:

2、添加at_device软件包

因为要上云,所以必须要有联网媒介,这里我们使用的是ESP8266,因此可以借助at_device软件包:

最后,记得保存RT-Thread Settings文件。

小熊派使用LPUART1与ESP8266相连,需要在board.h中添加LPUART1的相关宏:

为了之后能更好的输入命令,这里我们有必要把主函数里打印输出的语句屏蔽掉:

这时候,下载运行可能会出现某个AT命令找不着,这是因为ESP8266的固件过低的原因,可以参考使用at_device软件包通过ESP8266连接到网络这篇文章升级ESP8266的固件。

下载,运行程序。连接WiFi成功:

3、注册OneNet账号、创建产品、设备

OneNET云平台的使用与其它云平台的使用类似,很简单,这里不过多的演示。具体步骤可阅读:

https://open.iot.10086.cn/doc/multiprotocol/book/get-start/product&device/product-create.html

我们创建的产品如:

至于设备的创建可根据OneNET软件包的使用而选择创建与不创建。有两种实验方法:

1、OneNET云平台创建设备,OneNET软件包绑定云平台创建的设备的设备ID及设备鉴权信息等信息。

2、OneNET云平台不创建设备,OneNET软件包负责注册设备,需要用到云平台的设备注册码。

这里我们选择第一种实验方法:在云平台上创建设备。最终我们需要提供如下云平台的数据给OneNET软件包使用:

4、添加OneNET软件包:

同上面添加at_device软件包的方法类似。这里需要对OneNET软件包进行一些配置,需要配置的信息就是我们云平台产品、设备的一些信息:

5、与云平台进行数据交互

使用RT-Thread Studio配置完相关代码之后就可以下载、运行程序了。

在shell终端下,输入Tab键可以查看得到一些导出的命令,可以看得到有几个与OneNET相关的命令。我们可以使用这几个命令进行测试。

(1)往云端传数据

这些数据不是由传感器采集到的,而是模拟出来的一些数据。可以在云端看到设备终端传过来的数据:

(2)云端往下发数据

同样的,云端也可以往下发数据,比如云端发送一串字符串:

Hello Bear Pi, I am OneNet=============

设备端收到的数据如:

可见,RT-Thread Studio给我们提供了很大的便利。我们本次实验中只是简单地通过RT-Thread Studio图形化配置就可以完成一个小实验。另外,在享受便利的同时,我们也很有必要一层一层地扒开进行学习,以便在遇到问题时可以快速定位问题。


我的个人博客:https://www.lizhengnian.cn/

我的微信公众号:嵌入式大杂烩

我的CSDN博客:https://blog.csdn.net/zhengnianli

【RT-Thread笔记】OneNet软件包的使用的更多相关文章

  1. Thread笔记

    Thread笔记 Thread——fork:https://www.cnblogs.com/noonjuan/diary/2019/08/03/11296217.html Thread——multip ...

  2. RT Thread 通过ENV来配置SFUD,操作SPI Flash

    本实验基于正点原子stm32f4探索者板子 请移步我的RT Thread论坛帖子. https://www.rt-thread.org/qa/forum.php?mod=viewthread& ...

  3. STM32 + RT Thread OS 学习笔记[二]

    串口通讯例程 通过上面的练习,对STM32项目开发有了一个直观印象,接下来尝试对串口RS232进行操作. 1.   目标需求: 开机打开串口1,侦听上位机(使用电脑串口测试软件)发送的信息,然后原样输 ...

  4. STM32 + RT Thread OS 学习笔记[三]

    RTGUI 据说RTGUI是多线程的,因此与RT-Thread OS的耦合度较高,有可能要访问RT-Thread的线程控制块.如果要移植到其它OS,估计难度较大.目前还处于Alpha状态,最终将会包含 ...

  5. STM32 + RT Thread OS 学习笔记[四]

    1.  补注 a)      硬件,打通通讯通道 若学习者购买了学习板,通常可以在学习板提供的示例代码中找到LCD的相关驱动代码,基本上,这里的驱动的所有代码都可以从里面找到. 从上面的示意图可见,M ...

  6. 【Python学习】Thread笔记(1)

    Python学习笔记 - Thread(1) 标签(空格分隔): python from threading import Thread num = 2000 id_list = [] def do_ ...

  7. STM32 + RT Thread OS 串口通讯

    1.   创建项目 a)   禁用Finsh和console b)   默认情况下,项目文件包含了finsh,它使用COM1来通讯,另外,console输出(rt_kprintf)也使用了COM1.因 ...

  8. linux笔记:软件包管理-软件包简介

    软件包分类: 1.源码包: 2.二进制包(在centos里就是RPM包.和源码包的区别在于已经经过编译.) 源码包的优点和缺点: RPM包的优点和缺点:

  9. python的线程thread笔记

    python的线程是用thread和threading来实现的.其中利用threading会更好,因为thread没有线程保护,当主线程退出了之后,子线程也会被强行退出.threading支持守护线程 ...

随机推荐

  1. B. Phoenix and Beauty(贪心构造)

    \(给定序列长n的数组和k.完美数组的定义是数组中每一个连续k项的子段和为定值\) \(现在要求插入一些数使得数组满足条件,输出你构造的新数列.\) \(\color{Red}{----------- ...

  2. P1680 奇怪的分组(组合数+逆元)

    传送门戳我 首先将n减去所有的Ci,于是是原问题转换为:n个相同的球放入m个不同盒子里,不能为空,求方案数. 根据插空法:n个球,放到m个箱子里去不能为空,也就是有m-1块板子放在n-1个空隙之间 那 ...

  3. 【Scala】代码实现Actor多种需求

    文章目录 简单实现Actor并发编程 使用Actor实现发送没有返回值的异步消息 使用Actor实现不间断消息发送 用react方法替代receive方法接收消息 结合case class,通过匹配不 ...

  4. HMM-前向后向算法与实现

    目录 基本要素 HMM三大问题 概率计算问题 前向算法 后向算法 前向-后向算法 基本要素 状态 \(N\)个 状态序列 \(S = s_1,s_2,...\) 观测序列 \(O=O_1,O_2,.. ...

  5. LeetCode寻找两个有序数组的中位数

    题目: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 nu ...

  6. 超过百万的StackOverflow Flutter 问题-第二期

    老孟导读:一个月前分享的<超过百万的StackOverflow Flutter 问题-第一期>受到很多朋友的喜欢,非常感谢大家的支持,在文章末尾有第一期的链接,希望此文能对你有所帮助. N ...

  7. 透过面试题掌握HashMap【持续更新中】

    本文主要是自己阅读了HashMap和ConcurrentHashMap源码及一些Java容器类相关的博客后,找了一些很多面经中涉及到的Java容器相关的面试题,自己全部手写的解答,也花了一些流程图,之 ...

  8. REST模式中HTTP请求方法

    一直在测试REST模式的WEB SERVICE接口,客户端的HTTP的请求方式一般分为四种:GET.POST.PUT.DELETE,这四种请求方式有什么不同呢.简单的说,GET就是获取资源,POST就 ...

  9. java ->斗地主洗牌

    import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util ...

  10. Codeforces 909E(Coprocessor,双队列维护)

    题意:给出n个待处理的事件(0 ~n-1),再给出了n个标(0表示只能在主处理器中处理这个事件,1表示只能在副处理器中处理这个事件),处理器每次能处理多个任务.每个事件有关联,如果一个任务要在副处理器 ...