去年,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. F - Qualification Rounds CodeForces - 868C 二进制

    F - Qualification Rounds CodeForces - 868C 这个题目不会,上网查了一下,发现一个结论就是如果是可以的,那么两个肯定可以满足. 然后就用二进制来压一下这个状态就 ...

  2. css实现文字相对于图片垂直居中

    一 要实现的样式,文字在图片的垂直居中位置 二 实现的代码: <style> .flag{ position: absolute; bottom: 0; width: 23rem; hei ...

  3. 一个数number的n次幂 python的pow函数

    @ 目录 解法1:暴力法 解法2:根据奇偶幂分类(递归法,迭代法,位运算法) 实现 pow(x, n),即计算 x 的 n 次幂函数.其中n为整数. 链接: pow函数的实现--leetcode. 解 ...

  4. 【FreeRTOS学习02】源码结构/数据类型/命名规则总结

    个人不是很喜欢FreeRTOS的编程风格,但是没办法,白嫖人家的东西,只能忍了,这里先简单总结一下: 相关文章 [FreeRTOS实战汇总]小白博主的RTOS学习实战快速进阶之路(持续更新) 文章目录 ...

  5. [hdu5416 CRB and Tree]树上路径异或和,dfs

    题意:给一棵树,每条边有一个权值,求满足u到v的路径上的异或和为s的(u,v)点对数 思路:计a到b的异或和为f(a,b),则f(a,b)=f(a,root)^f(b,root).考虑dfs,一边计算 ...

  6. 使用npoi导入Excel - 带合并单元格--附代码

    之前我们在使用npoi导入excel表格的时候,往往会遇见那种带有合并单元格的数据在导入的时候出现合并为空的问题, 也就是只有第一条有数据,其余均为空白.在网上翻了半天也没有找到合适的解决方案,最后还 ...

  7. spring MVC--WebApplicationContext做了什么

    在WebApplicationContext中默认内置了DispatcherServlet依赖的bean!我们可以根据实际的项目需要对这些bean进行自定义参数设置.因为如果在配置文件中存在我们自定义 ...

  8. CentOS 7搭建Zookeeper和Kafka集群

    环境 CentOS 7.4 Zookeeper-3.6.1 Kafka_2.13-2.4.1 Kafka-manager-2.0.0.2 本次安装的软件全部在 /home/javateam 目录下. ...

  9. CSS学习—day1

    摘要:web前端设计三剑客分为是html.CSS.Javascript,前面我们已经对html基础知识做了介绍,它定义了页面基本组成,而CSS则控制网页的样式和布局. 首先,明确一个问题,什么是CSS ...

  10. Copy与mutableCopy的个人理解

    Copy与mutableCopy的个人理解 1. 相同点 都是将原有对象进行深拷贝(狭义) 这里的狭义上的深拷贝指的是在不考虑编译器在编译时对不可变对象进行copy时采取的优化策略:即将不可变对象的地 ...