Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RTThreaed
RTduino物联网应用零基础入门
发布于 2024-11-11 18:53:29 浏览:905
订阅该版
[tocm] ### 硬件准备 - PSoC™6 RTT开发板(物联网专业平台) https://item.taobao.com/item.htm?id=851394948290&skuId=5812861127627 - RTduino传感器扩展板 ### 软件准备 - RT-Thread Studio - MobaXterm(串口工具) ### 项目实践 **RTduino实践列表:** **项目1:传感器数据采集实战** - 任务难度:⭐️⭐️ - 任务内容:使用RTduino采集气压及温湿度数据并在串口显示 - 任务目标:顺利完成 **项目2:数据UI显示** - 任务难度:⭐️⭐️⭐️ - 任务内容:使用RTduino将采集到的传感器数据显示在屏幕上 - 任务目标:顺利完成 **项目3:阿里云物联网应用实战** - 任务难度:⭐️⭐️⭐️⭐️ - 任务内容:将采集的传感器数据上传至阿里云物联网云平台 - 任务目标:尽量完成 ### 1.传感器数据采集实战 在本任务中,我们首先会使用到 BMP280(气压温度传感器)模块跟SHT31(温湿度传感器)模块进行数据采集,采集的数据有3个:温度(采用SHT采集的)、湿度、气压。并通过串口将采集到的数据输出出来。 #### **1.1 RTduino使能** 首先我们使能RTduino。打开RT-Thread Settings,然后进入配置页面再点击右方的箭头打开配置菜单  选择** 硬件-->板载设备驱动-->使能RTduino**(此项仅当该bsp支持RTduino才可开启)  完成这一步以后,**Ctrl + S **保存一下并下载软件包。 #### **1.2 数据采集软件包配置** 本次会使用到Arduino库软件包:Adafruit BMP280,使能软件包以后,执行Ctrl + S 保存并自动下载软件包。  在使用软件包的时候,我们需要修改一下BMP里面的默认的I2C地址。原本为**0x77**,修改为**0x76**  与下载BMP280软件包操作相同,我们通过搜索使能SHT31软件包,然后下载下来。  #### 1.3 SConscript修改 SConscript的作用是选择把哪些文件添加到编译中,为了后续方便我们添加文件,需要修改一下。在所选的工程目录下,找到**applications/SConscript **然后将**src += ['arduino_main.cpp']** 修改为 **src += Glob('*.cpp')** 。这样它就能够把我们后续所添加的.cpp文件加入到编译中。  #### 1.4 数据采集线程设计 这一步我们需要创建两个新的线程,一个是用作BMP280来采集气压数据,一个是用作SHT31来采集温湿度数据。 我们在**applications**文件夹下新建两个文件,分别命名为:**BMP_Test.cpp **和 **SHT31_Test.cpp** 。再创建一个**Config.h**文件方便我们后续进行配置。然后把下面的代码内容分别粘贴上去。   同时我们分别修改以下文件内容,可点击链接进行下载查看详情: **BMP_Test.cpp**: https://club.rt-thread.org/file_download/dd49f1210141606e **SHT_Test.cpp**:https://club.rt-thread.org/file_download/f73c4180ee544e7a **Config.h**:https://club.rt-thread.org/file_download/0cc46fb8eea26b00 #### 1.5 实验现象 把文件都添加好后就可以编译下载了,成功运行的话串口会一直输出数据信息。  ### 2.数据UI显示 在本次任务中,我们会使用到拓展板上的SSD1306OLED模块来将BMP与SHT采集到的数据做一个简单的显示。 跟之前下载软件包的步骤相同,我们通过搜索找到并使能软件包,然后用Ctrl + S将软件包下载下来。(记得需要选择Adafruit库的)  #### ** 2.1 oled驱动配置** 我们需要给SSD1306新建一个线程用于显示。同样的我们在applications文件夹下新建一**个SSD_Test.cpp**文件。  然后我们需要在**Config.h**中把#define DIS_THREAD_ENABLE打开,解除相关注释。  因为厂商生成批次不同,I2C地址可能会有区别。如果SSD1306无法使用的话可以修改一下I2C地址,改为**0x3C(默认是0x3D)。 ** **修改SSD_Test.cpp**(代码下载:https://club.rt-thread.org/file_download/65fffdd9784bbb48 ) #### **2.2 实验现象** 添加完代码后可以编译下载,成功运行我们就可以看到拓展板上的OLED屏幕在不断的刷新数据。  ### 3.阿里云物联网应用实战 在本次任务中,我们会使用到拓展板上的RW007与阿里云物联网平台快速生成一个物联网产品。 #### 3.1 使能RW007 首先我们需要在硬件选项中打开RW007的配置,然后把引脚修改成图中配置。并在SSID处填写WIFI名称(最好不要有中文)(热点的话需要是2.4G频段的),然后在password处填写密码。  然后搜索RW007软件包。它默认帮我们开启了Stm的示例,我们不需要它给的样例,直接选择不使用示例即可,然后把SPI时钟频率调整为10000000。  接下来就是把软件包下载下来,这时候可以进行编译下载,然后可以在用命令**wifi join SSID password**手动连接wifi。(如果觉得数据输出频繁看不清命令可以在**Config.h**中把**#define NO_USING_DATA_OUTPUT**打开,这样就不会持续输出数据了)。   #### 3.2 自动连接wifi 每次都手动输入Wifi有点复杂,我们可以在**main.c**(文件在此下载:(https://club.rt-thread.org/file_download/c83e2440c2339201 ) 文件中添加自动连接的代码。 #### 3.3 阿里云物联网平台搭建 首先搜索阿里云物联网平台(https://www.aliyun.com/product/iot/iot_instc_public_cn),进入登录注册后点击管理控制台。  然后点击产品,选择创建产品。  在创建面板中填入产品名称(随便起就好了),然后推荐选择自定义品类。  选择设备,新建一个设备。  选择刚刚创建的产品,并且命名设备(随便起名)。  回到刚刚的产品页面,点击刚刚新建的产品,查看产品信息。  再回刚刚新建的设备,同样查看设备信息。  这时候在软件包中搜索Ali-iotkit,然后使能此软件包。并将刚刚记录的参数对应放置上去即可。然后把软件包下载下来。  下完软件包以后,需要修改**packages/ali-iotkit/ports/wrapper.c**中最下面的那几个虚函数关键字**RT_WEAK**。因为现在的RTT版本把这个关键字改成了小写,我们修改成**rt_weak**即可。  #### 3.4 阿里云物模型创建 首先点击产品,然后选择功能定义,前往编辑草稿(如果刚刚是选择自定义品类的话这里是空白的)  然后我们把自己想要的属性添加上去,例如我这里填写的是温度,它一般会有一个提示,直接选择它所给的提示就好。配置完成后点击确认。  填写气压的时候,记得把上限调整大一些。  还有湿度。  把三个功能完成后应该是如图所示:  我们点击发布上线。  在设备的物模型数据这里就能看到我们刚刚添加的功能了。  #### 3.5 添加AliCloud.c 把平台配置完成后,我们开一个阿里云的线程,让他去接收来自传感器的数据然后上传到云端。 记得这里添加的文件是**.c**文件不是**.cpp**  AliCloud.c代码修改 记得要在代码中  也修改一下信息,把产品设备信息填写成个人的。 另外,需要对比一下标识符是否跟代码里的一致,如果你创建的功能标识符跟所给代码不一致也需要改过来。  AliCloud.c(文件下载:https://club.rt-thread.org/file_download/87a1faa193d8afe9 )文件修改: #### 3.6 rt_vsnprintf软件包下载 这个软件包是辅助我们使用.2f%进行浮点数输出的。我们也是直接下载下来就能用了。  #### 3.7 烧录下载 到这里我们已经完成了环境的搭建,这时候来到Config.h中使能IOT线程,**#define IOT_THREAD_ENABLE**,然后进行编译下载即可。  #### 3.8 实验现象 当完成下载后,WIFI会自动连接然后启动IOT线程,然后将数据上传。我们在设备的物模型数据里就能直接看到上传的数据啦,到此任务完成。  ### 促销活动进行中 **PSoC™ 6 RTT开发板+ RTDUINO 传感器扩展板,组合装 269元** **新品上市 优惠价 169元直出!(仅限100套,速抢!**  PSoC62 RTDUINO 传感器扩展板套件 复制链接购买: https://item.taobao.com/item.htm?id=851394948290&skuId=5812861127627  ——————End——————
8
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
RT-Thread小师弟
微信:rtthread2020
文章
301
回答
172
被采纳
33
关注TA
发私信
相关文章
1
RTThread支持loongson2k1000了么?
2
终端出现The aht10 is under an abnormal status
3
为什么系统一直在重启?
4
QEMU快速上手(Win),源码文件夹对不上
5
先楫现在支持双核RTT吗
6
对于某些固定参数使用枚举
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
cubemx
ESP8266
WIZnet_W5500
UART
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
Debug
SFUD
msh
ulog
C++_cpp
at_device
本月问答贡献
聚散无由
5
个答案
5
次被采纳
RTT_逍遥
6
个答案
2
次被采纳
踩姑娘的小蘑菇
6
个答案
1
次被采纳
a1012112796
4
个答案
1
次被采纳
YZRD
3
个答案
1
次被采纳
本月文章贡献
wake_mirco
2
篇文章
7
次点赞
mushroom
1
篇文章
8
次点赞
张世争
1
篇文章
7
次点赞
rv666
1
篇文章
4
次点赞
alight
1
篇文章
3
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部