加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

【RT-Thread作品秀】基于物联网云平台的智能环境监测设计

2020/12/05
747
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
方块图(3)
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

【RT-Thread作品秀】基于物联网云平台的智能环境监测设计

作者:赵帅

概述

 

智能环境监测系统基于 STM32H7系列芯片开发,通过光照传感器温湿度传感器采集环境中的光照与温湿度数据,通过WIFI将系统采集到的环境数据实时的上传至物联网云平台,也可以通过PC端软件实时的监控环境数据。该系统适用于家庭、办公室、教室等场所的进行环境监控,该系统具有实时性高、功耗低,丢包率低,随时随地监控数据等特点,是一个实用的设计。

开发环境

下位机:

 

硬件stm32f407-atk-explorer

扩展板:DHT11温湿度传感器,BH1750光照传感器,板载AP6212 WIFI模块

RT-Thread版本:RT-Thread V 4.0.3

开发工具及版本:RT-Sudio

上位机

Qt版本:Qt5

开发工具:Qt Creator4.11.0

RT-Thread使用情况概述

 

内核部分:调度器,信号量,事件集

调度器:创建多个线程来实现不同的工作。

信号量:用来同步线程。

事件集:通知数据采集完成

组件部分:IIC框架, Sensor框架,SAL 套接字抽象层

IIC框架:驱动光照传感器,获取光照强度数据

Sensor框架:将温湿度传感器注册到sensor上。使用该框架提高了代码的复用性。

SAL 套接字抽象层:该组件实现了对不同网络协议栈或网络实现接口的抽象,并对上层提供一组标准的API接口,方便网络应用的开发与稳定性。

软件包部分:

cJSONC语言实现的极简的解析 JSON 格式的软件包。

Onenet RT-Thread 针对 OneNET 平台连接做的的适配,通过这个软件包,可以让设备在 RT-Thread 上非常方便的连接 OneNet 平台,完成数据的发送、接收、设备的注册和控制等功能。

pahomqtt,本软件包是在 Eclipse paho-mqtt 源码包的基础上设计的一套 MQTT 客户端程序。

Webclient提供设备与 HTTP Server 的通讯的基本功能。

硬件框架

 

使用stm32h7做为系统主控,通过外接dht11传感器、bh1750传感器来采集外界的温湿度数据与光照强度。

使用AP6211wifi模块,实现设备的联网,以及连接云平台的功能。

软件框架说明

 

下位机流程图:

上位机流程图:

上位机数据的获取是通过调用OneNet云平台的API接口来获取数据,因此需要使用HTTP协议。在QT中,QNetworkAccessManager类可以完成基于HTTP协议的数据传输。既可以向网络发送请求,也可以接收网络的应答。但是,具体的网络请求需要通过QNetworkRequest类实现,网络的应答通过QNetworkReply类来实现。在数据获取成功之后,通过调用QT中JSON相关的API函数,根据数据格式匹配出相应的环境数据。之后发送dataSignal()信号,执行setVallue槽函数将数据显示在用户界面上。通过定时器来定时发送get请求,实现数据实时更新的目的。流程图如下图所示。

软件模块说明

art_mqtt_init_entry:初始化 mqtt,初始化成功后,释放信号量,通知ArtOneNetUploadThread线程可以向OneNet发送数据。

art_onenet_upload_entry:线程接收到事件后,将数据发送至OneNet云平台

art_dht11_read_entry:温湿度数据采集线程,采集到数据后发送事件

art_bh1750_read_entry:光照采集线程,采集到数据后发送事件

演示效果

演示视频

  • 代码地址.rar
    描述:代码地址
  • 基于物联网云平台的智能环境监测设计.docx
    描述:说明文档

相关推荐

电子产业图谱