[作品提交] 基于STM32MP157D-DK1的智慧家居控制器

DDZZ669   2024-1-7 23:09 楼主

 

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

 

作者:码农爱学习(DDZZ669)   

一、作品简介

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

1.png

图 1 作品照片

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

 

二、系统框图

本项目的系统结构如下:

2.png

图 2 系统结构图

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

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

 

三、各部分功能说明

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

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

图 3 主操作界面

3.1城市天气显示

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

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

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

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

4.png

图 4 天气信息界面

3.2室内温湿度显示

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

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

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

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

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

5.jpg

图 5 温湿度信息界面

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

6.jpg

图 6 实时温度曲线图

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

7.jpg

图 7 实时湿度曲线图

3.3家居电器控制

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

 
 

 

20240107141013.png

 

 

图 8 家中电器控制界面

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

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

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

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

20240107141020.png

 

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

3.4视频监控

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

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

10.jpg

图 10 视频监控界面

3.5音乐&视频娱乐

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

11.jpg

图 11 音乐播放器界面

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

12.jpg

图 12 音乐列表

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

13.jpg

图 13 视频播放器界面

3.6时钟

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

14.jpg

图 14 时钟界面

四、作品源码

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

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

源码结构

 

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

15.png

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

16.png
  • 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, 2024-1-7 23:04 上传)
基于STM32MP157D-DK1的智慧家居控制器.pdf (2.3 MB)
(下载次数: 4, 2024-1-7 23:04 上传)

 

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

回复评论 (7)

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

在爱好的道路上不断前进,在生活的迷雾中播撒光引
点赞  2024-1-8 17:29
引用: 秦天qintian0303 发表于 2024-1-8 17:29 杭州没有暖气,这屋内只有16度,这的多么冷啊  

还好,还好

点赞  2024-1-8 22:16

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

点赞  2024-1-9 07:10
大佬 资源链接无效,麻烦大佬更新一下
点赞  2024-1-9 21:35
引用: qiao--- 发表于 2024-1-9 21:35 大佬 资源链接无效,麻烦大佬更新一下

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

点赞  2024-1-9 22:19

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

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

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

@lightxixi

 

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

点赞  2024-1-11 08:30

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

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

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

这里没有显示在审核:

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

 

 

点赞  2024-1-14 13:54
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复