智能家居实现方案:基于RT-Thread和STM32的创新应用

31 下载量 188 浏览量 更新于2024-12-18 5 收藏 10.95MB ZIP 举报
1. 智能家居概述: 智能家居是物联网技术在家庭应用中的具体体现,它通过整合家庭网络、安全监控、能源管理、娱乐系统等,实现家居环境的智能化控制。本案例中,智能家居应用平台的构建以STM32系列微控制器为主芯片,利用RT-Thread操作系统来实现整个智能家居系统的稳定运行和数据交互。 2. 系统设计架构: 本智能家居应用平台由主控平台和网关平台组成。主控平台使用ART-PI开发板,以STM32H750XB为处理器核心,负责数据查询、参数设置、云平台交互等任务。网关平台则以STM32F407为核心,负责数据采集与处理,控制终端,同时实现与主控平台的CAN通讯以及WLAN数据交互。 3. 硬件组成: - 主控硬件包括:ART-PI开发板、ART-PI-DOCK扩展板、外设驱动等。 - 网关硬件包括:WT-19S42开发板、多种传感器(温湿度、电量、甲醛、PM2.5、烟雾、水浸报警、门锁状态)、执行器(加热、散热)、CAN通讯模块等。 - 开发环境和工具:MDK 5.27、CANTest、XCOM V2.0、VGUS2020、DGUS_V759-t5l等。 - RT-Thread版本:V 4.0.3。 4. RT-Thread操作系统使用: - 内核部分:包括调度器、信号量、消息队列、libcpu/BSP等。调度器用于创建多个线程实现工作分配;信号量用于线程同步;消息队列用于线程间数据传递;libcpu/BSP用于提供外设驱动。 - 组件部分:CAN框架、UART框架。CAN框架使用FDCAN2框架与网关平台交互,提高代码可重用性;UART框架用于与ART-PI-DOCK扩展板的数据交互。 - 软件包部分:cJSON、WebNet、Onenet。cJSON用于解析JSON格式数据;WebNet提供HTTP协议的Web服务器功能;Onenet提供OneNET平台的设备连接和数据交互。 5. 硬件框架总方案原理图: 硬件框架总方案原理图展示了主控平台和网关平台的组成。主控平台分为ART-PI开发板和ART-PI-DOCK扩展板,其中扩展板提供了多种通讯接口和人机交互功能。网关平台则集中了数据采集、处理和终端控制的硬件资源。 6. 主控平台和网关平台的功能与特点: - 主控平台主要负责对网关平台数据的查询、显示和参数设置。它具备丰富的外设接口,可接入WIFI、蓝牙等通讯模块。 - 网关平台作为数据采集和处理的中心,负责与各种传感器和执行器接口,执行主控平台下发的指令,并通过CAN通讯将状态信息反馈给主控平台。 7. 后续扩展性: 方案设计考虑到了实际应用中的扩展需求,可通过增加CAN网络设备或模块来实现更多智能家居功能,例如智能窗帘、CAN温湿度传感器、智能继电器、门禁系统、摄像头等。 8. 文件资源说明: - 基于RT-Thread的智能家居应用平台.docx:详细描述了整个平台的方案设计和实现方法。 - 图片文件:提供方案的原理图、软件流程图等辅助说明材料。 - DWIN_SET.rar:包含DWIN显示模块的设置文件。 - art_pi_dock SDWn工程320x480.rar:包含ART-PI-DOCK扩展板的屏幕显示工程文件。 - 代码地址.txt:提供相关代码的下载链接或详细地址。 以上知识点详细描述了基于RT-Thread的智能家居应用平台的电路方案设计、硬件组成、软件架构及扩展可能性,并提供了相关文件资源的说明,以供参考和学习。
718 浏览量
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:光照采集线程,采集到数据后发送事件 演示效果演示视频 代码地址(附件为代码地址,下载后打开可见)比赛感悟通过这次RT-Thread x STM32 全连接创意创客大赛,增加了我的实际动手能力。 在这次比赛中,通过 RT-Thread官网上的文档中心,让我学到了多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等知识点,也了解了多线程的编程技术。通过这次比赛,让我对这些知识点有了进一步的理解。 由于rt-thread提供了各种传感器相关的软件包支持,这是使我能够快速完成一个项目的重要原因。如果没有这些软件包,项目到开发将不会如此之快。感谢rt-thread社区提供的开源软件包。
595 浏览量
概述 智能家居系统主要基于RT-thread与ZigBee开发,该系统主要分为五大部分,ZigBee无线传感器监控子系统,语音识别子系统,总控子系统,网关子系统,云端监控子系统。ZigBee无线传感器子系统通过各个传感器节点采集数据,将采集的数据通过无线网络系统传递给协调器,由协调器与总控系统进行数据交换,以完成数据的传递。总控系统通过网络将数据上传至网络,用户就能在远程进行查家中的各种环境信息,实时掌握家中的最新动态。语音识别子系统可实现人机交互,实现家电设备的智能化控制。网关子系统有两大作用,一是提供整个系统的网络;二是搭载摄像头来采集视频数据,实施远程监控的功能。云端监控子系统主要用于统计分析家中环境信息,通过可视化的界面了解家中最新动态。总控子系统为整个智能家居系统的核心所在,协调各个子系统正常运转。 开发环境硬件:ART-Pi,ZigBee终端,STM32F103最小系统板,MT7628最小系统板 传感器:DH11传感器,LD3320语音识别模块,SYN6288语音合成模块等 RT-Thread版本:RT-Thread V 4.0.3 开发工具及版本: MDK:5.30 Ubuntu:1604 IAR:8.20 RT-Thread使用情况概述该智能家居系统有两个子系统采用了RT-Thread系统,分别是语音识别子系统,总控子系统。 语音识别子系统使用的是RT-Thread Nano,使用了多线程,移植了FinSH组件,方便了该子系统调试。 总控子系统采用了完整版的RT-Thread系统,内核部分使用了调度器,信号量等;驱动部分使用了UART、SPI、BT、WiFi等;协议栈使用了MQTT等。软件包部分使用了Onenet、cJSON等。 系统架构本文所提出的智能家居系统解决方案整体框架如图所示。通过技术论证和架构分析后,决定将系统划分为五个子系统:ZigBee无线传感器监控子系统,语音识别子系统,总控子系统,网关子系统,云端监控子系统。ZigBee无线传感器监控子系统通过各个传感器节点采集数据,将采集的数据通过无线网络系统传递给路由节点,再通过路由节点将收集的各个终端节点的数据进行二次传递给协调器,由协调器与总控系统进行数据交换,以完成数据的传递。总控系统通过无线网络将数据上传至网络,用户就能在远程进行查家中的各种环境信息,实时掌握家中的最新动态。语音识别子系统可实现人机交互,实现家电设备的智能化控制。网关子系统有两大作用,一是连接以太网;二是搭载摄像头采集视频数据,实施远程监控的功能。云端监控子系统主要用于统计分析家中环境信息,通过可视化的界面了解家中最新动态。总控子系统为整个智能家居系统的核心所在,协调各个子系统正常运转。 演示效果心得感悟通过本次比赛,我不仅丰富可项目实践经验,而且对RT-Thread有了深入的学习和理解,我学习了RT-Thread的多线程及其调度、信号量、邮箱、消息队列、内存管理等,外设驱动以及各个组件等相关知识。通过这次比赛的项目实践,我又积累了不少调试经验,丰富了我的知识体系。 最后感谢主办方提供了这么好的一个平台,让我有机会展示自己,还让我学到很多知识。希望在以后的自己里也能为RT-Thread开源社区贡献自己的力量。
582 浏览量
RT-Thread作品】基于RT-Thread智能家居-物联网作者:葫芦侠 概述(说明应用产生的背景、实现功能)智能家居是在互联网影响之下物联化的体现。智能家居通过物联网技术将家中的各种设备连接到一起,提供家电控制、照明控制、电话远程控制、室内外遥控、防盗报警、环境监测、暖通控制、红外转发以及可编程定时控制等多种功能和手段。与普通家居相比,智能家居不仅具有传统的居住功能,兼备建筑、网络通信、信息家电、设备自动化,提供全方位的信息交互功能。 本智能家居应用平台基于STM32F407和ESP8266为主芯片进行设计。主控平台以原子STM32F407开发板为核心,主要任务是通过以太网与设备节点和应用软件进行数据交互。 开发环境(所采用的软、硬件方案)硬件:原子STM32F407探索者、ESP8266、S17021、DS18B20、LED、130电机 RT-Thread版本:rt-thread-3.1.4 开发工具及版本:MDK 5.31,VS CODE,Qt Creator 4.11.1,NetAssist 4.3.26, UartAssist4.3.25 RT-Thread使用情况概述(简要总结下应用RT-Thread使用情况:内核部分、组件部分、软件包部分、内核、其他)(1)、内核部分:调度器,消息队列。 调度器:创建tcp连接线程。 消息队列:用来实现线程之间的数据传递。 (2)组件部分:网络框架 网络框架:使用tcp/ip建立服务端,用于设备节点和上层控制软件接入。 (3)软件包:Cjson 硬件框架(概述应用所采用的硬件方案框图,并对核心部分做介绍)硬件方案智能家居应用平台方案框图如下图所示。主要由三部分组成,分别是主控平台、节点平台应用软件平台。 系统介绍 主控平台平台与各个节点主控通信,主控通过网络控制和获取各个节点设备数据和状态。上位机应用软件通过网络发送数据到主控,获取设备状态和进行设备控制。 软件框架说明(介绍应用所采用的软件方案框图、流程图等,并加以解说)本项目采用的是STM32主控作为服务器,显示相关节点传感器数据。节点主控、上位机应用软件通过TCP/IP连接至主控。应用软件通过网络将指令发送到主控,主控将指令转发到节点主控,已达到设备控制。节点主控将采集到的数据通过网络发送到STM32主控,STM32显示相关数据,并将数据转发至上位机。 软件模块说明(介绍应用软件关键部分的逻辑、采用的实现方式等)主控平台软件: (1)4.3 TFFLCD (2)界面设计使用SteamWin (3)以太网 演示效果(演示效果请采用3张高清图片,并录制一段不少于1min视频解说应用所实现的效果,视频上传至B站或者腾讯视频或其他视频平台,给出链接即可视频: 比赛感悟(可以围绕这次比赛学到了什么,克服了哪些困难,有哪些收获,不低于200字)本次比赛发现自己的题目做大了,导致时间紧迫。需要完成STM32的代码,ESP8266代码,还有安卓代码。工作时,由于有大量的出差,导致项目一直不能按期推进。由于第一次使用rt-thread,调试多线程,网络、lcd显示花费大量时间。本来打算还要使用触摸屏,但是到最后发现时间已经不够了。由于屏幕使用了图片,下载调试速度慢,也花费了不少的时间。调试ESP8266使用vs code,编译下载特别慢,也花费了不少时间。三个平台之间的通信也是非常的耗费时间。 总之,作为一名技术人员,感觉调试花费的时间要比写代码花费的时间长。
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部