1261|7

291

帖子

5

TA的资源

纯净的硅(中级)

楼主
 

基于STM32MP157D-DK1的智慧家居控制器 [复制链接]

  本帖最后由 DDZZ669 于 2024-1-7 23:09 编辑

 

基于STM32MP157D-DK1的智慧家居控制器

 

作者:码农爱学习(DDZZ669)   

一、作品简介

本项目为基于STM32MP157D-DK1的智慧家居控制器,用到的板卡为ST的STM32MP157D-DK1开发板,其芯片为STM32MP157,具有2个A7内核和1个M4内核。作品的实物照片如下:

图 1 作品照片

智慧家居控制器的界面拟采用Qt设置,外接HDMI显示器作为交互屏幕,再外接温湿度传感器(或通过无线节点接收温湿度数据)、摄像头等外设,实现如网络天气展示、室内温湿度展示、家中电器控制、安防监控、音乐视频播放娱乐等功能。

 

二、系统框图

本项目的系统结构如下:

图 2 系统结构图

主控为STM32MP157,内含两个A7核和一个M1核。A7核运行Linux系统,实现Qt界面程序的运行,摄像头数据的采集等,与无线节点进行TCP通信灯;M4核运行裸机系统或RTOS系统,可用于外接传感器以及外接家中电器的控制开关;A7核与M4核采用OpenAMP通信框架实现异核通信。

此外,STM32MP15D-DK1板块通过插入网线可连接互联网,实现互联网信息(网络天气、网络时间等)的获取;通过家中的路由器,又可与其它无线节点进行通信,例如与温湿度节点通信,可获取温湿度数据,与灯、风扇灯无线节点通信,可控制其开关。

 

三、各部分功能说明

本项目的功能,主要通过屏幕上的操作界面来呈现,目前可展示的功能包括:

  • 网络天气信息的展示(展示当前城市当天的天气、未来7天的天气等)
  • 家中温湿度的展示(当前温度湿度、历史数据曲线图)
  • 家中电器的控制(灯的控制、风扇的控制)
  • RGB氛围灯的颜色调节控制
  • 摄像头监控(USB摄像头)
  • 音乐播放(播放本地音乐、歌词展示灯)
  • 视频播放(播放本地视频)
  • 时间显示(时钟形式)

图 3 主操作界面

3.1城市天气显示

STM32MP157D-DK1插入网线,可以连接互联网来实现对网络天气信息的获取。

通过http协议获取指定城市的天气数据,包括今天的天气类型,最高最低温度,以及最近7天的天气等。原始数据是json格式的,需要从json数据中解析出天气、温度等信息,然后将这些信息显示到屏幕中。

最终的Qt天气界面如下,点击主界面的天气图标即可进入到如下的天气界面。

上半部分为今天的天气,下半部分为近7天的天气(通过左右滑动可查看后面的天气),通过左上角的返回按钮可回到主界面。

图 4 天气信息界面

3.2室内温湿度显示

除了显示不同城市的天气数据,家庭环境中的温湿度也值得我们关注,考虑有两种方案实现温湿度数据的采集:

方案一:M4核通过IIC接口外接DHT11温湿度传感器采集数据,再通过OpenAMP通信机制将数据发给A7核,最终在Qt界面展示温湿度数据。

方案二:通过无线节点(如ESP8266)外接DHT11温湿度传感器,将数据通过无线TCP直接发送给A7核,最终在Qt界面展示温湿度数据。

由于开发时间紧张,OpenAMP通信机制还在学习中,而方案二的无线方式也更新灵活,本项目目前采用方案二的无线通信方式。

温湿度数据展示的Qt界面如下,STM32MP157D在连接到ESP8266无线节点获取到实时的温湿度数据后,可以显示实时的温度和湿度,如下:

图 5 温湿度信息界面

另外,温湿度的历史数据,可以通过曲线图展示变化趋势,这是温度曲线:

图 6 实时温度曲线图

这是湿度曲线(人为触摸温湿度传感器制造变化数据):

图 7 实时湿度曲线图

3.3家居电器控制

家居电器的控制界面设计如下,目前设计了灯的控制和风扇的控制:

 
 

 

 

 

图 8 家中电器控制界面

家中电器的控制,与刚才介绍的温度度传感器类似,也可以考虑两种方案:

方案一:家中电器的控制开关与STM32MP157的M核所控制的引脚相连,A核上运行的Qt操作指令通过异核通信将执行发给M核来控制电器开关。

方案二:家中电器与无线节点(如ESP8266)相连接,Qt操作指令通过无线通信将指令发给无线节点来控制电器开关。

除了简单的开关控制,家中可能还会有RGB氛围灯需要控制,这里也设置了颜色调节操作界面,如下:

 

图 9 RGB氛围灯颜色调节界面

3.4视频监控

智能家居系统中,视频监控的功能也是必不可少的,本项目通过外接USB摄像头,实现视频监控功能,可以实时查看摄像头的画面。

设计的Qt显示界面和实际的演示效果如下:

图 10 视频监控界面

3.5音乐&视频娱乐

设计了音乐播放器和视频播放器,用于智慧家居中的娱乐功能。音乐播放器的界面如下,具有基础的音乐播放、上一首下一首切换、歌词展示等。

