【RT-Thread笔记】OneNet软件包的使用
去年,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软件包的使用的更多相关文章
- Thread笔记
Thread笔记 Thread——fork:https://www.cnblogs.com/noonjuan/diary/2019/08/03/11296217.html Thread——multip ...
- RT Thread 通过ENV来配置SFUD,操作SPI Flash
本实验基于正点原子stm32f4探索者板子 请移步我的RT Thread论坛帖子. https://www.rt-thread.org/qa/forum.php?mod=viewthread& ...
- STM32 + RT Thread OS 学习笔记[二]
串口通讯例程 通过上面的练习,对STM32项目开发有了一个直观印象,接下来尝试对串口RS232进行操作. 1. 目标需求: 开机打开串口1,侦听上位机(使用电脑串口测试软件)发送的信息,然后原样输 ...
- STM32 + RT Thread OS 学习笔记[三]
RTGUI 据说RTGUI是多线程的,因此与RT-Thread OS的耦合度较高,有可能要访问RT-Thread的线程控制块.如果要移植到其它OS,估计难度较大.目前还处于Alpha状态,最终将会包含 ...
- STM32 + RT Thread OS 学习笔记[四]
1. 补注 a) 硬件,打通通讯通道 若学习者购买了学习板,通常可以在学习板提供的示例代码中找到LCD的相关驱动代码,基本上,这里的驱动的所有代码都可以从里面找到. 从上面的示意图可见,M ...
- 【Python学习】Thread笔记(1)
Python学习笔记 - Thread(1) 标签(空格分隔): python from threading import Thread num = 2000 id_list = [] def do_ ...
- STM32 + RT Thread OS 串口通讯
1. 创建项目 a) 禁用Finsh和console b) 默认情况下,项目文件包含了finsh,它使用COM1来通讯,另外,console输出(rt_kprintf)也使用了COM1.因 ...
- linux笔记:软件包管理-软件包简介
软件包分类: 1.源码包: 2.二进制包(在centos里就是RPM包.和源码包的区别在于已经经过编译.) 源码包的优点和缺点: RPM包的优点和缺点:
- python的线程thread笔记
python的线程是用thread和threading来实现的.其中利用threading会更好,因为thread没有线程保护,当主线程退出了之后,子线程也会被强行退出.threading支持守护线程 ...
随机推荐
- Hadoop-wordCount实例代码编写(Hadoop学习第四天)
1.新建一个maven项目2.pom文件中引入以下jar包<dependency> <groupId>org.apache.hadoop</groupId> < ...
- MySQL——关于索引的总结
索引的优缺点 首先说说索引的优点:最大的好处无疑就算提高查询效率.有的索引还能保证数据的唯一性,比如唯一索引. 而它的坏处很明显:索引也是文件,我们在创建索引时,也会创建额外的文件,所以会占用一些硬盘 ...
- STM32 TIM1高级定时器配置快速入门
layout: post tags: [STM32] comments: true 文章目录 layout: post tags: [STM32] comments: true 重点内容 时基单元 计 ...
- Vue + Element-ui实现后台管理系统(5)---封装一个Form表单组件和Table表格组件
封装一个Form表单组件和Table组件 有关后台管理系统之前写过四遍博客,看这篇之前最好先看下这四篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-syste ...
- indexDB解决过的难题
我第一次使用indexDB是1年前(2018年10月),运用这个黑科技,解决过3个异常棘手的问题(如果不是indexDB 几乎找不到其他解决方案)所以我经常强调,前端一定要学indexDB! 难题一: ...
- Android ListView 代码1
目录 ListView效果 一.ListView的简单用法 二.定制ListView的界面 目标 步骤 1.定义一个实体类作为ListView适配器的适配对象. 2.为ListView的子项指定我们的 ...
- search(13)- elastic4s-histograms:聚合直方图
在聚合的分组统计中我们会面临两种分组元素类型:连续型如时间,自然数等.离散型如地点.产品等.离散型数据本身就代表不同的组别,但连续型数据则需要手工按等长间隔进行切分了.下面是一个按价钱段聚合的例子: ...
- 从`ArrayList`中了解Java的迭代器
目录 什么是迭代器 迭代器的设计意义 ArrayList对迭代器的实现 增强for循环和迭代器 参考链接 什么是迭代器 Java中的迭代器--Iterator是一个位于java.util包下的接口,这 ...
- 开发一个maven脚手架
写在前面 开发新项目就需要搭建新工程,但是搭建新工程的这个过程是非常繁琐浪费时间的,并且不可避免的需要踩坑.更可怕的是,如果是在一个团队中,每新起一个项目都由不同的开发人员去自定义的搭建工程结构,那么 ...
- 【python深度学习】KS,KL,JS散度 衡量两组数据是否同分布
目录 KS(不需要两组数据相同shape) JS散度(需要两组数据同shape) KS(不需要两组数据相同shape) 奇怪之处:有的地方也叫KL KS距离,相对熵,KS散度 当P(x)和Q(x)的相 ...