掌桥专利:专业的专利平台
掌桥专利
首页

一种基于单片机的智能家居控制器设计方法

文献发布时间:2023-06-19 18:49:33


一种基于单片机的智能家居控制器设计方法

技术领域

本发明涉及C语言和JAVA语言编写工程程序,软硬件调试的方法,以及WiFi通信技术和相关通信协议等。

背景技术

科技飞快进步,家电设备也在与时俱进。现如今,市面上已经出现能接入互联网的家用电器设备,但是大量传统电器的控制方式主要还是通过遥控器一对一的进行控制。而且,在科技潮流的引领下,现代人的思维观念发生了转变,思想先进的人们已经不太满足于传统的手动控制家电的生活模式,而更渴望一种智能、安全、方便、高效节能、充满人文环境的生活模式。互联网企业公司的三大权威公司,百度,阿里巴巴,腾讯,纷纷表示看好智能家居的未来。可以预料,未来的互联网环境将会更加智能化、专业化的。在这种形势下,期待已久的智能家居手机控制端软件也就应时而生,它能够实现移动化、自动化和智能化管理家居电器设备。要实现智能家居控制,主要工作有以下两大方面:

(1)依据实际功能需求,选用适当的处理芯片和电子元件,对系统的硬件控制电路进行设计和制作。并且,根据系统各个模块的功能以及具体的工作流程,选取适当的开发环境上,开发相应的控制程序。

(2)对常用的Android开发技术进行研究,选择适合的技术方案,开发一个基于Android系统的与本设计配套的手机APP。

发明内容

为了克服上述现有技术的不足,本发明提出了一种基于单片机的智能家居控制器设计方法,由主控模块、WiFi模块和外围设备组成硬件控制系统,其中WiFi模块为通信传输装置,STM32单片机作为主控模块;支持联网的Android智能手机APP组成软件控制系统,一起来实现对智能家居的控制。

本发明所采用的技术方案是:

步骤1:系统上电之后,设计的配套手机APP通过它的无线网络功能与WiFi模块建立的网络服务器进行无线通信后,手机控制端向网络服务器发送HTTP访问请求,服务器接受到请求之后做出响应,向WiFi模块发送获取传感器数据或控制设备的指令;

步骤2:WiFi模块接受到传感器获取的数据或控制设备的指令后对其进行解析,通过串口向STM32单片机发送获取传感器数据或控制设备的指令;STM32主控模块控制驱动模块和传感器模块,其中传感器模块将采集到的环境中的数据值上传到STM32主控模块;

步骤3:STM32主控模块接受到获取传感器数据的指令后,就把传感器数据通过WiFi模块上传至网络服务器,网络服务器又通过HTTP协议将数据发送到手机控制端并显示;

步骤4:STM32主控模块接受到控制设备的指令后,就让相应的驱动模块做出响应。

与现有技术相比,本发明的有益效果是:

(1)在控制智能家居时,更方便,更快捷;

(2)单片机和手机APP的结合使得功能实现更加简单,可控性更强。

附图说明

图1为:整体方案设计框图。

图2为:UI界面设计的项目文件。

图3为:主线程与分线程之间传递消息的步骤。

图4为:手机控制端APP开发流程。

图5为:红外接收程序流程图。

图6为:用户登录模块设计流程图。

具体实施方式

下面结合附图对本发明进一步说明。

首先,思考要实现的控制功能,对整体的框架进行一个硬件控制系统的设计,和软件控制手机APP界面的设计,如图1、2所示。Android系统中存在局限性,可以直接操纵界面唯有主线程,分线程想要改动界面,需要采用其他方式,那么这就要用到多线程技术。Android系统内部提供了一种Handler+Message(异步消息处理机制)的多线程通信机制,通过结合Handler与Message可让主线程与分线程之间完成消息的传递,实现主线程与分线程通信的步骤如图3所示。手机控制端APP的开发流程按照图4进行,使用TCP协议将手机APP与网络服务器进行连接,并且还要完成测试数据的接受以及控制指令的发送。

红外接收方面,对红外信号的解码是由STC89C52单片机完成的,将红外接收引脚接在单片机P3.3引脚,该引脚不仅要接受红外信号,还要实现外部中断,程序需要一个文件实现红外通信检测,继而触发外部中断,具体流程如图5所示。

用户登录和注册模块设计流程图如图6所示。启动手机APP进入到登录界面之后,用户根据是否创建过账号来选择是登录账号还是注册账号。若用户是初次使用APP,需要新建一个账号,那么就要点击注册按钮进入到账号注册界面。在账号注册界面,按照要求填入用户自己设定的用户名和密码,并且需要再次确认设定的密码。如果用户两次密码输入不一致或是未全部填写用户名和密码,那么就会有相关的错误提示,只有全部无误地填写之后才算注册成功。

具体方法

(1)本发明采用STM32主控模块,除了要完成与WiFi模块之间的双向串口通信之外,还要处理传感器模块获取的环境数据,如温湿度、气体质量和人体红外检测结果,控制驱动模块,比如控制LED灯、加湿器和模拟空调的开关,以及对模拟空调温度的设定;

(2)手机控制端APP要能够完成向WiFi模块发送HTTP访问请求,并通过请求可以实现向WiFi模块发送控制指令和接受环境数据;为了能够保证用户在使用手机控制端APP时能够准确无误地进行控制命令的执行,当WiFi模块连接上手机端的无线网络后,手机控制端APP将采用TCP协议与网络服务器进行连接;在TCP连接的基础上,用HTTP技术来在客户端与服务器之间正确快速高效地传输数据或文档;

(3)将手机APP的各个功能模块的代码进行汇编;封装项目,生成APK程序包,将APK程序包安装至手机,然后将手机APP和硬件系统结合,对系统调试修整,直至可以正常使用。

本设计只完成了满足人们日常基本生活的一些功能,但是离未来智能家居的要求和发展还有很大的差距。因此,本设计还有些地方待改进,现提出以下几点改进:

(1)系统只能在局域内进行远程控制。若要实现长连接通信,比较复杂,需要用到云服务器,现如今一般会用像阿里云、百度云等这些云服务器。

(2)空气质量传感器对家居环境中的有害气体进行动态监测,应当添加一个报警设备,如果出现燃气泄露等情况,能够在手机客户端对用户进行醒目提醒。还应该设计能够自动拨通火警电话,自动播报家庭住址,由此可以避免燃气泄露情况给用户带来的财产损失与生命威胁。

(3)人体红外传感器主要是用于监测家居住宅中的入侵情况,应当设计若发现入侵情况时,能够自动拉响报警并且主动拨打电话的功能。

以上所述,仅为本发明的具体实施方式,本说明中所公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征或/和步骤外,均可以任何方式组合。

相关技术
  • 一种基于单片机的多计算机外设共享控制器的设计方法
  • 一种基于单片机和CH375的U盘读写控制器设计
技术分类

06120115707955