irpas技术客

基于STM32和阿里云的智能家居_小赵同学@_stm32 阿里云

网络投稿 1870

1.需求分析

人类的生活品质和科学技术的发展息息相关。人类居所从高山洞穴演变为现代社会的摩天大楼。最开始人们对住所要求只要能够简单地遮挡风雨即可,得益物联网技术、无线传感技术和互联网技术等技术的飞速发展,各种家用电器带来的便利已经无法满足人们的生活需求,由于对互联网依赖程度逐渐加深,现代人类通过移动终端远程对家用设备进行智能控制,为人们的日常生活带来了极大的便利,此举同时也加快了各类家用电器的“智慧化”变革以及智能家居的快速发展。 智能家居是物联网和互联网影响下物联化的体现。智能家居即智能住宅,智能家居系统实现的功能为:连接各种本属于不同领域的家庭设备协同高效工作、信息共享,构建集智慧性、舒适性、便利性、安全性和环保性为一体的现代住宅环境。与普通家居相比,智能家居系统提供家电控制、照明控制、电话远程控制、室内外遥控、防盗报警、环境监测、暖通控制、红外转发以及可编程定时控制等多种功能和手段,以达到节能环保为各种能源费用节约资金的目的。

2.功能描述 2.1功能描述

系统总体如图随时,智能家居系统通过各类传感器采集家居环境数据,由WIFI模块将环境数据通过MQTT协议发送到云端,通过Web界面实时监控数据,并可以通过Web界面发送指令给STM32单片机,实现对家居设备各硬件模块的控制管理。系统通过DHT11温湿度传感器和MQ空气质量传感器来检测家居环境数据并实时上报到云端

2.2所用模块简介 2.2.1 ESP8266WIFI模块

之所以采用ESP8266做为研发平台,主要是因为其超低成本,并且将处理器和WiFi芯片精致集成在一起,具有GPIO、PWM、12C、1-Wire、 ADC等功能,为开发者提供一套极具性价比的开发平台。ESP8266是一个完整且自成体系的Wi-Fi网络解决方案,能够搭载软件应用,也就是说可以将应用直接在ESP8266上运行,或通过另一个应用处理器进行业务逻辑处理,也可仅使用ESP8266的Wi-Fi网络功能(通常做为串口透传使用,目前淘宝上销售的大部分已经写入基于AT指令的串口转wifi固件的模块,方便直接连接单片机系统。 图2 ESP8266模块

2.2.2 DHT11温度传感器

DHT11是一款有已校准数字信号输出的温湿度传感器。 其精度湿度±5%RH, 温度±2℃,量程湿度20-90%RH,温度0~50℃。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。产品为4针单排引脚封装,连接方便。

图3 DHT11温湿度传感器

2.2.3 STM32

STM32F103C8T6是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装,属于ST公司微控制器中的STM32系列。除了被我们熟知的STM32,ST公司还有SPC5X系列、STM8系列等,具体参数如下:

图4 STM32F103C8T6

3.系统设计与实现 3.1 使用MQTT协议将ESP8266接入云平台

MQTT协议是一个面向物联网应用的即时通信协议,使用TCP/IP提供网络连接,能够对负载内容实现消息屏蔽传输,开销小,可以有效降低网络流量。 特点及功能: ?长连接协议 ?终端数据点上报,支持的数据点类型包括 ?整型(int) ?浮点数(float) ?字符串(string) ?JSON格式 ?二进制数据 ?平台消息下发 ?基于Topic的订阅、发布以及消息推送,可以实现设备间的消息单播以及组播 ?典型应用场景 MQTT协议适用于设备和平台需要保持长连接的使用场景,MQTT特点在于可以实现设备间的消息单播以及组播,可以不依赖于其他服务(下发命令服务,推送服务等)实现让设备以应用服务器的方式对真实设备进行管理和控制。 相关代码: 1.查看云平台所创建的产品信息,写进代码。 图5 将产品ID等信息写入代码

2.写入所连WIFI的名称及密码。

图6 写入WIFI名称及代码 3.对ESP8266模块进行初始化。

图 7 ESP8266模块初始化

云初始化参数,得到客户端ID,用户名和密码。 图 8 云平台初始化 3.2 阿里云平台

阿里云物联网平台是一个集成了设备管理、数据安全通信和消息订阅等能力的一体化平台。向下支持连接海量设备,采集设备数据上云;向上提供云端API,服务端可通过调用云端API将指令下发至设备端,实现远程控制。

3.2.1云平台的设置

1.创建产品

图9 创建产品 2.添加设备 图10 添加设备

3.产品信息 图11 产品信息

4.接收传感器数据 图12 接受传感器数据

3.3 Web界面的创建

1.启动界面 图13 启动界面

2.数据显示界面

绑定相关设备,配置相关数据后,即可通过Web界面实时查看并控制终端 图14 Web界面

4.总结

本次实训的项目是智能家居,智能家居系统通过各类传感器(光照强度、温湿度、空气质量)采集家居环境数据,由WIFI模块将环境数据通过MQTT协议发送到云端,通过Web界面实时监控数据,并可以通过Web界面发送指令给STM32单片机,实现对家居设备各硬件模块的控制管理。系统通过DHT11温湿度传感器和MQ空气质量传感器来检测家居环境数据并实时上报到云端。 通过此次实训,我们学到了很多的知识, ,学习了有关ESP8266WIFI模块、以及云平台的相关专业知识,了解了各个模块的基本原理以及各个模块分别可以实现什么功能。更重要的是学会了项目的开发流程,知道了项目的制作流程。这为我们今后的学习打下了坚实基础。实训过程中或多或少都出现了一些 问题,但通过查阅相关资料、与同学探讨等都一一得到了解决。通过对这门课程的学习,通过自己的动手实践,让我们学到的不仅仅是这一门学科的知识,更重要的是提高了我们自主解决问题的能力,以及团队合作能力,培养了我们认真严谨的学习态度,这些东西将使我们受益终身 学习专业知识还不能让我们完成项目,懂得理论知识并不代表就能在实际操作中游刃有余,恰恰相反的是,在实践中我们遇到的许多问题都不仅仅是靠理论知识能够解决的,往往靠的都是理论和实践相结合,只有将实际情况与理论知识做比较,在不断的实践中去发现解决问题的方法,这样才可以慢慢积累我们的经验,才能学到的更多。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #stm32 #阿里云 #由于对互联网依赖程度逐渐加深