0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于RT-Thread官方ART-Pi开发板+自制传感器拓展板

RTThread物联网操作系统 来源:RTThread物联网操作系统 作者:RTThread物联网操作 2021-03-11 11:21 次阅读

概述:

冬天靠烧煤取暖的季节,虽然我们大南方还不知道啥时候才能享受到北方小伙伴一样的集中供暖,但是冬天的霾却不分彼此的席卷了全国各地。本方案使用的是RT-Thread嵌入式实时系统,通过PMS70003传感器采集空气中的PM2.5浓度数据,并通过WiFi传输到移动onenet平台上,可以远程查看PM2.5实时数据。

开发环境:

RT-Thread版本:4.0.3

开发工具:使用RT-Thread Studio2.0.0

硬件平台:基于RT-Thread官方ART-Pi开发板+自制传感器拓展板

RT-Thread使用情况概述:

本项目基于RT-Thread内核版本:Ver 4.0.3开发,使用RT-Thread Studio V2.0.0开发,使用的软件包包括cjson、onenet、webclient、pahomqtt、fal、easyflash、u8g2;

打开的组件和服务层有:finsh命令、DFS、ulog日志、C++、lwIP、POSIX、libc、ymodem,以及串口、Pin、SPI、SFUD、SDIO。

硬件框架:

90efa7a4-7de1-11eb-8b86-12bb97331649.png

本项目使用的是官方的Art-Pi开发板+自己做的传感器拓展板制作的,拓展板上包含了一个SHT20的温湿度传感器,一个攀藤的PMS7003PM2.5传感器、一个炜盛的MQ-4B半导体可燃气体传感器、一个0.91”Oled单色显示屏,以及一个拨盘按键。其中PMS7003是通过串口把采集到的数据传输到ART-PI上,由板载WiFi连接到移动onenet云上实现数据上传。SHT20和OLED共用一组IIC数据总线,可燃气体传感器占用了两个ADC口(一组检测气体浓度,一组检测传感器失效),并且可以通过背面跳线选择ADC口。按键占用了额外的三个GPIO用于设定一些配置信息

软件框架说明:

91217874-7de1-11eb-8b86-12bb97331649.png

首先RT-Thread启动后,对各部分外设进行初始化,然后进入pms7003的读取线程,该线程负责采集PMS7003上传上来的PM2.5浓度数据,并在线程里对数据进行校验求解后,通过onenet线程,我们把采集到的数据通过WiFi定时推送到移动onenet云平台,推送频率为2S/次。通过后台的数据流信息页面,可以看到实时的浓度数据信息。

软件模块说明:

软件采用的RTT4.0.3为内核基础,使用了一个独立线程来读取PMS传感器的数据,一个onenet软件包来实现联网推送的服务,最后由板载的WiFi模块负责连接到网络并把数据推送上去。

演示效果:

附上视频效果:

比赛感悟:

在使用rt-thread实时系统以前,我一直都是简单的使用裸机开发,纯粹的单流水线模式,经常会因为各种时间任务分配问题搞得头大,每种硬件使用起来得先仔细了解数据手册,了解器件性质,功能,然后才敢上板子,撸代码。


这次其实也是我第一次接触嵌入式实时操作系统这么一个方式来开发单片机,讲真,里面走了不少的弯路,也有很多没遇到过的坑。不得不说,RT-Thread的文档支持工作做的还是非常到位的,每个细节、功能都做了详细的介绍,但是诚如此还是有一部分我没太想明白的地方,这里就多亏了官方的比赛群以及我的小伙伴们,遇到很多事情找他们帮忙都能很快的解决掉。


本次比赛我还是学到了很多的新鲜知识,而且RTT的使用的便捷性给我了很大的震撼,有许多代码例程写的都很经典,后面板子上的几个设备我还要继续调试下去,争取把这个项目继续走下去,把rtt学得更深入一些。希望以后也能自己独立开发一些项目。把自己平时那么多奇奇怪怪的小点子都实现出来。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2525

    文章

    48048

    浏览量

    739926
  • 线程
    +关注

    关注

    0

    文章

    487

    浏览量

    19490
  • RT-Thread
    +关注

    关注

    31

    文章

    1148

    浏览量

    38865

