基于ESP8266的智能家庭检测系统

基于ESP8266的智能家庭检测系统

利用空暇时间,做了一个软硬件结合的项目,项目结束了,写篇文章来记录下吧!

绪论

项目背景

时代的发展日新月异,在科学技术进步飞快的今天,万物互联,实现智能化已成为当今时代的主题元素,物联网应用场景层出不穷,而其中实现家居智能化的智能家居产业最为贴近人们的衣食住行。
智能家居作为物联网时代的产物,贯穿了互联网技术、通信以及物联网技术,对家庭进行监测以及相关的控制,智能家居的不断发展已经极大简单化、便利化了人们的日常生活。因此,本文尝试打造一套智能家庭检测系统,实现家庭检测预警以及便利化的智能控制。另外,本文针对的智能家庭检测系统不仅可以便利化老百姓的日常生活,而且对物联网开发者也具有一定的参考价值。

项目方法

本文针对的智能家庭检测系统通过利用具有WiFi功能的ESP8266 NodeMcu CP210X系列开发板以实现通信和控制功能。该物联网开发板搭配了温湿度传感器、火焰报警传感器、人体感应模块、雨滴传感器、舵机、直流电机、双路电机驱动模块以及LED,设计并完成了一套智能家庭检测系统。
该系统中,通过Arduino IDE开发技术对集成了WiFi功能以及单片机功能的ESP8266 NodeMcu开发板进行开发,以实现检测控制以及通信功能,并且通过MQTT协议实现对MQTT服务器(本文采用的是然也物联服务平台)进行主题信息的接收、存储以及发送。另外,ESP8266芯片的WiFi频段属于2.4GHz,故在上电启动后将自动连接相同频段的家用WiFi或者手机热点。连接WiFi成功后,将建立与MQTT服务器的连接。在连接MQTT服务器成功的情况下,ESP8266芯片、MQTT服务器以及手机端、电脑端将形成三点一线的信息传输架构,以实现通信功能。其中,除订阅发布传感器网络所得参数,也将利用HTTP协议通过HTTP API接口(本文采用的是天气数据API接口–心知天气服务平台)获取JSON格式的相关天气信息并进行解析传输至客户端。
在整个系统中,电脑WEB端、手机APP端、ESP8266 NodeMcu开发板既具有发送端设备的角色,也可作为接收端设备的角色。其中,电脑WEB控制台通过Node-Red开发技术实现控制台的搭建;手机APP利用的是然也物联平台提供的一站式设备接入和管理功能,从而搭建手机控制台。

应用场景

针对本系统,用户可以根据自己的需求进行应用场景的搭建。如下图所示,即为本文针对该系统自制的一套应用场景示例。
在这里插入图片描述
针对该系统,应用场景总共包括厨房场景、储藏室场景、卧室场景、阳台场景、客厅场景五大场景。
厨房场景:众所周知,厨卫安全是每个家庭都会关注的重点部分,一旦出现问题,很难想象会造成什么样的后果。本系统的搭建将会实时检测厨房场景下的火焰情况,并及时告知用户做出处理。用户可通过手机APP或以电脑WEB控制台的方式进行查询当前厨房情况。
储藏室场景:在人们的日常生活中,储藏室一般会安排在光线比较暗淡的地方,本示例系统针对这一情况,配置了感应LED,可以很好的为人们的进入提前消除黑暗,很大程度上减少了磕磕碰碰情况发生的可能性。
阳台场景:该系统应用在阳台场景下是一个智能晾衣架的设计,人们生活中经常存在上班前或者上学前晾晒好的衣服被突如其来的降雨淋湿的情况。雨水的降落我们不能控制,但我们可以控制我们的晾衣架。本系统针对此问题特别设计了智能晾衣架这一人性化的设计,足以解决上述问题带来的烦恼,是一个可以解决人们现实生活中实际问题的设计。
客厅场景:该示例系统针对客厅场景做出了温湿度的实时检测设计,该设计也可定制于其他用户需要的场景下。用户可以手机APP端或电脑WEB端实时查询室内温湿度情况,同时,针对温湿度这一影响人们体感舒适程度的情况,本系统还在此场景下搭建了智能风扇这一设计方案,用户可以远程进行智能风扇的控制,是一款比较舒心的设计。
卧室部分测试:源于人性化为出发点,本系统示例针对卧室场景,配置了壁灯,通过手机APP或电脑WEB控制台进行点亮,这一设计比较适用于儿童卧室,试想一下,加班工作的你在晚上早早的为孩子点亮一抹柔光将会是多么温馨的陪伴。

系统总体设计

ESP8266 NodeMcu

本系统中,ESP8266芯片以Wireless Station模式通过WiFi完成网络连接,实现无线通信,从而完成系统的通信工作。
在这里插入图片描述

心知天气API

本系统采用的是ESP8266 NodeMcu开发板进行整体系统功能实现,此开发板上嵌入具有WiFi功能的ESP8266芯片实现了数据的无线传输。ESP8266 WiFi芯片是一款体积小、功耗低的产品,同时其价格低廉这一实际特点比较容易得到用户的青睐。
本系统通过HTTP协议访问心知天气API实时获取相关天气信息,由于获取的信息格式是JSON数据格式,因此,需要对该数据格式进行解析,从而实现数据的正确交互。

