STM32F103C8T6开发板+机智云IoT+智能家居环境控制器
摘要:本文介绍了一种智能家居环境控制器,开发者设计基于STM32F103C8T6开发板,通过WIFI模块接入互联网,通过公有云—机智云AIoT作为服务器,与手机连接。在手机APP的操控下,实现远程温度、湿度及光照度的测量,同时远程控制家居中设备的开启和关闭。样机经过长时间测定,运行稳定可靠,具有良好的应用前景。
随着计算机技术、通信技术、网络技术的发展及互联网的日益普及,人们对传统的家居环境也提出了新的要求,人们在信息化社会中需要的不仅仅是舒适的居家环境,更需要一个智能化、信息化的智能家居系统,智能家居逐渐成为未来家居生活的发展方向。
然而,目前的智能家居系统配置较为复杂,添加设备繁琐,普通用户很难会使用。若能降低其操作难度,做到即插即用、提供在线升级的服务,新版本能够完全兼容老版本,这样极大地节约消费者的使用成本,使智能家居真正走进人们的日常生活。
本项目设计了一款智能家居环境控制器。通过家居环境控制器可以实时掌握室内环境的温度、湿度及光照度,并可以通过手机平台对温度进行远程调控,同时设计了远程开关,可以用手机远程控制家居中的有关设备。
1设计思路
(1)家居环境控制器终端设计。系统采用32位的微处理器STM32C8T6作为主控制芯片,**电路包括电源电路、串口通信电路、继电器电路、wifi通信电路等;程序开发基于MDK开发环境,实现数据采集、数据显示及无线通信等功能。(2)机智云系统的搭建。采用机智云的远程服务器实现数据点的搭建,完成数据点固件的生成,虚拟服务器的搭建,实现局域网和远程数据的传输,同时支持虚拟调试。(3)安卓手机平台搭建和应用开发。安卓手机应用程序的开发方案是根据实际的应用需求,设计出相应的用户界面。
2主要硬件电路设计
2.1结构框图
图1智能家居环境控制器硬件结构框图
智能家居环境控制器硬件结构框图如图1所示,主要由电源模块、STM32主控模块、温度检测模块、继电器模块和WIFI模块几个部分组成。电源模块提供其他各模块工作所需电源,STM32主控模块采用STM32C8T6芯片,它像大脑一样控制着**器件的运行,WIFI模块负责接入互联网,温度、湿度、光照度检测模块负责采集温度值,继电器模块是系统的执行机构,通过继电器的通断实现被控模块的工作。
2.2电源模块
为了保证产品工作稳定,在设计电源电路的时候,采用单片机主控模块和WIFI模块分别供电的方式,通过5V开关电源从220V市电接入,经过AMS1117稳压到3.3V,一路给单片机系统供电,一路给WIFI模块供电。
2.3STM32主控模块
STM32F103C8T6系统电路如图2所示。STM32F103C8T6是一款基于ARMCortex-M内核STM32系列的32位的微控制器,程序存储器容量是64KB,需要电压2V-3.6V,单片机外接8M晶振,在内部经过9倍倍频,以72MHz的频率工作[2]。WIFI模块采用esp8266芯片,如图3所示。ESP8266尺寸为5×5mm,WIFE模块需要**器件有10个电阻电容电感、1个无源晶振、1个flash。工作温度范围:-40~125℃。在本设计中,WIFI模块通过与STM32单片机的PA2和PA3连接,保持通信。
![](https://club.gizwits.com/data/attachment/forum/202206/15/182731h2kuretdwzujvw2t.jpg.thumb.jpg)
图2 STM32F013C8T6系统电路
2.4传感模块
温度检测传感器模块采用DS18B20芯片,湿度检测芯片采用DHT11芯片,光照度检测芯片采用BH1750。STM32单片机将采集到的串行的9~12位数字量经过换算得到温度值、湿度值及光照度值,然后定时发送给WIFI模块,然后通过网络将这些数据发到到服务器,服务器按照协议将温度、湿度、光照度信息通过网络发送到用户的APP,实现环境监测功能。
后期,根据需要还可以扩展其他检测模块,如烟雾检测模块、紫外线检测模块等。
2.5继电器模块
本设计共包含三个继电器模块,用于控制被控设备的通断。
3软件设计
系统的主程序流程图如图4所示。本项目中主程序在运行后首先完成系统初始化,然后调用相关的子程序来实现数据采集、数据显示、无线通信及继电器处理等功能。其中ESP8266模块实现温度数据和继电器开关量数据上传云服务器,同时接受手机APP的控制指令进行上传数据的控制,图5所示为手机APP测试界面。
图3WiFi模块
![](https://club.gizwits.com/data/attachment/forum/202206/15/182811kkcs4c660zvc0scs.jpg.thumb.jpg)
图4主程序流程图
图5手机APP测试界面
4 机智云服务器及手机系统的搭建
用户在开发者中心进行数据点的搭建,将自己所需的数据点创建起来通过服务器生成自己的特点的固件,每一个固件含有一个唯一的密钥,防止别人连接自己的设备进行误操作,同时也保护自己的信息安全。第一次进行数据连接时,需要在一个局域网的下进行数据的匹配,保证手机也是连接到局域网下面,这样,使用机智云APP就可以实现连接了。手机app信息实时回传到后台,后台返回控制信息,实现远程数据控制和局域网控制。
该设计使用独特的配网方式,使用一键式配网功能,简化了大量的繁琐的步骤实现快速配网快速使用,一般的设备在断网之后就无法实现远程控制,有的设备只能实现局域网控制,而这款设计的采用的是分布式配网方式,及时在主网没有信号使也可以实现自动搜索默认的网络。同时支持两个备用网络实现远程控制,防止主网断电之后设备远程控制无效,一般的智能家居设备都会出现因为使用寿命或者突发情况导致设备死机,该设计拥有独特的看门狗设计防止设备死机WiFi模块的固件拥有独特的喂狗指令,一旦WIFI模块和单片机出现信息交换失败,WiFi模块的指令配合硬件实现0.5s重启,从而有效的避免了因为设备死机导致的其他的问题。5 结语
本设计完成的智能家居环境控制器,使用户实时掌握室内环境的温度、湿度及光照度,并可以通过手机平台对温度进行远程调控,同时设计了远程开关,可以用手机远程控制家居中的有关设备。样机经过长时间工业测试,系统运行稳定可靠,具有良好的应用前景。
关键词:
智能家居
STM32
app开发