图 11 音乐播放器界面

右下角可展开音乐列表子界面:

图 12 音乐列表

下面是设计的视频播放器的界面:

图 13 视频播放器界面

3.6时钟

设计了一个钟表形状的时钟,通过获取Linux系统实际,可展示当前的时间:

图 14 时钟界面

四、作品源码

源码已上传EEWord下载中心,资源名称:

链接:https://download.eeworld.com.cn/detail/DDZZ669/630690

源码结构

 

主体代码采用Qt编程,运行在STM32MP157的A7核的Linux系统中,源码位于01-stm32mp157_qt目录中。

该Qt程序内含多个功能,通过子文件夹分类存放:

  • App/QtUi/Skin/MyApp.pro:主体框架部分
  • Weather:网络天气功能代码
  • DHT11:温湿度功能代码
  • LEDFan:电器控制功能代码
  • RGBLed:RGB氛围灯代码
  • USBCamera:USB摄像头代码
  • MusicPlayer:音乐播放器代码
  • VideoPlayer:视频播放器代码
  • Clock:时钟代码

ESP8266作为无线节点,外接DHT11温湿度传感器采集数据,通过TCP发送给STM32MP157。

ESP8266采用Arduino编程,源码位于02-dth11tcp目录中。

 

五、作品功能演示视频

演示视频:基于STM32MP157D-DK1的智慧家居控制器

视频链接1:https://training.eeworld.com.cn/video/38948

视频链接2:https://www.bilibili.com/video/BV1V94y1u7EK

六、项目总结

本项目为基于STM32MP157D-DK1的智慧家居控制器,通过外接HDMI显示器作为操作屏幕,通过编写Qt程序实现智能家居的整体界面,外接摄像头、传感器、与无线节点通信等,实现具体的数据获取与各种控制功能、信息服务功能等。

在整个项目开发中,学习了STM32MP157这款芯片的使用。STM32MP157D-DK1具有ARM A7和Cortex M4双核架构,A7的开发过程中,首先学习了固件烧录,为了进行Qt开发,重新编译了具有Qt功能的系统源码和SDK,从而继续实现Qt程序的开发。M4核的开发过程中,学习了STM32CubeIDE的使用与基础的点灯程序编写,关于A7核与M4核的通信还在学习中。

在开发学习中,将一些开发经验通过文章的形式分享,链接如下:

【DigiKey创意大赛】STM32MP157D-DK1开箱

【DigiKey创意大赛】STM32MP157D固件烧录

【DigiKey创意大赛】STM32MP157D构建Qt镜像

【DigiKey创意大赛】STM32MP157D Qt程序编译运行

【DigiKey创意大赛】STM32MP157D M核程序开发

七、其他

文档下载:
基于STM32MP157D-DK1的智慧家居控制器.doc (15.03 MB, 下载次数: 7)
基于STM32MP157D-DK1的智慧家居控制器.pdf (2.3 MB, 下载次数: 4)

 

最新回复

大佬这是把STM32MP157用得出神入化了。 QT开发的界面,相当的惊艳啊! 这个作品,实用性非常非常高,EE要不要帮大佬,给直接落地产品了。 @lightxixi   另外,还看到了一块Uno R4:)   详情 回复 发表于 2024-1-11 08:30
点赞 关注(1)
 
 

回复
举报

6533

帖子

9

TA的资源

版主

沙发
 

杭州没有暖气,这屋内只有16度,这的多么冷啊  

点评

还好,还好  详情 回复 发表于 2024-1-8 22:16
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

291

帖子

5

TA的资源

纯净的硅(中级)

板凳
 
秦天qintian0303 发表于 2024-1-8 17:29 杭州没有暖气,这屋内只有16度,这的多么冷啊  

还好,还好

 
 
 

回复

7042

帖子

11

TA的资源

版主

4
 

又见大佬神一般的作品,期待大佬能拿到好的排名!

 
 
 

回复

248

帖子

0

TA的资源

纯净的硅(初级)

5
 
大佬 资源链接无效,麻烦大佬更新一下

点评

显示还在审核中,审核完链接应该会自动生效  详情 回复 发表于 2024-1-9 22:19
 
 
 

回复

291

帖子

5

TA的资源

纯净的硅(中级)

6
 
qiao--- 发表于 2024-1-9 21:35 大佬 资源链接无效,麻烦大佬更新一下

显示还在审核中,审核完链接应该会自动生效

 
 
 

回复

330

帖子

5

TA的资源

纯净的硅(中级)

7
 

大佬这是把STM32MP157用得出神入化了。

QT开发的界面,相当的惊艳啊!

这个作品,实用性非常非常高,EE要不要帮大佬,给直接落地产品了。

@lightxixi

 

另外,还看到了一块Uno R4:)

 
 
 

回复

291

帖子

5

TA的资源

纯净的硅(中级)

8
 

作品源码显示已审核,但还是点不开,管理员帮忙看下什么情况哈 @lightxixi

资源名称:基于STM32MP157D-DK1的智慧家居控制器-项目源码

链接:https://download.eeworld.com.cn/detail/DDZZ669/630690

这里没有显示在审核:

点击进入又显示审核中:
消息通知中显示已审核:
“点击此处查看详情”是这个界面:

 

 

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表