MQTT协议

本系统采用然也物联平台提供的社区版MQTT服务。它提供面向个人用户的免费MQTT服务。它的服务端地址:iot.ranye-iot.net;MQTT端口:1883。本系统中ESP8266 NodeMcu作为设备One接入MQTT服务器;手机APP端作为设备Two接入MQTT服务器;电脑WEB端作为设备Three接入MQTT服务器。

MQTT系统架构

MQTT智能家庭检测系统架构,如下图。
在这里插入图片描述

详细设计与实现

系统硬件设计

该智能家庭检测系统硬件设计包括检测部分、反馈部分及存储部分。通过温湿度传感器、人体感应模块、火焰报警传感器、雨滴传感器检测器件获取相关数据参数,并送至ESP8266 NodeMcu开发板,并通过ESP8266芯片的WiFi通信功能实现数据上传至MQTT服务器进行存储。反馈部分主要有舵机、直流电机、感应LED。在触发时,感应器件会做出反应,同时也可通过手机APP、电脑WEB控制台发布主题信息至MQTT服务器,再传至ESP8266 NodeMcu实现各反馈模块的控制。该系统详细思路连接图,如下图所示。
在这里插入图片描述
系统硬件实物连接图,如下。
在这里插入图片描述

网关程序的实现

ESP8266 NodeMcu开发板具有WiFi连接功能,可作为网关。
网关程序实现流程设计,如下图所示。
在这里插入图片描述

HTTP API接口的实现

针对本系统中对心知天气HTTP API访问,ESP8266通过上文所述提供的API接口地址及端口号加以个人私钥对其进行访问,获取JSON数据格式的天气信息并对其信息格式进行解析。然后,传送至MQTT服务器,实现信息的云存储。最后,传送至用户端。如下图所示,即是ESP8266访问心知天气平台并传输至云端设计流程图。
在这里插入图片描述

控制台的搭建

手机控制台的搭建

手机APP利用的是然也物联平台提供的一站式设备接入和管理功能,从而搭建手机控制台。这没什么好说的,自己写个APP端也有好多工具可以利用。

电脑控制台的搭建

除手机检测控制之外,用户也可通过电脑WEB端进行检测控制。本系统中,网页控制台的搭建通过由IBM新兴技术服务团队构建的开源可视化物联网编排工具Node-RED进行开发,此开发工具可基于浏览器的流程编辑器连接设备、服务器和 API 应用。
通过Node-Red搭建WEB控制台,其中网页控制端的dashboard主页面布局。
在这里插入图片描述
如下图即为网页控制端主页面,用户也可以通过左侧菜单栏切换至任一场景下的单独信息监控界面。
在这里插入图片描述

系统测试

测试方案

本系统搭建完成后,对其进行整体测试。
测试方案将根据该系统所针对场景搭建的特性分为硬件测试方案和软件测试方案,硬件测试方案包括厨房测试部分、储藏室测试部分、阳台测试部分、客厅测试部分、卧室测试部分;软件测试方案主要为手机APP端和电脑WEB端控制台的测试。测试方案陈述如下。
厨房测试部分方案:针对系统接入的火焰检测传感器,通过打火机进行火焰模拟,检测是否可以及时在手机APP端和电脑WEB端显示火焰情况。
储藏室测试部分方案:针对系统接入的人体感应模块,搭配感应LED,检测是否在感应到人体变化时会触发感应LED将其点亮,同时是否将会在手机APP端和电脑WEB端实时显示人体感应模块所能检测范围的感应情况。
阳台测试部分方案:该场景下的智能晾衣架设计,用湿纸团模拟雨水,检测是否智能晾衣架会根据实际状况进行相应的反馈控制以及是否会进行用户端雨水天气状况的实时反馈。
客厅测试部分方案:该系统对客厅场景搭配了温湿度传感器用以检测是否可以实时检测温湿度检测值,并传送至MQTT服务器,最终显示至手机APP端及电脑WEB端。同时,针对该场景下的智能风扇,是否可以在手机APP端以及电脑WEB端进行正确控制。
卧室测试部分方案:该系统针对卧室场景下配置了壁灯,是否通过手机APP或电脑WEB控制台进行点亮。
控制台测试部分方案:手机APP端和电脑WEB端是否可以实时以及一定时间间隔订阅并显示系统相关主题参数以及相关天气信息。另外,是否可以根据实际情况进行主题信息的发布。

测试结果

本系统在测试的过程中,可能会出现很小的时延问题,但是这并不影响系统正常运行,如果更换更为灵敏的硬件模块可能会有更好的效果。总之,系统整体运行情况良好。如下图为手机APP端的测试效果图、图十九为电脑WEB端的测试效果图。
在这里插入图片描述
下图为电脑WEB端的测试效果图。
在这里插入图片描述

总结

本文针对家庭场景设计的基于ESP8266的智能家庭检测系统旨在便利化人们的生活,使人们少一些生活上不必要的担忧。从某方面来说,也将会间接的舒缓人们的心情。总之吧,本系统的制作达到了设计的最初目的。
以后继续努力,开发一些更有难度的软硬件项目。

猜你喜欢

转载自blog.csdn.net/MZYYZT/article/details/125245911