【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接口,方便网络应用的开发与稳定性。 软件包部分: cJSON:C语言实现的极简的解析 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:光照采集线程,采集到数据后发送事件 演示效果演示视频
2021-12-29 18:07:31 2.36MB 物联网 rt-thread qt应用程序 环境监测
1
群聊功能。使用java swing,socket,多线程实现。 1) 客户端用来接收和展示数据,服务器实现与底层数据的交互。 2) 实现服务器端与客户端的分离,如果要操作数据库,可以在服务器端改代码调用Model。 3) 实现用户上线/下线,客户端接收到服务器端发送的消息。 注意:压缩包内有运行效果图。
2021-12-28 14:50:23 15.15MB swing socket thread java
1
这是博文的附属链接,压缩包内容为将RT-Thread Nano移植到STM32F401CCU6 使用RT-Thread(后面简称RTT)是一次偶然的机会,之前并没有使用过嵌入式操作系统,一直使用前后台的方式实现单片机的程序处理,后来发现使用嵌入式操作系统真的很方便,尤其是在UI刷新和实时响应上有得天独厚的优势。当然,嵌入式操作系统有很多,秉承着支持国产的态度,我选择了RTT(其实RTT确实很厉害,在Keil中都可以直接下载其Nano版本),之所以这里讲关于Nano的移植,因为Nano非常小,虽然不支持一些Master版本的bsp外设,但是如果你手上的单片机根本就没有Master版本所提供的bsp,使用Master岂不是也没什么用。 ———————————————— 版权声明:本文为CSDN博主「@奔跑的蜗牛@」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_42348833/article/details/106421744
1
rt-thread+led+printf(基于CH32V307EVT开发板).rar
2021-12-25 09:02:25 23.44MB 沁恒微CH32V307
1
在现代物流的各个环节中,分拣系统是其中关键的一环。目前,并不能保证分拣机构精准高效地运行,时常会发生分拣错误,给物流及其相关领域带来了巨大的损失。文中设计了一种基于嵌入式技术的物流复检系统,以达到修复分拣错误的目的。该研究中针对目前常见的以条码作为分拣识别的分拣系统,在分拣的末端下线口处使用终端节点采集条码信息。终端节点移植实时操作系统RT-Thread作为软件平台,同时使用新型的Cortex-M7处理器来提供物质保障。终端节点使用高可靠性的CAN总线与主控节点交互。主控节点使用ARM-Linux架构,在研究中主要完成ARM-Linux的交叉编译开发环境的搭建、各种库和文件系统的制作、Linux内核的移植和所需驱动的开发,最终实现既定研究目标。
1
在linux下用socket的多线程通讯实现一个服务器和多个客户端之间的相互通讯。如果要实现多个和多个客户端通讯,则只需将里面的thread_client编译成多个文件即可。代码绝对是能用的~有什么疑问请留言~希望对大家伙有帮助
2021-12-22 18:42:49 4KB linux socket 多线程 thread
1
正点原子Apollo F767IGT6,使用RT-Thread的micropython插件做出的micro python工程
2021-12-21 15:14:08 87.27MB RT-Thread microp 正点原子Apollo
1
rt-thread+led+lwif+printf(基于CH32V307EVT开发板).rar
2021-12-20 17:02:50 28.63MB 沁恒微CH32V307
1
RT-Thread 嵌入式实时操作系统 API参考手册 多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等
2021-12-20 17:01:17 5.22MB RT-Thread API参考手册 开发必备
1
在次线程中输出系统时间,传递参数到str_time中,发出信号在主界面lineedit里显示系统时间
2021-12-20 15:10:20 7KB Qt 多线程 QObject thread
1