原文标题:【RT-Thread开源作品秀】PM2.5颗粒物检测仪电路方案设计

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RT-Thread支持STM32H7R , ART-PI 二代开发板-由社区定义!

    在STM32H7R新品发布后的第一时间,RT-Thread已率先支持STM32H7R,STM32H7R/S系列是主频高达600MHz的微控制器,可从内部bootflash或外部存储器实时执行代码
    的头像 发表于 04-12 08:36 93次阅读
    <b class='flag-5'>RT-Thread</b>支持STM32H7R , <b class='flag-5'>ART-PI</b> 二代<b class='flag-5'>开发板</b>-由社区定义!

    RT-Thread设备驱动开发指南基础篇—以先楫bsp的hwtimer设备为例

    RT-Thread设备驱动开发指南》书籍是RT-thread官方出品撰写,系统讲解RT-thread IO设备驱动
    的头像 发表于 02-20 16:01 807次阅读
    <b class='flag-5'>RT-Thread</b>设备驱动<b class='flag-5'>开发</b>指南基础篇—以先楫bsp的hwtimer设备为例

    ART Pi Smart基于RT-Thread Smart系统的LVGL移植

    ART-Pi Smart开发板RT-Thread联合百问科技出品,使用的是 NXP 公司的 i.MX6ULL 处理器,具备单核 ARM Cortex-A7,最高运行频率可以达到 800MHz。
    的头像 发表于 11-29 14:29 741次阅读
    <b class='flag-5'>ART</b> <b class='flag-5'>Pi</b> Smart基于<b class='flag-5'>RT-Thread</b> Smart系统的LVGL移植

    rt-studio潘多拉开发板最新rt-thread不能运行解决办法

    rt-studio 上 选择基于开发板的项目,选择潘多拉,rt-thread选择lasted ,如下图
    的头像 发表于 10-16 14:50 616次阅读
    <b class='flag-5'>rt</b>-studio潘多拉<b class='flag-5'>开发板</b>最新<b class='flag-5'>rt-thread</b>不能运行解决办法

    基于rt-thread的socket通信设计

    最近再研究 rt-thread 的通信 ,想设计出 eps8266(多个) rt-thread(作为中控) 服务器的通信框架,使用的开发板是 潘多拉
    的头像 发表于 10-13 15:02 669次阅读
    基于<b class='flag-5'>rt-thread</b>的socket通信设计

    rt-thread studio新建gd32f450工程

    rt-thread studio 软件版本是:2.2.6;开发板的软件包是:GD32450Z-GD-EVAL版本是V1.0.1;开发板使用兆易的官方
    的头像 发表于 09-28 14:17 1212次阅读
    <b class='flag-5'>rt-thread</b> studio新建gd32f450工程

    RT-Thread启动流程?RT-Thread如何支持不同开发板

    一个开发板上的RT-Thread的启动流程可能是首先从bsp​当中链接脚本指定的startup_xxx.S​中的入口函数(ENTRY)或者复位异常处理函数(ResetHandler)开始运行,这部分我们在讲​bsp​支持时会详细讲解。
    的头像 发表于 08-10 15:29 896次阅读
    <b class='flag-5'>RT-Thread</b>启动流程?<b class='flag-5'>RT-Thread</b>如何支持不同<b class='flag-5'>开发板</b>?

    使用RT-Thread Studio进行智能家居终端的设计

    本次方案基于星火一号开发板开发,使用RT-Thread Studio进行工程创建,代码编辑,RT-Thread配置,调试配置,程序下载等功能。
    的头像 发表于 07-28 16:41 1364次阅读
    使用<b class='flag-5'>RT-Thread</b> Studio进行智能家居终端的设计

    怎么设计一种基于RT-Thread和infineon开发板的智能家居系统?

    本次设计基于RT-Thread和infineon PSoC™ 62 with CAPSENSE™ evaluation kit开发板,实现了一个简易的智能家居系统。
    发表于 07-22 14:56 365次阅读
    怎么设计一种基于<b class='flag-5'>RT-Thread</b>和infineon<b class='flag-5'>开发板</b>的智能家居系统?

    RT-Thread使用未默认启用的timer作为硬件定时器HWTIMER的步骤

    初学 RT-Thread,在 RT-Thread studio 环境下,使用手里的 nucleo_L476 开发板来学习 HWTimer 的使用,运行官方 HWTimer 例程。
    的头像 发表于 07-19 15:17 1002次阅读
    <b class='flag-5'>RT-Thread</b>使用未默认启用的timer作为硬件定时器HWTIMER的步骤

    教你手上没有开发板如何跑RT-THREAD STM32应用?

    首先打开 RT-Thread Studio,新建RT-Thread
    的头像 发表于 07-18 16:09 1042次阅读
    教你手上没有<b class='flag-5'>开发板</b>如何跑<b class='flag-5'>RT-THREAD</b> STM32应用?

    移植RT-Thread nano到CW32L083

    移植RT-Thread Nano到CW32L083开发板上,并成功运行。
    的头像 发表于 07-03 09:04 2.1w次阅读
    移植<b class='flag-5'>RT-Thread</b> nano到CW32L083

    支持RT-Thread最新版本的瑞萨RA2E1开发板终于要大展身手了

    支持RT-Thread最新版本的瑞萨RA2E1开发板终于要大展身手了
    的头像 发表于 05-16 15:30 530次阅读
    支持<b class='flag-5'>RT-Thread</b>最新版本的瑞萨RA2E1<b class='flag-5'>开发板</b>终于要大展身手了

    基于RT-Thread Studio学习

    前期准备:从官网下载 RT-Thread Studio,弄个账号登陆,开启rt-thread学习之旅。
    的头像 发表于 05-15 11:00 2569次阅读
    基于<b class='flag-5'>RT-Thread</b> Studio学习

    【正点原子STM32探索者V3开发板体验】体验RT-Thread 5.0.0版本

    图: 下载完成后,Build Output窗口中可以看到下载耗时信息: 3.3 运行RT-Thread项目 由于我们为调试设置了 Reset and run 选项,下载完成后会自动复位开发板 运行
    发表于 05-13 22:24