【毕设】基于 GSM 的家用电器开关控制系统的设计 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 【毕设】基于 GSM 的家用电器开关控制系统的设计

简介:基于GSM手机网络平台的家居控制系统

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2022-03-31 16:17:17
更新时间: 2022-05-20 22:13:18
描述

基于GSM 的家用电器开关控制系统的设计

一:毕业任务设计要求

       课题提出的在智能家居以及智能手机广泛普及的大背景之下,以时下相当流行的智能家居作为切入点,提出一种基于GSM智能手机的具有远程监视和远程控制功能的智能家用电器开关控制系统。

       基于GSM手机网络平台的家居控制系统,具体要求如下:

    (1)以GSM手机网络为平台,远程查询四路家用电器的开关信息。

    (2)用户电话查询,系统通过短信将家用电器的开关信息发送给用户终端。

    (3)用户可以通过发送短信方式,控制四路家用电器的开和关状态。

    (4)家中的四路家电用集中控制方式,在无远程控制时,构成集中控制系统,可以利用安卓手机,实现遥控开和关的功能。

    (5)开关的控制用继电器控制,继电器电流10A。

IMG_256

图1设计流程图解释

二:设计方案

电源上:采用的海凌科HLK-10M05超小型系列模块电使使用家用220V电转换为V直流电,后级电路采用UTC(友顺)3.3V LDO进行降压为单片机和继电器提供工作电压。提供了提供各种的各级工作电压。

主控上:选择STM32LO53C8T6单片机3个UART满足系统设计需求。其它多余的口,扩展其他功能。

GSM模上:选择SIM900A。使用4G手机卡。选择这个模块原因还是因为支持4G手机卡方便。

继电器模块上:选择淘宝四路继电器,选择低电平触发。

按键开关输入设计上:使用轻触式按键开关 12*12mm 圆形微动开关,买回来自己设计电路板自己焊接。

图2设计方案示意图

三:程序设计

系统初始化包括:GPIO的初始化、串口初始化等。初始化完成后进入模组通讯程序,紧接着进行离线按键的处理程序。如果系统接受到短信和电话,则进行短信和电话数据处理程序。

我这里就介绍重要的程序流程图,其他简单的代码想必在座的各位都会就不献丑了。

wps

系统总体流程图

第一步:使用STM32CubeMX初始化代码程序。赋予配置各个GPIO口来满足功能需求配置。

其次选择合适的时钟频率,选择内部时钟频率16MHz,开发板是有8MHz晶振的不过没有还是使用内部晶振了。

串口通讯程序和AT指令发送函数我就介绍了想了解的详细的参考立创EDA这个视频,我就是按照这个修改的。

链接    https://www.bilibili.com/video/BV1eV411t7fn?p=28

这是我理解的串口发生函数

串口具体实现的具体流程是当 USART1 接受到电脑发送过来的调试信息,进入串口 1 中 断,等待数据发送结束,单片机将接受到的数据通过串口 2 发给 GSM 模组。模组将数据通 过串口 2 发送单片机后单片机将数据转发给电脑。实现了电脑对模组进行 AT 指令调试。方 便了后期的 AT 编写的调试过程。

 

这是我AT指令发生函数

上两个程序实现实现了单片机和模组之间高效的AT指令控制。同时电脑端也能接受到模组返回的调试信息。我设计的模块信息判别程序中包括、短信电话数据处理程序、短信通讯识别程序、短信发送程序。

实现就是调用上面个函数,提供封装的uint8_t Send_Cmd(uint8_t *Cmd,uint8_t Len,char *recdata)执行的。具体的实现的功能看我演示视频。

该子程序首先是对 GSM 模块发送过来的 AT 命令进行解析。当电话打入 GSM 模块时, 模组会通过 AT 指令返回单片机“RING”字符,当单片机接受到该字符等待 5 秒挂断来拨电 话后,读取系统状态将系统信息通过短信发送到预设的手机上,当接受收到的指令不是电话 时。单片机检测 GSM 模块是否接受到了短信,检测到“+CMTI: "SM",XXX”字符时则读取 该位置的短信信息。同时识别短信中是否存在设置的指令如接收到“查询”指令短信时,则 读取系统状态将系统信息通过短信发送到预设的手机上。如不是“查询”短信时候,则检测 其他指令。如:检测到“插座全部打开”指令时,则打开全部继电器。

 

 

语言识别程序还没完善,完善后发出来。目前只实现了语言识别,串口通讯没有完成。

四:控制指令

支持的指令如下

用户操作

指令内容

系统执行动作

打电话查询电器开关状态

\

发送系统电器开关状态信息

短信查询电器开关状态

查询

发送系统电器开关状态信息

短信控制电器开关状态

打开插座一

打开继电器一

关闭插座一

关闭继电器一

打开插座二

打开继电器二

关闭插座二

关闭继电器二

打开插座三

打开继电器三

关闭插座三

关闭继电器三

打开插座四

打开继电器四

关闭插座四

关闭继电器四

注:指定用户接受短信。

五实物演示

演示视频:毕业设计-基于GSM的家用电器开关控制系统的设计_哔哩哔哩_bilibili

设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
序号 文件名称 下载次数
1

主函数.txt

71
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP